From a79bfc5158678afcd04177d26c327b8af57745f1 Mon Sep 17 00:00:00 2001 From: Piotr Kubaj Date: Fri, 1 Oct 2021 10:28:25 +0000 Subject: [PATCH] graphics/librsvg2-rust: fix build on big-endian patch-vendor_crossbeam-* patches are necessary on powerpc. They may be removed after Rust 1.56.0 is released, upstream for crossbeam* crates regenerates no_atomic.rs and those changes flow into ports. Same for the patch for builtns.rs (except that it also affects powerpc64le which is already in the upstream cfg_expr crate, but powerpc has not yet landed there). To fix build generally on big-endian (so powerpc and powerpc64 at the moment), merging https://gitlab.gnome.org/GNOME/librsvg/-/commit/92df18a3faf80c1d6d35899d9a5d22c74adfb8f8 is also necessary. --- graphics/librsvg2-rust/Makefile | 3 ++ graphics/librsvg2-rust/distinfo | 4 ++- ...ch-vendor_cfg-expr_src_targets_builtins.rs | 31 ++++++++++++++----- ...patch-vendor_crossbeam-epoch_no__atomic.rs | 10 ++++++ ...patch-vendor_crossbeam-utils_no__atomic.rs | 10 ++++++ 5 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 graphics/librsvg2-rust/files/patch-vendor_crossbeam-epoch_no__atomic.rs create mode 100644 graphics/librsvg2-rust/files/patch-vendor_crossbeam-utils_no__atomic.rs diff --git a/graphics/librsvg2-rust/Makefile b/graphics/librsvg2-rust/Makefile index efced9676ac02..1b8b19ca27af4 100644 --- a/graphics/librsvg2-rust/Makefile +++ b/graphics/librsvg2-rust/Makefile @@ -7,6 +7,9 @@ MASTER_SITES= GNOME PKGNAMESUFFIX= 2-rust DIST_SUBDIR= gnome2 +PATCH_SITES= https://gitlab.gnome.org/GNOME/librsvg/-/commit/ +PATCHFILES= 92df18a3faf80c1d6d35899d9a5d22c74adfb8f8.patch:-p1 + MAINTAINER= desktop@FreeBSD.org COMMENT= Library for parsing and rendering SVG vector-graphic files diff --git a/graphics/librsvg2-rust/distinfo b/graphics/librsvg2-rust/distinfo index 5fdea4e9dcbd0..8bcbb85704c0c 100644 --- a/graphics/librsvg2-rust/distinfo +++ b/graphics/librsvg2-rust/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1631578579 +TIMESTAMP = 1633082129 SHA256 (gnome2/librsvg-2.52.0.tar.xz) = bd821fb3e16494b61f5185addd23b726b064f203122b3ab4b3d5d7a44e6bf393 SIZE (gnome2/librsvg-2.52.0.tar.xz) = 23196792 +SHA256 (gnome2/92df18a3faf80c1d6d35899d9a5d22c74adfb8f8.patch) = 0fcdd9f890b93e0128bd2fd948ffbffdaa7fe888ba4ce066e14e4cc50d5444f4 +SIZE (gnome2/92df18a3faf80c1d6d35899d9a5d22c74adfb8f8.patch) = 10895 diff --git a/graphics/librsvg2-rust/files/patch-vendor_cfg-expr_src_targets_builtins.rs b/graphics/librsvg2-rust/files/patch-vendor_cfg-expr_src_targets_builtins.rs index 598b258fd972a..f1104339f7941 100644 --- a/graphics/librsvg2-rust/files/patch-vendor_cfg-expr_src_targets_builtins.rs +++ b/graphics/librsvg2-rust/files/patch-vendor_cfg-expr_src_targets_builtins.rs @@ -1,11 +1,30 @@ https://github.com/EmbarkStudios/cfg-expr/commit/f8c59a8dccd0 ---- vendor/cfg-expr/src/targets/builtins.rs.orig 2021-09-30 14:33:28 UTC +--- vendor/cfg-expr/src/targets/builtins.rs.orig 2021-09-16 01:15:26 UTC +++ vendor/cfg-expr/src/targets/builtins.rs -@@ -1004,6 +1004,16 @@ pub const ALL_BUILTINS: &[TargetInfo<'static>] = &[ - endian: Endian::big, +@@ -894,6 +894,16 @@ pub const ALL_BUILTINS: &[TargetInfo<'static>] = &[ + endian: Endian::little, }, TargetInfo { ++ triple: "powerpc-unknown-freebsd", ++ os: Some(Os::freebsd), ++ arch: Arch::powerpc, ++ env: None, ++ vendor: Some(Vendor::unknown), ++ family: Some(Family::unix), ++ pointer_width: 32, ++ endian: Endian::big, ++ }, ++ TargetInfo { + triple: "powerpc-unknown-linux-gnu", + os: Some(Os::linux), + arch: Arch::powerpc, +@@ -1002,6 +1012,16 @@ pub const ALL_BUILTINS: &[TargetInfo<'static>] = &[ + family: Some(Family::unix), + pointer_width: 64, + endian: Endian::big, ++ }, ++ TargetInfo { + triple: "powerpc64le-unknown-freebsd", + os: Some(Os::freebsd), + arch: Arch::powerpc64, @@ -14,8 +33,6 @@ https://github.com/EmbarkStudios/cfg-expr/commit/f8c59a8dccd0 + family: Some(Family::unix), + pointer_width: 64, + endian: Endian::little, -+ }, -+ TargetInfo { + }, + TargetInfo { triple: "powerpc64le-unknown-linux-gnu", - os: Some(Os::linux), - arch: Arch::powerpc64, diff --git a/graphics/librsvg2-rust/files/patch-vendor_crossbeam-epoch_no__atomic.rs b/graphics/librsvg2-rust/files/patch-vendor_crossbeam-epoch_no__atomic.rs new file mode 100644 index 0000000000000..cd51b49c17217 --- /dev/null +++ b/graphics/librsvg2-rust/files/patch-vendor_crossbeam-epoch_no__atomic.rs @@ -0,0 +1,10 @@ +--- vendor/crossbeam-epoch/no_atomic.rs.orig 2021-09-16 01:15:26 UTC ++++ vendor/crossbeam-epoch/no_atomic.rs +@@ -30,6 +30,7 @@ const NO_ATOMIC_64: &[&str] = &[ + "mipsel-unknown-none", + "mipsisa32r6-unknown-linux-gnu", + "mipsisa32r6el-unknown-linux-gnu", ++ "powerpc-unknown-freebsd", + "powerpc-unknown-linux-gnu", + "powerpc-unknown-linux-gnuspe", + "powerpc-unknown-linux-musl", diff --git a/graphics/librsvg2-rust/files/patch-vendor_crossbeam-utils_no__atomic.rs b/graphics/librsvg2-rust/files/patch-vendor_crossbeam-utils_no__atomic.rs new file mode 100644 index 0000000000000..d538925727c17 --- /dev/null +++ b/graphics/librsvg2-rust/files/patch-vendor_crossbeam-utils_no__atomic.rs @@ -0,0 +1,10 @@ +--- vendor/crossbeam-utils/no_atomic.rs.orig 2021-09-16 01:15:26 UTC ++++ vendor/crossbeam-utils/no_atomic.rs +@@ -30,6 +30,7 @@ const NO_ATOMIC_64: &[&str] = &[ + "mipsel-unknown-none", + "mipsisa32r6-unknown-linux-gnu", + "mipsisa32r6el-unknown-linux-gnu", ++ "powerpc-unknown-freebsd", + "powerpc-unknown-linux-gnu", + "powerpc-unknown-linux-gnuspe", + "powerpc-unknown-linux-musl",