aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2018-03-21 16:20:51 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2018-03-21 16:20:51 +0000
commit6e03832857df8617e589475ecef780a1fbda3dcf (patch)
treef5523cbf1588b1f9a15b2a8b4ac5d6147a05f7ed /lang
parent3b32bacffb40458ae994ea619805f5655de8c695 (diff)
Notes
Diffstat (limited to 'lang')
-rw-r--r--lang/rust-nightly/Makefile4
-rw-r--r--lang/rust-nightly/distinfo30
-rw-r--r--lang/rust-nightly/files/extra-patch-abi423
-rw-r--r--lang/rust/Makefile11
4 files changed, 25 insertions, 443 deletions
diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile
index cb6f2f49863e..05e7d53cc820 100644
--- a/lang/rust-nightly/Makefile
+++ b/lang/rust-nightly/Makefile
@@ -14,11 +14,11 @@ CONFLICTS_INSTALL= rust
# Which source to pull:
# https://static.rust-lang.org/dist/${NIGHTLY_DATE}/rustc-nightly-src.tar.gz
-NIGHTLY_DATE= 2018-03-06
+NIGHTLY_DATE= 2018-03-21
NIGHTLY_SUBDIR= ${NIGHTLY_DATE}/
# See WRKSRC/src/stage0.txt for this date
-BOOTSTRAPS_DATE= 2018-02-20
+BOOTSTRAPS_DATE= 2018-03-18
RUST_BOOTSTRAP_VERSION= beta
CARGO_BOOTSTRAP_VERSION= beta
diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo
index 2310e40d67ef..bee3339097fb 100644
--- a/lang/rust-nightly/distinfo
+++ b/lang/rust-nightly/distinfo
@@ -1,15 +1,15 @@
-SHA256 (rust/2018-02-20/cargo-beta-i686-unknown-freebsd.tar.gz) = 21b5ac5d39e6de1d312ef6c374c3c2839a3964d8fca9b3ee3ebfbdc4e0814d2a
-SIZE (rust/2018-02-20/cargo-beta-i686-unknown-freebsd.tar.gz) = 4938171
-SHA256 (rust/2018-02-20/cargo-beta-x86_64-unknown-freebsd.tar.gz) = 1196d5594b8efcfa56bfc5127faf85f9f85d71f880e0f012ad78f13249aec415
-SIZE (rust/2018-02-20/cargo-beta-x86_64-unknown-freebsd.tar.gz) = 5192180
-SHA256 (rust/2018-02-20/rust-std-beta-i686-unknown-freebsd.tar.gz) = 5e358d07dba8000c758b3e2f46ead3578f764f013ecca66b38692bad0adab5a5
-SIZE (rust/2018-02-20/rust-std-beta-i686-unknown-freebsd.tar.gz) = 50439483
-SHA256 (rust/2018-02-20/rust-std-beta-x86_64-unknown-freebsd.tar.gz) = 22dbb0eb548933a196e5d6d684863ca823c4f35e19afc498a715022c273bfcfd
-SIZE (rust/2018-02-20/rust-std-beta-x86_64-unknown-freebsd.tar.gz) = 50160005
-SHA256 (rust/2018-02-20/rustc-beta-i686-unknown-freebsd.tar.gz) = 0eaf0002ed85864ab2e26d6431b9f9e044c3e7b4884f217c55ae03dfafe45721
-SIZE (rust/2018-02-20/rustc-beta-i686-unknown-freebsd.tar.gz) = 56781242
-SHA256 (rust/2018-02-20/rustc-beta-x86_64-unknown-freebsd.tar.gz) = d602781ac44e6c43bbe64a31ba0ca709b0d3ebb010ff645893f1912fb4237062
-SIZE (rust/2018-02-20/rustc-beta-x86_64-unknown-freebsd.tar.gz) = 56350926
-SHA256 (rust/2018-03-06/rustc-nightly-src.tar.xz) = 78bc897c6ceda1df07acd31b69151f70d285777f40c2c203cc26b70f86417dbd
-SIZE (rust/2018-03-06/rustc-nightly-src.tar.xz) = 52098524
-TIMESTAMP = 1520533854
+SHA256 (rust/2018-03-18/cargo-beta-i686-unknown-freebsd.tar.gz) = 801354131957df03abedc8b11be483520941632a6976a7fdefde157e53b70391
+SIZE (rust/2018-03-18/cargo-beta-i686-unknown-freebsd.tar.gz) = 4918903
+SHA256 (rust/2018-03-18/cargo-beta-x86_64-unknown-freebsd.tar.gz) = ed420d91219f86ffa586cd773f19f75c0e192b683e7a7282580faf5b72c7b9de
+SIZE (rust/2018-03-18/cargo-beta-x86_64-unknown-freebsd.tar.gz) = 5209143
+SHA256 (rust/2018-03-18/rust-std-beta-i686-unknown-freebsd.tar.gz) = 5a8135389201352f79ee16bd13555fbb192012c43733c997dc6a60061f6b24a6
+SIZE (rust/2018-03-18/rust-std-beta-i686-unknown-freebsd.tar.gz) = 50414392
+SHA256 (rust/2018-03-18/rust-std-beta-x86_64-unknown-freebsd.tar.gz) = 86907a7beaa22f52bd093898e0818048bb1ef4b2d45968fb794f69425c345004
+SIZE (rust/2018-03-18/rust-std-beta-x86_64-unknown-freebsd.tar.gz) = 50222097
+SHA256 (rust/2018-03-18/rustc-beta-i686-unknown-freebsd.tar.gz) = 3c34727da3299eb2f847320221eb258b1eac7a2ccca6e2b0b4752c32c763fc17
+SIZE (rust/2018-03-18/rustc-beta-i686-unknown-freebsd.tar.gz) = 56749552
+SHA256 (rust/2018-03-18/rustc-beta-x86_64-unknown-freebsd.tar.gz) = 2d00f24c2bfd8112d798d0aab70ec60f12ad6978b5029f83d477345101a46cba
+SIZE (rust/2018-03-18/rustc-beta-x86_64-unknown-freebsd.tar.gz) = 56562280
+SHA256 (rust/2018-03-21/rustc-nightly-src.tar.xz) = 2373bc3efef22cd53111a8c7126331bc352cb241d575f810c9825deeaeb4d948
+SIZE (rust/2018-03-21/rustc-nightly-src.tar.xz) = 54550216
+TIMESTAMP = 1521593210
diff --git a/lang/rust-nightly/files/extra-patch-abi b/lang/rust-nightly/files/extra-patch-abi
deleted file mode 100644
index e4fdca6a93d4..000000000000
--- a/lang/rust-nightly/files/extra-patch-abi
+++ /dev/null
@@ -1,423 +0,0 @@
-------------------------------------------------------------------------
-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 @@
- pub struct stat {
- pub st_dev: ::dev_t,
- pub st_ino: ::ino_t,
-- pub st_mode: ::mode_t,
- pub st_nlink: ::nlink_t,
-+ pub st_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-@@ -18,13 +20,13 @@
- pub st_mtime_nsec: ::c_long,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_nsec: ::c_long,
- pub st_size: ::off_t,
- pub st_blocks: ::blkcnt_t,
- pub st_blksize: ::blksize_t,
- pub st_flags: ::fflags_t,
-- pub st_gen: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/mod.rs 2017-05-25 16:28:37.280076000 +0000
-@@ -1,8 +1,8 @@
- pub type fflags_t = u32;
- pub type clock_t = i32;
--pub type ino_t = u32;
-+pub type ino_t = u64;
- pub type lwpid_t = i32;
--pub type nlink_t = u16;
-+pub type nlink_t = u64;
- pub type blksize_t = u32;
- pub type clockid_t = ::c_int;
- pub type sem_t = _sem;
-@@ -40,10 +40,13 @@
- }
-
- pub struct dirent {
-- pub d_fileno: u32,
-+ pub d_fileno: u64,
-+ pub d_off: u64,
- pub d_reclen: u16,
- pub d_type: u8,
-- pub d_namlen: u8,
-+ pub d_pad0: u8,
-+ pub d_namlen: u16,
-+ pub d_pad1: u16,
- pub d_name: [::c_char; 256],
- }
-
---- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86.rs 2017-05-25 16:25:42.303616000 +0000
-@@ -7,25 +7,30 @@
- pub struct stat {
- pub st_dev: ::dev_t,
- pub st_ino: ::ino_t,
-- pub st_mode: ::mode_t,
- pub st_nlink: ::nlink_t,
-+ pub st_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
-+ pub st_atime_ext: ::int32_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-+ pub st_mtime_ext: ::int32_t,
- pub st_mtime: ::time_t,
- pub st_mtime_nsec: ::c_long,
-+ pub st_ctime_ext: ::int32_t,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime_ext: ::int32_t,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_nsec: ::c_long,
- pub st_size: ::off_t,
- pub st_blocks: ::blkcnt_t,
- pub st_blksize: ::blksize_t,
- pub st_flags: ::fflags_t,
-- pub st_gen: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-- __unused: [u8; 8],
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs 2017-05-25 16:25:42.303910000 +0000
-@@ -7,10 +7,12 @@
- pub struct stat {
- pub st_dev: ::dev_t,
- pub st_ino: ::ino_t,
-- pub st_mode: ::mode_t,
- pub st_nlink: ::nlink_t,
-+ pub st_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-@@ -18,13 +20,13 @@
- pub st_mtime_nsec: ::c_long,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_nsec: ::c_long,
- pub st_size: ::off_t,
- pub st_blocks: ::blkcnt_t,
- pub st_blksize: ::blksize_t,
- pub st_flags: ::fflags_t,
-- pub st_gen: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/liblibc/src/unix/bsd/freebsdlike/mod.rs.orig 2017-04-24 18:56:45.000000000 +0000
-+++ ./src/liblibc/src/unix/bsd/freebsdlike/mod.rs 2017-05-25 16:25:42.304391000 +0000
-@@ -1,4 +1,4 @@
--pub type dev_t = u32;
-+pub type dev_t = u64;
- 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 @@
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub struct stat {
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_dev: u32,
-+ pub st_dev: u64,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_ino: u32,
-+ pub st_ino: u64,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_nlink: u64,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_mode: u16,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_nlink: u16,
-+ pub st_pad0: u16,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_uid: u32,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_gid: u32,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_rdev: u32,
-+ pub st_pad1: u32,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_rdev: u64,
-+ #[cfg(target_arch = "x86")]
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_atime_ext: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_atime: c_long,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_atime_nsec: c_long,
-+ #[cfg(target_arch = "x86")]
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_mtime_ext: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_mtime: c_long,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_mtime_nsec: c_long,
-+ #[cfg(target_arch = "x86")]
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_ctime_ext: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_ctime: c_long,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_ctime_nsec: c_long,
-+ #[cfg(target_arch = "x86")]
- #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_birthtime_ext: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_birthtime: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
-+ pub st_birthtime_nsec: c_long,
-+ #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_size: i64,
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_blocks: i64,
-@@ -72,14 +92,7 @@
- #[stable(feature = "raw_ext", since = "1.1.0")]
- pub st_flags: u32,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_gen: u32,
-+ pub st_gen: u64,
- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_lspare: i32,
-- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_birthtime: c_long,
-- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub st_birthtime_nsec: c_long,
-- #[cfg(target_arch = "x86")]
-- #[stable(feature = "raw_ext", since = "1.1.0")]
-- pub __unused: [u8; 8],
-+ pub st_spare: [u64; 10],
- }
---- ./src/libstd/os/freebsd/fs.rs.orig 2017-04-24 18:53:46.000000000 +0000
-+++ ./src/libstd/os/freebsd/fs.rs 2017-05-25 16:25:42.304989000 +0000
-@@ -74,8 +74,6 @@
- fn st_flags(&self) -> u32;
- #[stable(feature = "metadata_ext2", since = "1.8.0")]
- fn st_gen(&self) -> u32;
-- #[stable(feature = "metadata_ext2", since = "1.8.0")]
-- fn st_lspare(&self) -> u32;
- }
-
- #[stable(feature = "metadata_ext", since = "1.1.0")]
-@@ -146,9 +144,6 @@
- }
- fn st_flags(&self) -> u32 {
- self.as_inner().as_inner().st_flags as u32
-- }
-- fn st_lspare(&self) -> u32 {
-- self.as_inner().as_inner().st_lspare as u32
- }
- }
-
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs 2017-05-30 07:57:19.874957000 +0000
-@@ -7,10 +7,12 @@
- pub struct stat {
- pub st_dev: ::dev_t,
- pub st_ino: ::ino_t,
-- pub st_mode: ::mode_t,
- pub st_nlink: ::nlink_t,
-+ pub st_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-@@ -18,13 +20,13 @@
- pub st_mtime_nsec: ::c_long,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_nsec: ::c_long,
- pub st_size: ::off_t,
- pub st_blocks: ::blkcnt_t,
- pub st_blksize: ::blksize_t,
- pub st_flags: ::fflags_t,
-- pub st_gen: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs 2017-05-25 16:25:42.305261000 +0000
-@@ -7,10 +7,12 @@
- pub struct stat {
- pub st_dev: ::dev_t,
- pub st_ino: ::ino_t,
-- pub st_mode: ::mode_t,
- pub st_nlink: ::nlink_t,
-+ pub st_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-@@ -18,13 +20,13 @@
- pub st_mtime_nsec: ::c_long,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_nsec: ::c_long,
- pub st_size: ::off_t,
- pub st_blocks: ::blkcnt_t,
- pub st_blksize: ::blksize_t,
- pub st_flags: ::fflags_t,
-- pub st_gen: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs 2017-05-25 16:28:29.708287000 +0000
-@@ -1,8 +1,8 @@
- pub type fflags_t = u32;
- pub type clock_t = i32;
--pub type ino_t = u32;
-+pub type ino_t = u64;
- pub type lwpid_t = i32;
--pub type nlink_t = u16;
-+pub type nlink_t = u64;
- pub type blksize_t = u32;
- pub type clockid_t = ::c_int;
- pub type sem_t = _sem;
-@@ -40,10 +40,13 @@
- }
-
- pub struct dirent {
-- pub d_fileno: u32,
-+ pub d_fileno: u64,
-+ pub d_off: u64,
- pub d_reclen: u16,
- pub d_type: u8,
-- pub d_namlen: u8,
-+ pub d_pad0: u8,
-+ pub d_namlen: u16,
-+ pub d_pad1: u16,
- pub d_name: [::c_char; 256],
- }
-
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs 2017-05-25 16:25:42.305967000 +0000
-@@ -7,25 +7,30 @@
- pub struct stat {
- pub st_dev: ::dev_t,
- pub st_ino: ::ino_t,
-- pub st_mode: ::mode_t,
- pub st_nlink: ::nlink_t,
-+ pub st_mode: ::mode_t,
-+ pub st_pad0: ::uint16_t,
- pub st_uid: ::uid_t,
- pub st_gid: ::gid_t,
-+ pub st_pad1: ::uint32_t,
- pub st_rdev: ::dev_t,
-+ pub st_atime_ext: ::int32_t,
- pub st_atime: ::time_t,
- pub st_atime_nsec: ::c_long,
-+ pub st_mtime_ext: i32,
- pub st_mtime: ::time_t,
- pub st_mtime_nsec: ::c_long,
-+ pub st_ctime_ext: ::int32_t,
- pub st_ctime: ::time_t,
- pub st_ctime_nsec: ::c_long,
-+ pub st_birthtime_ext: ::int32_t,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_nsec: ::c_long,
- pub st_size: ::off_t,
- pub st_blocks: ::blkcnt_t,
- pub st_blksize: ::blksize_t,
- pub st_flags: ::fflags_t,
-- pub st_gen: ::uint32_t,
-- pub st_lspare: ::int32_t,
-- pub st_birthtime: ::time_t,
-- pub st_birthtime_nsec: ::c_long,
-- __unused: [u8; 8],
-+ pub st_gen: ::uint64_t,
-+ pub st_spare: [::uint64_t; 10],
- }
- }
---- ./src/vendor/libc/src/unix/bsd/freebsdlike/mod.rs.orig 2017-04-24 20:20:26.000000000 +0000
-+++ ./src/vendor/libc/src/unix/bsd/freebsdlike/mod.rs 2017-05-25 16:25:42.306480000 +0000
-@@ -1,4 +1,4 @@
--pub type dev_t = u32;
-+pub type dev_t = u64;
- 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,
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 5a326a10b14e..0ad51507b1bb 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -92,8 +92,13 @@ PLIST_FILES= lib/rustlib/components \
lib/rustlib/rust-installer-version
.include <bsd.port.pre.mk>
-.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031
+# ABI patch needed to address ino64 before fixes upstreamed.
+# https://github.com/rust-lang/rust/issues/42681
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 && !defined(NIGHTLY_DATE)
+NEED_ABI_PATCH= 1
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-abi
+.else
+NEED_ABI_PATCH= 0
.endif
X_PY_ENV= HOME="${WRKDIR}" \
@@ -135,13 +140,13 @@ post-extract:
${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${RUSTC_BOOTSTRAP} \
${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
-.if ${OPSYS} != FreeBSD || ${OSVERSION} < 1200031
+.if ${NEED_ABI_PATCH} == 0
${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${RUST_STD_BOOTSTRAP} \
${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
.endif
${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${CARGO_BOOTSTRAP} \
${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}
-.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031
+.if ${NEED_ABI_PATCH} == 1
${TAR} -x -C ${WRKSRC} -f ${DISTDIR}/${DIST_SUBDIR}/${RUST_STD_BOOTSTRAP}
${CC} ${CFLAGS} -fPIC -c -o ${WRKSRC}/old_fstat.o ${FILESDIR}/old_fstat.c
(set -ex; cd ${WRKSRC}; \