Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Oct 2021 10:36:07 GMT
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: a79bfc515867 - main - graphics/librsvg2-rust: fix build on big-endian
Message-ID:  <202110011036.191Aa7qV096607@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a79bfc5158678afcd04177d26c327b8af57745f1

commit a79bfc5158678afcd04177d26c327b8af57745f1
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2021-10-01 10:28:25 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2021-10-01 10:28:25 +0000

    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 ++-
 .../patch-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(-)

diff --git a/graphics/librsvg2-rust/Makefile b/graphics/librsvg2-rust/Makefile
index efced9676ac0..1b8b19ca27af 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 5fdea4e9dcbd..8bcbb85704c0 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 598b258fd972..f1104339f794 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 000000000000..cd51b49c1721
--- /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 000000000000..d538925727c1
--- /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",



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202110011036.191Aa7qV096607>