Hi,

The following diff will enable lang/rust and all ports using rust on
sparc64 (Cc all maintainers).

- add sparc64 to RUST_ARCHS
- patches all ports using Rust to use a newer libc-rs with sparc64 support
- enable lang/rust build now ports has changed to copte with libc-rs

For ports using Rust, there are 3 cases:

- port using devel/cargo MODULES (devel/cbindgen, sysutils/exa,
  textproc/ripgrep, www/geckodriver, www/newsboat)

  the diff updates the targeted libc version (it is manual operation),
  and the use of MODCARGO_CRATES_UPDATE permits to tell cargo that we
  want to use updated libc crate (it will use the downloaded libc)

- port with vendored libc (security/suricata, x11/gnome/librsvg)

  the vendored libc is patched with a minimal patch, and a post-patch
  target remove the checksum on vendored libc.

- broken port (security/sn0int)

  the build fails for obscure reasons while configuring ring crate. If I
  have time, I will investigate later, but no need to block others ports
  to make progress.

The patch of libc-rs is necessary if the version is < 0.2.63. Else, it
will have sparc64 support.

I also added a `COMPILER = base-clang ports-gcc' line on several
ports. On some ports, rust links with c++ libraries, on others it needs
newer libgcc (for __bswapsi2 for example).

I built tested all these ports on sparc64, and ran the testsuite on
most of them. I also built few of them on amd64 to check the change of
libc-rs on it too.

firefox hasn't been considered for now: it is marked with
ONLY_FOR_ARCHS, and so not build on sparc64. It might be considered
later.

Comments or OK ?

Thanks.
-- 
Sebastien Marie


Index: infrastructure/mk/arch-defines.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/arch-defines.mk,v
retrieving revision 1.66
diff -u -p -r1.66 arch-defines.mk
--- infrastructure/mk/arch-defines.mk   8 Jul 2019 05:08:45 -0000       1.66
+++ infrastructure/mk/arch-defines.mk   21 Aug 2019 11:57:22 -0000
@@ -25,7 +25,7 @@ MONO_ARCHS = amd64 i386
 OCAML_NATIVE_ARCHS = i386 amd64
 OCAML_NATIVE_DYNLINK_ARCHS = i386 amd64
 GO_ARCHS = amd64 arm i386
-RUST_ARCHS = amd64 i386 aarch64
+RUST_ARCHS = aarch64 amd64 i386 sparc64
 
 # arches where the base compiler is clang
 CLANG_ARCHS = aarch64 amd64 arm i386 mips64
Index: lang/rust/Makefile
===================================================================
RCS file: /cvs/ports/lang/rust/Makefile,v
retrieving revision 1.100
diff -u -p -r1.100 Makefile
--- lang/rust/Makefile  16 Aug 2019 18:14:21 -0000      1.100
+++ lang/rust/Makefile  21 Aug 2019 11:57:23 -0000
@@ -1,8 +1,6 @@
 # $OpenBSD: Makefile,v 1.100 2019/08/16 18:14:21 semarie Exp $
 
-ONLY_FOR_ARCHS =       ${RUST_ARCHS} sparc64
-
-BROKEN-sparc64 =       others ports needs rust libc update
+ONLY_FOR_ARCHS =       ${RUST_ARCHS}
 
 .if "${MACHINE_ARCH}" == "i386"
 DPB_PROPERTIES =       lonesome
Index: devel/cbindgen/Makefile
===================================================================
RCS file: /cvs/ports/devel/cbindgen/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- devel/cbindgen/Makefile     12 Jul 2019 20:44:05 -0000      1.17
+++ devel/cbindgen/Makefile     21 Aug 2019 11:57:23 -0000
@@ -14,10 +14,14 @@ PERMIT_PACKAGE =    Yes
 # as devel/cargo MODULES adds DISTFILES, GH_* didn't
 DISTFILES +=           ${DISTNAME}${EXTRACT_SUFX}
 
+COMPILER =             base-clang ports-gcc
+
 MODULES =              devel/cargo
 
 CONFIGURE_STYLE =      cargo
 
+MODCARGO_CRATES_UPDATE +=      libc
+
 MODCARGO_CRATES +=      ansi_term       0.11.0  # MIT
 MODCARGO_CRATES +=      atty    0.2.11  # MIT
 MODCARGO_CRATES +=      autocfg 0.1.4   # Apache-2.0/MIT
@@ -27,7 +31,7 @@ MODCARGO_CRATES +=      clap    2.33.0  
 MODCARGO_CRATES +=      cloudabi        0.0.3   # BSD-2-Clause
 MODCARGO_CRATES +=      fuchsia-cprng   0.1.1   # LICENSE
 MODCARGO_CRATES +=      itoa    0.4.4   # MIT/Apache-2.0
-MODCARGO_CRATES +=      libc    0.2.58  # MIT OR Apache-2.0
+MODCARGO_CRATES +=      libc    0.2.63  # MIT OR Apache-2.0
 MODCARGO_CRATES +=      log     0.4.6   # MIT/Apache-2.0
 MODCARGO_CRATES +=      numtoa  0.1.0   # MIT OR Apache-2.0
 MODCARGO_CRATES +=      proc-macro2     0.4.30  # MIT/Apache-2.0
Index: devel/cbindgen/distinfo
===================================================================
RCS file: /cvs/ports/devel/cbindgen/distinfo,v
retrieving revision 1.12
diff -u -p -r1.12 distinfo
--- devel/cbindgen/distinfo     10 Jul 2019 07:56:08 -0000      1.12
+++ devel/cbindgen/distinfo     21 Aug 2019 11:57:24 -0000
@@ -7,7 +7,7 @@ SHA256 (cargo/clap-2.33.0.tar.gz) = UGf1
 SHA256 (cargo/cloudabi-0.0.3.tar.gz) = 
3fxbmqXUUHrK+HLecQUd/Q4wmGDoiWbhBR5GKgd6rE8=
 SHA256 (cargo/fuchsia-cprng-0.1.1.tar.gz) = 
oG931SbBpgG3xM3Zj1S16qv/wU1fLwKW/r3H81fG07o=
 SHA256 (cargo/itoa-0.4.4.tar.gz) = UBJmt+3QF0+FMCSPh/mciPvmDKTvPdSGg1uNjVMTb38=
-SHA256 (cargo/libc-0.2.58.tar.gz) = 
YoG4Z5a6XkNmAAvm6eGL81WArfnmP74ilKrbWHYToxk=
+SHA256 (cargo/libc-0.2.63.tar.gz) = 
15WDUCv/BSPhB8pE3TZv+AfGRCtKlMzvBDLH6E+FZYM=
 SHA256 (cargo/log-0.4.6.tar.gz) = yE7EtSeVCqg6MpdUsB2+P1g2HRxe+s0fbWjElNCKF8Y=
 SHA256 (cargo/numtoa-0.1.0.tar.gz) = 
uPi98z3xlYWQduVKsR7nihsgg4LTom7EDRQv/B7MSe8=
 SHA256 (cargo/proc-macro2-0.4.30.tar.gz) = 
zz0gEatckJM494h/T8iW01ky4pFGwSyNAdprIqgLp1k=
@@ -52,7 +52,7 @@ SIZE (cargo/clap-2.33.0.tar.gz) = 196458
 SIZE (cargo/cloudabi-0.0.3.tar.gz) = 22156
 SIZE (cargo/fuchsia-cprng-0.1.1.tar.gz) = 2950
 SIZE (cargo/itoa-0.4.4.tar.gz) = 11147
-SIZE (cargo/libc-0.2.58.tar.gz) = 409031
+SIZE (cargo/libc-0.2.63.tar.gz) = 437880
 SIZE (cargo/log-0.4.6.tar.gz) = 22303
 SIZE (cargo/numtoa-0.1.0.tar.gz) = 8999
 SIZE (cargo/proc-macro2-0.4.30.tar.gz) = 34731
Index: security/sn0int/Makefile
===================================================================
RCS file: /cvs/ports/security/sn0int/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- security/sn0int/Makefile    4 Jul 2019 06:58:28 -0000       1.3
+++ security/sn0int/Makefile    21 Aug 2019 11:57:24 -0000
@@ -1,6 +1,7 @@
 # $OpenBSD: Makefile,v 1.3 2019/07/04 06:58:28 sthen Exp $
 
 BROKEN-i386 =  error[E0428]: the name `U1024` is defined multiple times
+BROKEN-sparc64=        ring build-script error: called `Option::unwrap()` on a 
`None` value
 
 COMMENT =      semi-automatic OSINT framework and package manager
 
@@ -26,6 +27,8 @@ BUILD_DEPENDS =               lang/rust>=1.34 \
 RUN_DEPENDS =          net/libmaxminddb,-asn \
                        net/libmaxminddb,-city
 
+MODCARGO_CRATES_UPDATE +=      libc
+
 MODCARGO_CRATES +=     adler32 1.0.3   # BSD-3-Clause AND Zlib
 MODCARGO_CRATES +=     aho-corasick    0.7.3   # Unlicense/MIT
 MODCARGO_CRATES +=     ansi_term       0.11.0  # MIT
@@ -165,7 +168,7 @@ MODCARGO_CRATES +=  kuchiki 0.7.3   # MIT
 MODCARGO_CRATES +=     language-tags   0.2.2   # MIT
 MODCARGO_CRATES +=     lazy_static     1.3.0   # MIT/Apache-2.0
 MODCARGO_CRATES +=     lazycell        1.2.1   # MIT/Apache-2.0
-MODCARGO_CRATES +=     libc    0.2.54  # MIT OR Apache-2.0
+MODCARGO_CRATES +=     libc    0.2.63  # MIT OR Apache-2.0
 MODCARGO_CRATES +=     libflate        0.1.22  # MIT
 MODCARGO_CRATES +=     libsqlite3-sys  0.12.0  # MIT
 MODCARGO_CRATES +=     libz-sys        1.0.25  # MIT/Apache-2.0
Index: security/sn0int/distinfo
===================================================================
RCS file: /cvs/ports/security/sn0int/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- security/sn0int/distinfo    25 Jun 2019 10:50:03 -0000      1.1.1.1
+++ security/sn0int/distinfo    21 Aug 2019 11:57:25 -0000
@@ -137,7 +137,7 @@ SHA256 (cargo/kuchiki-0.7.3.tar.gz) = Sn
 SHA256 (cargo/language-tags-0.2.2.tar.gz) = 
qR2IS2ZnzWBrtaaaoMmbqBGhFfxokV5wVuwIpG6TGZo=
 SHA256 (cargo/lazy_static-1.3.0.tar.gz) = 
vFcp8n8Vnd1h9N9iKOgn6GZD1NPnwyGDyzChwI9gShQ=
 SHA256 (cargo/lazycell-1.2.1.tar.gz) = 
spTW+p7kCaBUNUr8Q1Kwue98oiLGm4gSy+qefSvzeD8=
-SHA256 (cargo/libc-0.2.54.tar.gz) = 
xnhap92Xb1+/O3HP2c1J1/eDwf9WWoWNcQMcbDE6pcY=
+SHA256 (cargo/libc-0.2.63.tar.gz) = 
15WDUCv/BSPhB8pE3TZv+AfGRCtKlMzvBDLH6E+FZYM=
 SHA256 (cargo/libflate-0.1.22.tar.gz) = 
xSOErrItDOgqENjd819/tHF9GyPqxblM040gUPtTdmo=
 SHA256 (cargo/libsqlite3-sys-0.12.0.tar.gz) = 
/WRXxwu/9FbZ/kneq6NexHw+WYv415UP8Fdc63qKatE=
 SHA256 (cargo/libz-sys-1.0.25.tar.gz) = 
LrXkM2LjjivKL9X1E0xNRWSiOlwo6blUEWUgIahnXr4=
@@ -518,7 +518,7 @@ SIZE (cargo/kuchiki-0.7.3.tar.gz) = 1739
 SIZE (cargo/language-tags-0.2.2.tar.gz) = 12754
 SIZE (cargo/lazy_static-1.3.0.tar.gz) = 10616
 SIZE (cargo/lazycell-1.2.1.tar.gz) = 11691
-SIZE (cargo/libc-0.2.54.tar.gz) = 401259
+SIZE (cargo/libc-0.2.63.tar.gz) = 437880
 SIZE (cargo/libflate-0.1.22.tar.gz) = 35923
 SIZE (cargo/libsqlite3-sys-0.12.0.tar.gz) = 2197131
 SIZE (cargo/libz-sys-1.0.25.tar.gz) = 650151
Index: security/suricata/Makefile
===================================================================
RCS file: /cvs/ports/security/suricata/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- security/suricata/Makefile  12 Jul 2019 20:49:37 -0000      1.22
+++ security/suricata/Makefile  21 Aug 2019 11:57:25 -0000
@@ -57,6 +57,11 @@ CONFIGURE_ARGS =     --disable-gccmarch-nati
 
 SUBST_VARS =           VARBASE SURICATA_V SUPDATE_V
 
+post-patch:
+       # permit patching libc-rs to support sparc64 (could be removed with 
libc>=0.2.63)
+       sed -i 's/"files":{[^}]*}/"files":{}/' \
+               ${WRKSRC}/rust/vendor/libc/.cargo-checksum.json
+
 post-install:
        ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/suricata/rules
        ${INSTALL_DATA} ${WRKSRC}/*.config ${PREFIX}/share/examples/suricata
Index: 
security/suricata/patches/patch-rust_vendor_libc_src_unix_bsd_netbsdlike_openbsdlike_openbsd_mod_rs
===================================================================
RCS file: 
security/suricata/patches/patch-rust_vendor_libc_src_unix_bsd_netbsdlike_openbsdlike_openbsd_mod_rs
diff -N 
security/suricata/patches/patch-rust_vendor_libc_src_unix_bsd_netbsdlike_openbsdlike_openbsd_mod_rs
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
security/suricata/patches/patch-rust_vendor_libc_src_unix_bsd_netbsdlike_openbsdlike_openbsd_mod_rs
 21 Aug 2019 11:57:25 -0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+add minimal sparc64 support
+could be removed with libc>=0.2.63
+Index: vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs
+--- rust/vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs.orig
++++ rust/vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs
+@@ -273,6 +273,11 @@ cfg_if! {
+     } else if #[cfg(target_arch = "aarch64")] {
+         mod aarch64;
+         pub use self::aarch64::*;
++    } else if #[cfg(target_arch = "sparc64")] {
++        pub type c_long = i64;
++        pub type c_ulong = u64;
++        pub type c_char = i8;
++        pub const _ALIGNBYTES: usize = 0xf;
+     } else {
+         // Unknown target_arch
+     }
Index: sysutils/exa/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/exa/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- sysutils/exa/Makefile       29 Jul 2019 15:39:35 -0000      1.6
+++ sysutils/exa/Makefile       21 Aug 2019 11:57:25 -0000
@@ -15,7 +15,8 @@ PERMIT_PACKAGE =      Yes
 DISTFILES +=           ${DISTNAME}${EXTRACT_SUFX}
 
 MODULES =              devel/cargo
-BUILD_DEPENDS =                lang/rust
+
+MODCARGO_CRATES_UPDATE +=      libc
 
 MODCARGO_CRATES +=     aho-corasick    0.7.3   # Unlicense/MIT
 MODCARGO_CRATES +=     ansi_term       0.12.0  # MIT
@@ -34,7 +35,7 @@ MODCARGO_CRATES +=    idna    0.1.5   # MIT/Apac
 MODCARGO_CRATES +=     iso8601 0.1.1   # MIT
 MODCARGO_CRATES +=     kernel32-sys    0.2.2   # MIT
 MODCARGO_CRATES +=     lazy_static     1.3.0   # MIT/Apache-2.0
-MODCARGO_CRATES +=     libc    0.2.51  # MIT OR Apache-2.0
+MODCARGO_CRATES +=     libc    0.2.63  # MIT OR Apache-2.0
 MODCARGO_CRATES +=     libgit2-sys     0.8.1   # MIT/Apache-2.0
 MODCARGO_CRATES +=     libz-sys        1.0.25  # MIT/Apache-2.0
 MODCARGO_CRATES +=     locale  0.2.2   # MIT
Index: sysutils/exa/distinfo
===================================================================
RCS file: /cvs/ports/sysutils/exa/distinfo,v
retrieving revision 1.3
diff -u -p -r1.3 distinfo
--- sysutils/exa/distinfo       29 Jul 2019 15:39:35 -0000      1.3
+++ sysutils/exa/distinfo       21 Aug 2019 11:57:25 -0000
@@ -15,7 +15,7 @@ SHA256 (cargo/idna-0.1.5.tar.gz) = OPCeD
 SHA256 (cargo/iso8601-0.1.1.tar.gz) = 
EdxGT4xvF1ldGRRHycZVkpiy0CPW+EakojrH6jxGxHc=
 SHA256 (cargo/kernel32-sys-0.2.2.tar.gz) = 
dQdiSylINDHAui2Crs6Mps26k4K/9N3Q90kFYMBWCY0=
 SHA256 (cargo/lazy_static-1.3.0.tar.gz) = 
vFcp8n8Vnd1h9N9iKOgn6GZD1NPnwyGDyzChwI9gShQ=
-SHA256 (cargo/libc-0.2.51.tar.gz) = 
vtzHqAkHZlZIb/4EWr7qwWPaG1WOljox4p+/vrqRaRc=
+SHA256 (cargo/libc-0.2.63.tar.gz) = 
15WDUCv/BSPhB8pE3TZv+AfGRCtKlMzvBDLH6E+FZYM=
 SHA256 (cargo/libgit2-sys-0.8.1.tar.gz) = 
lBpB4j93MjuMnS7hGK7J7jnfwXYHjBi0dX07rQSdn/c=
 SHA256 (cargo/libz-sys-1.0.25.tar.gz) = 
LrXkM2LjjivKL9X1E0xNRWSiOlwo6blUEWUgIahnXr4=
 SHA256 (cargo/locale-0.2.2.tar.gz) = 
X9vkkqnAI42pAKEWXEL8UGcWHOKSZ4pv6Akh8w/jB/0=
@@ -79,7 +79,7 @@ SIZE (cargo/idna-0.1.5.tar.gz) = 258735
 SIZE (cargo/iso8601-0.1.1.tar.gz) = 7770
 SIZE (cargo/kernel32-sys-0.2.2.tar.gz) = 24537
 SIZE (cargo/lazy_static-1.3.0.tar.gz) = 10616
-SIZE (cargo/libc-0.2.51.tar.gz) = 397323
+SIZE (cargo/libc-0.2.63.tar.gz) = 437880
 SIZE (cargo/libgit2-sys-0.8.1.tar.gz) = 1264574
 SIZE (cargo/libz-sys-1.0.25.tar.gz) = 650151
 SIZE (cargo/locale-0.2.2.tar.gz) = 18910
Index: textproc/ripgrep/Makefile
===================================================================
RCS file: /cvs/ports/textproc/ripgrep/Makefile,v
retrieving revision 1.14
diff -u -p -r1.14 Makefile
--- textproc/ripgrep/Makefile   12 Jul 2019 20:50:14 -0000      1.14
+++ textproc/ripgrep/Makefile   21 Aug 2019 11:57:25 -0000
@@ -20,6 +20,8 @@ MODULES =             devel/cargo
 BUILD_DEPENDS =                lang/rust>=1.20 \
                        textproc/asciidoc
 
+MODCARGO_CRATES_UPDATE +=      libc
+
 MODCARGO_CRATES +=     aho-corasick    0.6.8           # Unlicense/MIT
 MODCARGO_CRATES +=     arrayvec        0.4.7           # MIT/Apache-2.0
 MODCARGO_CRATES +=     atty    0.2.11          # MIT
@@ -42,7 +44,7 @@ MODCARGO_CRATES +=    glob    0.2.11          # MIT/Ap
 MODCARGO_CRATES +=     fuchsia-zircon-sys      0.3.3           # BSD-3-Clause
 MODCARGO_CRATES +=     itoa    0.4.2           # MIT/Apache-2.0
 MODCARGO_CRATES +=     lazy_static     1.1.0           # MIT/Apache-2.0
-MODCARGO_CRATES +=     libc    0.2.43          # MIT/Apache-2.0
+MODCARGO_CRATES +=     libc    0.2.63          # MIT/Apache-2.0
 MODCARGO_CRATES +=     lock_api        0.1.3           # Apache-2.0/MIT
 MODCARGO_CRATES +=     log     0.4.5           # MIT/Apache-2.0
 MODCARGO_CRATES +=     memchr  2.0.2           # Unlicense/MIT
Index: textproc/ripgrep/distinfo
===================================================================
RCS file: /cvs/ports/textproc/ripgrep/distinfo,v
retrieving revision 1.10
diff -u -p -r1.10 distinfo
--- textproc/ripgrep/distinfo   16 Dec 2018 08:54:24 -0000      1.10
+++ textproc/ripgrep/distinfo   21 Aug 2019 11:57:25 -0000
@@ -20,7 +20,7 @@ SHA256 (cargo/fuchsia-zircon-sys-0.3.3.t
 SHA256 (cargo/glob-0.2.11.tar.gz) = 
i+GN4JpWtg7Q7fhLyd8AfjAEBpGves0cQYdPqsWJW/s=
 SHA256 (cargo/itoa-0.4.2.tar.gz) = WttYVY3NHXhrXwvRXzIm7iNIbiS3tYMEtg9k3GjmJgY=
 SHA256 (cargo/lazy_static-1.1.0.tar.gz) = 
ykiLiaVlewouzUW5Vgmz6EjPF1XaMyoNpG4rKxyzcac=
-SHA256 (cargo/libc-0.2.43.tar.gz) = 
duOj7xcvGguan/DdFJGuXmyUi5RHmjAhgZun2GDIZF0=
+SHA256 (cargo/libc-0.2.63.tar.gz) = 
15WDUCv/BSPhB8pE3TZv+AfGRCtKlMzvBDLH6E+FZYM=
 SHA256 (cargo/lock_api-0.1.3.tar.gz) = 
lJgmpczxjBs6fD1XaSd40hdot55G653Qe/xMIWADbFQ=
 SHA256 (cargo/log-0.4.5.tar.gz) = 1PzOX6ScxpPDEgAdrx0TQRxKUoN5a6wQhCmeo+VnET8=
 SHA256 (cargo/memchr-2.0.2.tar.gz) = 
o7QUKrhzinjFGJb3BPg8Ed8Ef/G9qakqZhqmNhVS2T0=
@@ -97,7 +97,7 @@ SIZE (cargo/fuchsia-zircon-sys-0.3.3.tar
 SIZE (cargo/glob-0.2.11.tar.gz) = 18065
 SIZE (cargo/itoa-0.4.2.tar.gz) = 10581
 SIZE (cargo/lazy_static-1.1.0.tar.gz) = 12317
-SIZE (cargo/libc-0.2.43.tar.gz) = 353810
+SIZE (cargo/libc-0.2.63.tar.gz) = 437880
 SIZE (cargo/lock_api-0.1.3.tar.gz) = 12167
 SIZE (cargo/log-0.4.5.tar.gz) = 22221
 SIZE (cargo/memchr-2.0.2.tar.gz) = 10092
Index: www/geckodriver/Makefile
===================================================================
RCS file: /cvs/ports/www/geckodriver/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- www/geckodriver/Makefile    12 Jul 2019 20:50:46 -0000      1.3
+++ www/geckodriver/Makefile    21 Aug 2019 11:57:25 -0000
@@ -20,6 +20,8 @@ MODULES =             devel/cargo
 CONFIGURE_STYLE =      cargo
 SEPARATE_BUILD =       Yes
 
+MODCARGO_CRATES_UPDATE +=      libc
+
 MODCARGO_CRATES +=     adler32 1.0.3           # BSD-3-Clause AND Zlib
 MODCARGO_CRATES +=     aho-corasick    0.6.8           # Unlicense/MIT
 MODCARGO_CRATES +=     arrayvec        0.4.7           # MIT/Apache-2.0
@@ -57,7 +59,7 @@ MODCARGO_CRATES +=    itoa    0.4.3           # MIT/Apa
 MODCARGO_CRATES +=     kernel32-sys    0.2.2           # MIT
 MODCARGO_CRATES +=     lazy_static     1.1.0           # MIT/Apache-2.0
 MODCARGO_CRATES +=     lazycell        1.1.0           # MIT/Apache-2.0
-MODCARGO_CRATES +=     libc    0.2.43          # MIT/Apache-2.0
+MODCARGO_CRATES +=     libc    0.2.63          # MIT/Apache-2.0
 MODCARGO_CRATES +=     lock_api        0.1.3           # Apache-2.0/MIT
 MODCARGO_CRATES +=     log     0.4.5           # MIT/Apache-2.0
 MODCARGO_CRATES +=     mio     0.6.16          # MIT
Index: www/geckodriver/distinfo
===================================================================
RCS file: /cvs/ports/www/geckodriver/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- www/geckodriver/distinfo    28 Sep 2018 12:57:38 -0000      1.1.1.1
+++ www/geckodriver/distinfo    21 Aug 2019 11:57:26 -0000
@@ -35,7 +35,7 @@ SHA256 (cargo/itoa-0.4.3.tar.gz) = EwbzR
 SHA256 (cargo/kernel32-sys-0.2.2.tar.gz) = 
dQdiSylINDHAui2Crs6Mps26k4K/9N3Q90kFYMBWCY0=
 SHA256 (cargo/lazy_static-1.1.0.tar.gz) = 
ykiLiaVlewouzUW5Vgmz6EjPF1XaMyoNpG4rKxyzcac=
 SHA256 (cargo/lazycell-1.1.0.tar.gz) = 
4m1MQRs58K/PK6b+UCvpDmybKZyVLb2GEkeCUgoTz/0=
-SHA256 (cargo/libc-0.2.43.tar.gz) = 
duOj7xcvGguan/DdFJGuXmyUi5RHmjAhgZun2GDIZF0=
+SHA256 (cargo/libc-0.2.63.tar.gz) = 
15WDUCv/BSPhB8pE3TZv+AfGRCtKlMzvBDLH6E+FZYM=
 SHA256 (cargo/lock_api-0.1.3.tar.gz) = 
lJgmpczxjBs6fD1XaSd40hdot55G653Qe/xMIWADbFQ=
 SHA256 (cargo/log-0.4.5.tar.gz) = 1PzOX6ScxpPDEgAdrx0TQRxKUoN5a6wQhCmeo+VnET8=
 SHA256 (cargo/matches-0.1.8.tar.gz) = 
f/xcUzhGnU0+oX0mn6jqNRKtJHJHwwvS32nmgwntCgg=
@@ -169,7 +169,7 @@ SIZE (cargo/itoa-0.4.3.tar.gz) = 11061
 SIZE (cargo/kernel32-sys-0.2.2.tar.gz) = 24537
 SIZE (cargo/lazy_static-1.1.0.tar.gz) = 12317
 SIZE (cargo/lazycell-1.1.0.tar.gz) = 11027
-SIZE (cargo/libc-0.2.43.tar.gz) = 353810
+SIZE (cargo/libc-0.2.63.tar.gz) = 437880
 SIZE (cargo/lock_api-0.1.3.tar.gz) = 12167
 SIZE (cargo/log-0.4.5.tar.gz) = 22221
 SIZE (cargo/matches-0.1.8.tar.gz) = 2216
Index: www/newsboat/Makefile
===================================================================
RCS file: /cvs/ports/www/newsboat/Makefile,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile
--- www/newsboat/Makefile       12 Jul 2019 20:50:48 -0000      1.12
+++ www/newsboat/Makefile       21 Aug 2019 11:57:26 -0000
@@ -31,6 +31,8 @@ MODCARGO_BUILD =      No
 MODCARGO_INSTALL =     No
 MODCARGO_TEST =                No
 
+MODCARGO_CRATES_UPDATE +=      libc
+
 MODCARGO_CRATES +=     aho-corasick    0.6.9   # Unlicense/MIT
 MODCARGO_CRATES +=     argon2rs        0.2.5   # MIT
 MODCARGO_CRATES +=     arrayvec        0.4.10  # MIT/Apache-2.0
@@ -50,7 +52,7 @@ MODCARGO_CRATES +=    failure_derive  0.1.5   
 MODCARGO_CRATES +=     fuchsia-cprng   0.1.1   # LICENSE
 MODCARGO_CRATES +=     idna    0.1.5   # MIT/Apache-2.0
 MODCARGO_CRATES +=     lazy_static     1.2.0   # MIT/Apache-2.0
-MODCARGO_CRATES +=     libc    0.2.48  # MIT OR Apache-2.0
+MODCARGO_CRATES +=     libc    0.2.63  # MIT OR Apache-2.0
 MODCARGO_CRATES +=     lock_api        0.1.5   # Apache-2.0/MIT
 MODCARGO_CRATES +=     matches 0.1.8   # MIT
 MODCARGO_CRATES +=     memchr  2.1.3   # Unlicense/MIT
Index: www/newsboat/distinfo
===================================================================
RCS file: /cvs/ports/www/newsboat/distinfo,v
retrieving revision 1.8
diff -u -p -r1.8 distinfo
--- www/newsboat/distinfo       2 Apr 2019 09:01:14 -0000       1.8
+++ www/newsboat/distinfo       21 Aug 2019 11:57:26 -0000
@@ -17,7 +17,7 @@ SHA256 (cargo/failure_derive-0.1.5.tar.g
 SHA256 (cargo/fuchsia-cprng-0.1.1.tar.gz) = 
oG931SbBpgG3xM3Zj1S16qv/wU1fLwKW/r3H81fG07o=
 SHA256 (cargo/idna-0.1.5.tar.gz) = OPCeDwsftV/e4fF0cK2ADad69RhqGnbAJrZ5NYt+hE4=
 SHA256 (cargo/lazy_static-1.2.0.tar.gz) = 
o3TIm521WJVFOnTB44hh2d7sCwG0BaglFunV3kgg3qE=
-SHA256 (cargo/libc-0.2.48.tar.gz) = 
6WLHZBAIrAEPpgp9/cFxJEnynETvLUcCOUrqlD7nUEc=
+SHA256 (cargo/libc-0.2.63.tar.gz) = 
15WDUCv/BSPhB8pE3TZv+AfGRCtKlMzvBDLH6E+FZYM=
 SHA256 (cargo/lock_api-0.1.5.tar.gz) = 
YuvxOR9qytYOXItDcG3eRYLfdcBmmKtEUR0VAWvCRCw=
 SHA256 (cargo/matches-0.1.8.tar.gz) = 
f/xcUzhGnU0+oX0mn6jqNRKtJHJHwwvS32nmgwntCgg=
 SHA256 (cargo/memchr-2.1.3.tar.gz) = 
4d1OqsKYwyzgfrbtkkLtp9gpVbkXC31ttZsuAsxj/Lg=
@@ -92,7 +92,7 @@ SIZE (cargo/failure_derive-0.1.5.tar.gz)
 SIZE (cargo/fuchsia-cprng-0.1.1.tar.gz) = 2950
 SIZE (cargo/idna-0.1.5.tar.gz) = 258735
 SIZE (cargo/lazy_static-1.2.0.tar.gz) = 10840
-SIZE (cargo/libc-0.2.48.tar.gz) = 353045
+SIZE (cargo/libc-0.2.63.tar.gz) = 437880
 SIZE (cargo/lock_api-0.1.5.tar.gz) = 16967
 SIZE (cargo/matches-0.1.8.tar.gz) = 2216
 SIZE (cargo/memchr-2.1.3.tar.gz) = 20069
Index: x11/gnome/librsvg/Makefile
===================================================================
RCS file: /cvs/ports/x11/gnome/librsvg/Makefile,v
retrieving revision 1.150
diff -u -p -r1.150 Makefile
--- x11/gnome/librsvg/Makefile  7 Jul 2019 11:20:53 -0000       1.150
+++ x11/gnome/librsvg/Makefile  21 Aug 2019 11:57:26 -0000
@@ -21,6 +21,7 @@ BUILD_DEPENDS=                lang/rust
 PKG_ARGS=              -Dold=0 -Dstable=1
 MAKE_ENV+=             CARGO_BUILD_JOBS=${MAKE_JOBS} \
                        CARGO_HOME=${WRKBUILD}/cargo-home
+COMPILER=              base-clang ports-gcc
 .else
 ### old
 REVISION=              3
@@ -55,6 +56,11 @@ CONFIGURE_ARGS=              --disable-tools
 
 # error: -Bsymbolic-functions requested but not supported by ld
 CONFIGURE_ARGS +=      --disable-Bsymbolic
+
+post-patch:
+       # permit patching libc-rs to support sparc64 (could be removed with 
libc>=0.2.63)
+       sed -i 's/"files":{[^}]*}/"files":{}/' \
+               ${WRKSRC}/vendor/libc/.cargo-checksum.json
 
 post-install:
        rm ${PREFIX}/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.{a,la}
Index: 
x11/gnome/librsvg/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_openbsdlike_openbsd_mod_rs
===================================================================
RCS file: 
x11/gnome/librsvg/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_openbsdlike_openbsd_mod_rs
diff -N 
x11/gnome/librsvg/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_openbsdlike_openbsd_mod_rs
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
x11/gnome/librsvg/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_openbsdlike_openbsd_mod_rs
      21 Aug 2019 11:57:26 -0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+add minimal sparc64 support
+could be removed with libc>=0.2.63
+Index: vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs
+--- vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs.orig
++++ vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs
+@@ -273,6 +273,11 @@ cfg_if! {
+     } else if #[cfg(target_arch = "aarch64")] {
+         mod aarch64;
+         pub use self::aarch64::*;
++    } else if #[cfg(target_arch = "sparc64")] {
++        pub type c_long = i64;
++        pub type c_ulong = u64;
++        pub type c_char = i8;
++        pub const _ALIGNBYTES: usize = 0xf;
+     } else {
+         // Unknown target_arch
+     }

Reply via email to