Date: Fri, 9 Mar 2018 02:54:10 +0000 (UTC) From: Bryan Drewery <bdrewery@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r463926 - in head/lang: rust rust-nightly/files rust/files Message-ID: <201803090254.w292sARA061926@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bdrewery Date: Fri Mar 9 02:54:10 2018 New Revision: 463926 URL: https://svnweb.freebsd.org/changeset/ports/463926 Log: - Fix kevent on head by binding to the old ABI symbol version. - Add some context in the patches for where they came from. They need to be in 1 patch due to needing to use the .orig file for fixing up checksums. Obtained from: rust upstream Added: head/lang/rust-nightly/files/extra-patch-abi - copied, changed from r463925, head/lang/rust-nightly/files/extra-patch-ino64 head/lang/rust/files/extra-patch-abi - copied, changed from r463925, head/lang/rust/files/extra-patch-ino64 Deleted: head/lang/rust-nightly/files/extra-patch-ino64 head/lang/rust/files/extra-patch-ino64 Modified: head/lang/rust/Makefile Copied and modified: head/lang/rust-nightly/files/extra-patch-abi (from r463925, head/lang/rust-nightly/files/extra-patch-ino64) ============================================================================== --- head/lang/rust-nightly/files/extra-patch-ino64 Fri Mar 9 01:03:45 2018 (r463925, copy source) +++ head/lang/rust-nightly/files/extra-patch-abi Fri Mar 9 02:54:10 2018 (r463926) @@ -1,3 +1,25 @@ +------------------------------------------------------------------------ +r441843 | kib | 2017-05-27 05:06:40 -0700 (Sat, 27 May 2017) | 6 lines + +Fix lang/rust after ino64 src commit. + +Approved by: bapt, dumbbell +Sponsored by: The FreeBSD Foundation +Differential revision: https://reviews.freebsd.org/D10799 + +------------------------------------------------------------------------ + +commit 969ad2b73cdc928b88f6db8f31916bbe294764c0 +Author: Bryan Drewery <bryan@shatow.net> +Date: Thu Mar 1 12:35:01 2018 -0800 + + Link against kevent@FBSD_1.0 to fix ABI compat with FreeBSD12. + + struct kevent was modified in FreeBSD12. The @FBSD_1.0 symbol supports the old + structure ABI still. + + This allows the `mio` crate tests to now pass on FreeBSD12. + --- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs.orig 2017-04-24 18:56:45.000000000 +0000 +++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs 2017-05-30 07:55:40.703709000 +0000 @@ -7,10 +7,12 @@ @@ -142,6 +164,14 @@ pub type mode_t = u16; pub type pthread_attr_t = *mut ::c_void; pub type rlim_t = i64; +@@ -1052,6 +1052,7 @@ extern { + serv: *mut ::c_char, + servlen: ::size_t, + flags: ::c_int) -> ::c_int; ++ #[cfg_attr(target_os = "freebsd", link_name = "kevent@FBSD_1.0")] + pub fn kevent(kq: ::c_int, + changelist: *const ::kevent, + nchanges: ::c_int, --- ./src/libstd/os/freebsd/raw.rs.orig 2017-04-24 18:53:46.000000000 +0000 +++ ./src/libstd/os/freebsd/raw.rs 2017-05-25 16:25:42.304715000 +0000 @@ -38,32 +38,52 @@ @@ -383,3 +413,11 @@ pub type mode_t = u16; pub type pthread_attr_t = *mut ::c_void; pub type rlim_t = i64; +@@ -1052,6 +1052,7 @@ extern { + serv: *mut ::c_char, + servlen: ::size_t, + flags: ::c_int) -> ::c_int; ++ #[cfg_attr(target_os = "freebsd", link_name = "kevent@FBSD_1.0")] + pub fn kevent(kq: ::c_int, + changelist: *const ::kevent, + nchanges: ::c_int, Modified: head/lang/rust/Makefile ============================================================================== --- head/lang/rust/Makefile Fri Mar 9 01:03:45 2018 (r463925) +++ head/lang/rust/Makefile Fri Mar 9 02:54:10 2018 (r463926) @@ -3,6 +3,7 @@ PORTNAME= rust PORTVERSION?= 1.24.0 +PORTREVISION?= 1 CATEGORIES= lang MASTER_SITES= http://static.rust-lang.org/dist/:src \ LOCAL/dumbbell/rust:rust_bootstrap \ @@ -92,7 +93,7 @@ PLIST_FILES= lib/rustlib/components \ .include <bsd.port.pre.mk> .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 -EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ino64 +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-abi .endif X_PY_ENV= HOME="${WRKDIR}" \ Copied and modified: head/lang/rust/files/extra-patch-abi (from r463925, head/lang/rust/files/extra-patch-ino64) ============================================================================== --- head/lang/rust/files/extra-patch-ino64 Fri Mar 9 01:03:45 2018 (r463925, copy source) +++ head/lang/rust/files/extra-patch-abi Fri Mar 9 02:54:10 2018 (r463926) @@ -1,3 +1,25 @@ +------------------------------------------------------------------------ +r441843 | kib | 2017-05-27 05:06:40 -0700 (Sat, 27 May 2017) | 6 lines + +Fix lang/rust after ino64 src commit. + +Approved by: bapt, dumbbell +Sponsored by: The FreeBSD Foundation +Differential revision: https://reviews.freebsd.org/D10799 + +------------------------------------------------------------------------ + +commit 969ad2b73cdc928b88f6db8f31916bbe294764c0 +Author: Bryan Drewery <bryan@shatow.net> +Date: Thu Mar 1 12:35:01 2018 -0800 + + Link against kevent@FBSD_1.0 to fix ABI compat with FreeBSD12. + + struct kevent was modified in FreeBSD12. The @FBSD_1.0 symbol supports the old + structure ABI still. + + This allows the `mio` crate tests to now pass on FreeBSD12. + --- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs.orig 2017-04-24 18:56:45.000000000 +0000 +++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs 2017-05-30 07:55:40.703709000 +0000 @@ -7,10 +7,12 @@ @@ -142,6 +164,14 @@ pub type mode_t = u16; pub type pthread_attr_t = *mut ::c_void; pub type rlim_t = i64; +@@ -1052,6 +1052,7 @@ extern { + serv: *mut ::c_char, + servlen: ::size_t, + flags: ::c_int) -> ::c_int; ++ #[cfg_attr(target_os = "freebsd", link_name = "kevent@FBSD_1.0")] + pub fn kevent(kq: ::c_int, + changelist: *const ::kevent, + nchanges: ::c_int, --- ./src/libstd/os/freebsd/raw.rs.orig 2017-04-24 18:53:46.000000000 +0000 +++ ./src/libstd/os/freebsd/raw.rs 2017-05-25 16:25:42.304715000 +0000 @@ -38,32 +38,52 @@ @@ -383,3 +413,11 @@ pub type mode_t = u16; pub type pthread_attr_t = *mut ::c_void; pub type rlim_t = i64; +@@ -1052,6 +1052,7 @@ extern { + serv: *mut ::c_char, + servlen: ::size_t, + flags: ::c_int) -> ::c_int; ++ #[cfg_attr(target_os = "freebsd", link_name = "kevent@FBSD_1.0")] + pub fn kevent(kq: ::c_int, + changelist: *const ::kevent, + nchanges: ::c_int,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803090254.w292sARA061926>