Skip to content

Commit cc0843c

Browse files
committed
rust: update to version 1.64.0.
Pkgsrc changes: * This package now contains rust-analyzer, so implicitly conflicts with that pkgsrc package. The same goes for the rust-src package. * Add NetBSD/arm6 port * Add unfinished NetBSD/mipsel port * Revert the use of the internal LLVM, should now build with the new pkgsrc LLVM (15). * Add depndence on compat80 for sparc64 to fix the build * Adapt patches * Add CHECK_INTERPRETER_SKIP for a few (mostly unused) files. (A proper fix may come later.) Upstream changes: Version 1.64.0 (2022-09-22) =========================== Language -------- - [Unions with mutable references or tuples of allowed types are now allowed](rust-lang/rust#97995) - It is now considered valid to deallocate memory pointed to by a shared reference `&T` [if every byte in `T` is inside an `UnsafeCell`](rust-lang/rust#98017) - Unused tuple struct fields are now warned against in an allow-by-default lint, [`unused_tuple_struct_fields`] (rust-lang/rust#95977), similar to the existing warning for unused struct fields. This lint will become warn-by-default in the future. Compiler -------- - [Add Nintendo Switch as tier 3 target] (rust-lang/rust#88991) - Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. - [Only compile `#[used]` as llvm.compiler.used for ELF targets] (rust-lang/rust#93718) - [Add the `--diagnostic-width` compiler flag to define the terminal width.] (rust-lang/rust#95635) - [Add support for link-flavor `rust-lld` for iOS, tvOS and watchOS] (rust-lang/rust#98771) Libraries --------- - [Remove restrictions on compare-exchange memory ordering.] (rust-lang/rust#98383) - You can now `write!` or `writeln!` into an `OsString`: [Implement `fmt::Write` for `OsString`](rust-lang/rust#97915) - [Make RwLockReadGuard covariant] (rust-lang/rust#96820) - [Implement `FusedIterator` for `std::net::[Into]Incoming`] (rust-lang/rust#97300) - [`impl<T: AsRawFd> AsRawFd for {Arc,Box}<T>`] (rust-lang/rust#97437) - [`ptr::copy` and `ptr::swap` are doing untyped copies] (rust-lang/rust#97712) - [Add cgroupv1 support to `available_parallelism`] (rust-lang/rust#97925) - [Mitigate many incorrect uses of `mem::uninitialized`] (rust-lang/rust#99182) Stabilized APIs --------------- - [`future::IntoFuture`] (https://doc.rust-lang.org/stable/std/future/trait.IntoFuture.html) - [`future::poll_fn`] (https://doc.rust-lang.org/stable/std/future/fn.poll_fn.html) - [`task::ready!`] (https://doc.rust-lang.org/stable/std/task/macro.ready.html) - [`num::NonZero*::checked_mul`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.checked_mul) - [`num::NonZero*::checked_pow`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.checked_pow) - [`num::NonZero*::saturating_mul`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.saturating_mul) - [`num::NonZero*::saturating_pow`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.saturating_pow) - [`num::NonZeroI*::abs`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroIsize.html#method.abs) - [`num::NonZeroI*::checked_abs`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroIsize.html#method.checked_abs) - [`num::NonZeroI*::overflowing_abs`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroIsize.html#method.overflowing_abs) - [`num::NonZeroI*::saturating_abs`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroIsize.html#method.saturating_abs) - [`num::NonZeroI*::unsigned_abs`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroIsize.html#method.unsigned_abs) - [`num::NonZeroI*::wrapping_abs`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroIsize.html#method.wrapping_abs) - [`num::NonZeroU*::checked_add`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.checked_add) - [`num::NonZeroU*::checked_next_power_of_two`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.checked_next_power_of_two) - [`num::NonZeroU*::saturating_add`] (https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.saturating_add) - [`os::unix::process::CommandExt::process_group`] (https://doc.rust-lang.org/stable/std/os/unix/process/trait.CommandExt.html#tymethod.process_group) - [`os::windows::fs::FileTypeExt::is_symlink_dir`] (https://doc.rust-lang.org/stable/std/os/windows/fs/trait.FileTypeExt.html#tymethod.is_symlink_dir) - [`os::windows::fs::FileTypeExt::is_symlink_file`] (https://doc.rust-lang.org/stable/std/os/windows/fs/trait.FileTypeExt.html#tymethod.is_symlink_file) These types were previously stable in `std::ffi`, but are now also available in `core` and `alloc`: - [`core::ffi::CStr`] (https://doc.rust-lang.org/stable/core/ffi/struct.CStr.html) - [`core::ffi::FromBytesWithNulError`] (https://doc.rust-lang.org/stable/core/ffi/struct.FromBytesWithNulError.html) - [`alloc::ffi::CString`] (https://doc.rust-lang.org/stable/alloc/ffi/struct.CString.html) - [`alloc::ffi::FromVecWithNulError`] (https://doc.rust-lang.org/stable/alloc/ffi/struct.FromVecWithNulError.html) - [`alloc::ffi::IntoStringError`] (https://doc.rust-lang.org/stable/alloc/ffi/struct.IntoStringError.html) - [`alloc::ffi::NulError`] (https://doc.rust-lang.org/stable/alloc/ffi/struct.NulError.html) These types were previously stable in `std::os::raw`, but are now also available in `core::ffi` and `std::ffi`: - [`ffi::c_char`] (https://doc.rust-lang.org/stable/std/ffi/type.c_char.html) - [`ffi::c_double`] (https://doc.rust-lang.org/stable/std/ffi/type.c_double.html) - [`ffi::c_float`] (https://doc.rust-lang.org/stable/std/ffi/type.c_float.html) - [`ffi::c_int`] (https://doc.rust-lang.org/stable/std/ffi/type.c_int.html) - [`ffi::c_long`] (https://doc.rust-lang.org/stable/std/ffi/type.c_long.html) - [`ffi::c_longlong`] (https://doc.rust-lang.org/stable/std/ffi/type.c_longlong.html) - [`ffi::c_schar`] (https://doc.rust-lang.org/stable/std/ffi/type.c_schar.html) - [`ffi::c_short`] (https://doc.rust-lang.org/stable/std/ffi/type.c_short.html) - [`ffi::c_uchar`] (https://doc.rust-lang.org/stable/std/ffi/type.c_uchar.html) - [`ffi::c_uint`] (https://doc.rust-lang.org/stable/std/ffi/type.c_uint.html) - [`ffi::c_ulong`] (https://doc.rust-lang.org/stable/std/ffi/type.c_ulong.html) - [`ffi::c_ulonglong`] (https://doc.rust-lang.org/stable/std/ffi/type.c_ulonglong.html) - [`ffi::c_ushort`] (https://doc.rust-lang.org/stable/std/ffi/type.c_ushort.html) These APIs are now usable in const contexts: - [`slice::from_raw_parts`] (https://doc.rust-lang.org/stable/core/slice/fn.from_raw_parts.html) Cargo ----- - [Packages can now inherit settings from the workspace so that the settings can be centralized in one place.] (rust-lang/cargo#10859) See [`workspace.package`](https://doc.rust-lang.org/nightly/cargo/reference/workspaces.html#the-workspacepackage-table) and [`workspace.dependencies`](https://doc.rust-lang.org/nightly/cargo/reference/workspaces.html#the-workspacedependencies-table) for more details on how to define these common settings. - [Cargo commands can now accept multiple `--target` flags to build for multiple targets at once] (rust-lang/cargo#10766), and the [`build.target`](https://doc.rust-lang.org/nightly/cargo/reference/config.html#buildtarget) config option may now take an array of multiple targets. - [The `--jobs` argument can now take a negative number to count backwards from the max CPUs.] (rust-lang/cargo#10844) - [`cargo add` will now update `Cargo.lock`.] (rust-lang/cargo#10902) - [Added](rust-lang/cargo#10838) the [`--crate-type`](https://doc.rust-lang.org/nightly/cargo/commands/cargo-rustc.html#option-cargo-rustc---crate-type) flag to `cargo rustc` to override the crate type. - [Significantly improved the performance fetching git dependencies from GitHub when using a hash in the `rev` field.] (rust-lang/cargo#10079) Misc ---- - [The `rust-analyzer` rustup component is now available on the stable channel.] (rust-lang/rust#98640) Compatibility Notes ------------------- - The minimum required versions for all `-linux-gnu` targets are now at least kernel 3.2 and glibc 2.17, for targets that previously supported older versions: [Increase the minimum linux-gnu versions](rust-lang/rust#95026) - [Network primitives are now implemented with the ideal Rust layout, not the C system layout] (rust-lang/rust#78802). This can cause problems when transmuting the types. - [Add assertion that `transmute_copy`'s `U` is not larger than `T`] (rust-lang/rust#98839) - [A soundness bug in `BTreeMap` was fixed] (rust-lang/rust#99413) that allowed data it was borrowing to be dropped before the container. - [The Drop behavior of C-like enums cast to ints has changed] (rust-lang/rust#96862). These are already discouraged by a compiler warning. - [Relate late-bound closure lifetimes to parent fn in NLL] (rust-lang/rust#98835) - [Errors at const-eval time are now in future incompatibility reports] (rust-lang/rust#97743) - On the `thumbv6m-none-eabi` target, some incorrect `asm!` statements were erroneously accepted if they used the high registers (r8 to r14) as an input/output operand. [This is no longer accepted] (rust-lang/rust#99155). - [`impl Trait` was accidentally accepted as the associated type value of return-position `impl Trait`] (rust-lang/rust#97346), without fulfilling all the trait bounds of that associated type, as long as the hidden type satisfies said bounds. This has been fixed. Internal Changes ---------------- These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools. - Windows builds now use profile-guided optimization, providing 10-20% improvements to compiler performance: [Utilize PGO for windows x64 rustc dist builds] (rust-lang/rust#96978) - [Stop keeping metadata in memory before writing it to disk] (rust-lang/rust#96544) - [compiletest: strip debuginfo by default for mode=ui] (rust-lang/rust#98140) - Many improvements to generated code for derives, including performance improvements: - [Don't use match-destructuring for derived ops on structs.] (rust-lang/rust#98446) - [Many small deriving cleanups] (rust-lang/rust#98741) - [More derive output improvements] (rust-lang/rust#98758) - [Clarify deriving code](rust-lang/rust#98915) - [Final derive output improvements] (rust-lang/rust#99046) - [Stop injecting `#[allow(unused_qualifications)]` in generated `derive` implementations](rust-lang/rust#99485) - [Improve `derive(Debug)`](rust-lang/rust#98190) - [Bump to clap 3](rust-lang/rust#98213) - [fully move dropck to mir](rust-lang/rust#98641) - [Optimize `Vec::insert` for the case where `index == len`.] (rust-lang/rust#98755) - [Convert rust-analyzer to an in-tree tool] (rust-lang/rust#99603)
1 parent 712a03f commit cc0843c

35 files changed

+536
-262
lines changed

lang/rust/Makefile

Lines changed: 107 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
# $NetBSD: Makefile,v 1.272 2022/11/11 17:36:39 he Exp $
1+
# $NetBSD: Makefile,v 1.273 2022/11/15 23:11:14 he Exp $
22

3-
DISTNAME= rustc-1.63.0-src
3+
DISTNAME= rustc-1.64.0-src
44
PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
5-
PKGREVISION= 1
65
CATEGORIES= lang
76
MASTER_SITES= https://static.rust-lang.org/dist/
87

@@ -104,7 +103,9 @@ BUILD_TARGET?= build
104103

105104
.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \
106105
!empty(MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf) || \
107-
!empty(TARGET:Marmv[67]-unknown-netbsd-eabihf)
106+
!empty(MACHINE_PLATFORM:MNetBSD-*-mipsel) || \
107+
!empty(TARGET:Marmv[67]-unknown-netbsd-eabihf) || \
108+
!empty(TARGET:Mmipsel-unknown-netbsd)
108109
# Bootstrapping on NetBSD/powerpc requires no debug-info from rustc
109110
# (both for amd64->powerpc built and powerpc->powerpc built bootstrap bits)
110111
# Also try to downsize the armv[67] build.
@@ -127,6 +128,34 @@ CONFIGURE_ARGS+= --set llvm.targets="ARM"
127128
.if !empty(TARGET:Marmv[67]-unknown-netbsd-eabihf)
128129
CONFIGURE_ARGS+= --set llvm.targets="ARM;X86"
129130
.endif
131+
# Same for mips:
132+
.if !empty(MACHINE_PLATFORM:MNetBSD-*-mipsel)
133+
CONFIGURE_ARGS+= --set llvm.targets="Mips"
134+
.endif
135+
.if !empty(TARGET:Mmipsel-unknown-netbsd)
136+
CONFIGURE_ARGS+= --set llvm.targets="Mips;X86"
137+
.endif
138+
139+
#REPLACE_SH+= library/backtrace/ci/android-sdk.sh
140+
#REPLACE_SH+= library/backtrace/ci/debuglink.sh
141+
#REPLACE_SH+= library/backtrace/ci/run.sh
142+
#REPLACE_SH+= library/backtrace/ci/run-docker.sh
143+
#REPLACE_SH+= library/stdarch/ci/style.sh
144+
#REPLACE_SH+= library/stdarch/ci/run.sh
145+
#REPLACE_SH+= library/stdarch/ci/run-docker.sh
146+
#REPLACE_SH+= library/stdarch/ci/dox.sh
147+
#
148+
#REPLACE_PYTHON+=library/core/src/unicode/printable.py
149+
150+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/backtrace/ci/android-sdk.sh
151+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/backtrace/ci/debuglink.sh
152+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/backtrace/ci/run.sh
153+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/backtrace/ci/run-docker.sh
154+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/core/src/unicode/printable.py
155+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/stdarch/ci/style.sh
156+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/stdarch/ci/run.sh
157+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/stdarch/ci/run-docker.sh
158+
CHECK_INTERPRETER_SKIP+=lib/rustlib/src/rust/library/stdarch/ci/dox.sh
130159

131160
.if ${OPSYS} == "NetBSD"
132161
# This block contains information about known trouble on NetBSD and workarounds.
@@ -187,49 +216,49 @@ BUILDLINK_TRANSFORM+= opt:x86_64:arm64
187216
DISTFILES:= ${DEFAULT_DISTFILES}
188217

189218
.if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
190-
RUST_STAGE0_VER= 1.62.1
219+
RUST_STAGE0_VER= 1.63.0
191220
RUST_ARCH:= aarch64-apple-darwin
192221
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
193222
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
194223
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
195224
.endif
196225
.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
197-
RUST_STAGE0_VER= 1.62.1
226+
RUST_STAGE0_VER= 1.63.0
198227
RUST_ARCH:= x86_64-apple-darwin
199228
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
200229
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
201230
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
202231
.endif
203232
.if !empty(MACHINE_PLATFORM:MLinux-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
204-
RUST_STAGE0_VER= 1.62.1
233+
RUST_STAGE0_VER= 1.63.0
205234
RUST_ARCH:= aarch64-unknown-linux-gnu
206235
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
207236
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
208237
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
209238
.endif
210239
.if !empty(MACHINE_PLATFORM:MLinux-*-earmv6hf) || make(distinfo) || make (makesum) || make(mdi)
211-
RUST_STAGE0_VER= 1.62.1
240+
RUST_STAGE0_VER= 1.63.0
212241
RUST_ARCH:= arm-unknown-linux-gnueabihf
213242
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
214243
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
215244
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
216245
.endif
217246
.if !empty(MACHINE_PLATFORM:MLinux-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
218-
RUST_STAGE0_VER= 1.62.1
247+
RUST_STAGE0_VER= 1.63.0
219248
RUST_ARCH:= armv7-unknown-linux-gnueabihf
220249
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
221250
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
222251
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
223252
.endif
224253
.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
225-
RUST_STAGE0_VER= 1.62.1
254+
RUST_STAGE0_VER= 1.63.0
226255
RUST_ARCH:= i686-unknown-linux-gnu
227256
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
228257
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
229258
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
230259
.endif
231260
.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
232-
RUST_STAGE0_VER= 1.62.1
261+
RUST_STAGE0_VER= 1.63.0
233262
RUST_ARCH:= x86_64-unknown-linux-gnu
234263
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
235264
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -241,7 +270,7 @@ DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
241270
# x86_64-sun-solaris bootstrap and comment out the overrides.
242271
#
243272
.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
244-
RUST_STAGE0_VER= 1.62.0
273+
RUST_STAGE0_VER= 1.63.0
245274
RUST_ARCH:= x86_64-unknown-illumos
246275
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
247276
SITES.${RUST_STAGE0}= https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
@@ -254,14 +283,14 @@ CONFIGURE_ARGS+= --host=${RUST_ARCH}
254283
CONFIGURE_ARGS+= --target=${RUST_ARCH}
255284
.endif
256285
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
257-
RUST_STAGE0_VER= 1.62.1
286+
RUST_STAGE0_VER= 1.63.0
258287
RUST_ARCH:= x86_64-unknown-freebsd
259288
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
260289
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
261290
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
262291
.endif
263292
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
264-
RUST_STAGE0_VER= 1.62.1
293+
RUST_STAGE0_VER= 1.63.0
265294
RUST_ARCH= i586-unknown-netbsd
266295
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
267296
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -281,14 +310,14 @@ pre-build-fix-paxctl:
281310
${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
282311
.endif
283312
.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
284-
RUST_STAGE0_VER= 1.62.1
313+
RUST_STAGE0_VER= 1.63.0
285314
RUST_ARCH= x86_64-unknown-netbsd
286315
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
287316
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
288317
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
289318
.endif
290319
.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
291-
RUST_STAGE0_VER= 1.62.1
320+
RUST_STAGE0_VER= 1.63.0
292321
RUST_ARCH= powerpc-unknown-netbsd
293322

294323
# Cross-built against NetBSD 9.0
@@ -311,7 +340,7 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
311340

312341
.endif
313342
.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
314-
RUST_STAGE0_VER= 1.62.1
343+
RUST_STAGE0_VER= 1.63.0
315344
RUST_ARCH= aarch64-unknown-netbsd
316345
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
317346
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -320,7 +349,7 @@ SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
320349
SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
321350
.endif
322351
.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64eb) || make(distinfo) || make (makesum) || make(mdi)
323-
RUST_STAGE0_VER= 1.62.1
352+
RUST_STAGE0_VER= 1.63.0
324353
RUST_ARCH= aarch64_be-unknown-netbsd
325354
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
326355
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
@@ -329,32 +358,41 @@ SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
329358
SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
330359
.endif
331360
.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
332-
RUST_STAGE0_VER= 1.62.1
361+
RUST_STAGE0_VER= 1.63.0
333362
RUST_ARCH= sparc64-unknown-netbsd
334363
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
335364
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
336365
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
337366
SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
338367
SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
339368
.endif
340-
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv6hf) || make(distinfo) || make (makesum) || make(mdi)
341-
RUST_ARCH= armv6-unknown-netbsd-eabihf
369+
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
370+
RUST_ARCH= armv7-unknown-netbsd-eabihf
342371
RUST_STAGE0_VER= 1.63.0
343372
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
344373
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
345374
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
346375
SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
347376
SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
348377
.endif
349-
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
350-
RUST_ARCH= armv7-unknown-netbsd-eabihf
351-
RUST_STAGE0_VER= 1.62.1
378+
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv6hf) || make(distinfo) || make (makesum) || make(mdi)
379+
RUST_ARCH= armv6-unknown-netbsd-eabihf
380+
RUST_STAGE0_VER= 1.63.0
352381
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
353382
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
354383
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
355384
SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
356385
SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
357386
.endif
387+
#.if !empty(MACHINE_PLATFORM:MNetBSD-*-mipsel) || make(distinfo) || make (makesum) || make(mdi)
388+
#RUST_ARCH= mipsel-unknown-netbsd
389+
#RUST_STAGE0_VER= 1.63.0
390+
#RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
391+
#RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
392+
#DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
393+
#SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
394+
#SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
395+
#.endif
358396

359397
# You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf
360398
# if you have a local bootstrap compiler.
@@ -387,29 +425,61 @@ SUBST_VARS.rpath= PREFIX
387425
# updating and verification.
388426
#
389427

390-
CKSUM_CRATES+= vendor/cc-1.0.69
391-
CKSUMS+= 6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba
392-
CKSUMS+= dd09a6ad92c998b3cc15d81b3b56a70544886fe0c22d659406aa25d734fe2fd1
428+
CKSUM_CRATES+= vendor/cc
429+
CKSUMS+= 38970d678de0efb4b5e2978265daa8a613a1db35fc42e669621b03fc56d5b138
430+
CKSUMS+= 1a5dd77a916141a3398372a99278e05cfa9ec9ff56c99325afca6a6b7375c300
393431

394432
CKSUM_CRATES+= vendor/libc
395-
CKSUMS+= 8826303cad14a575fa8189f67c7df52a7e11f8eea0381d7d389ff8206757de9e
396-
CKSUMS+= f79ec5ad2156182d51cf70d80401293da6f8277983dbdedfd2e6927133440e42
433+
CKSUMS+= cb1560bf8ffcc7b2726a27b433efac90e726292960626f3064bd2c6b7f861a55
434+
CKSUMS+= cea54f3eb0929a12fa9c2c07e647343f28fbb6d5394ef0f8e7331959fb540fd3
397435
CKSUMS+= 976b07a13e195840b67c166a62318abfa9ffc8d5ebbb0358f199dd213ec98d1b
398436
CKSUMS+= ee760c856bb491d885e9458fb723c53db7988ba775e59ab5b9ee8be438e69cf4
399437
CKSUMS+= cb1560bf8ffcc7b2726a27b433efac90e726292960626f3064bd2c6b7f861a55
400-
CKSUMS+= 683f56837b31b9f0f5bace3080c5242b86f57f71d1126e352be24af9874ab531
438+
CKSUMS+= b4d5e82df95afc69a931db296be1ef6f40350af60029219587f64ca600f5f53d
401439

402440
CKSUM_CRATES+= vendor/lzma-sys
403441
CKSUMS+= 6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
404442
CKSUMS+= 5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef
405443

444+
CKSUM_CRATES+= vendor/cc-1.0.69
445+
CKSUMS+= 6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba
446+
CKSUMS+= dd09a6ad92c998b3cc15d81b3b56a70544886fe0c22d659406aa25d734fe2fd1
447+
406448
CKSUM_CRATES+= vendor/stacker
407449
CKSUMS+= cee329550bad2ed1182abb71db9c24558a91b12e1eab8d9a48e23b997bb8f04e
408450
CKSUMS+= 79915b243d02df1dc698f5c2de3a9356c6c296d2dedb06d9035dbcc2f8972cf4
409451

452+
CKSUM_CRATES+= vendor/kqueue
453+
CKSUMS+= 900a966152b8fdccc4e953df94fa27024cb473f57f49df06cd8f2acaac869787
454+
CKSUMS+= 9bf215b1d26d7f12def8cbc3cdc2f89eabe9249f040911c4a44792fb417cc0fd
455+
456+
CKSUM_CRATES+= vendor/crossbeam-utils-0.8.8
457+
CKSUMS+= 71b5f78fd701ce604aa766dd3d825fa5bed774282aae4d6c31d7acb01b1b242f
458+
CKSUMS+= 8fe3bafee993fe92ef421e066b4ed3b75c52efd5f8676b8950d1b868f3a7abba
459+
460+
CKSUM_CRATES+= vendor/crossbeam
461+
CKSUMS+= a2621c1b029c614fb0ab8e3f5cda2e839df88d90d26133181c1b901965f7eec4
462+
CKSUMS+= 1ca104253f186211d88627c66086278adf6cd8e17eaaa243b822106d5e95d637
463+
464+
CKSUM_CRATES+= vendor/crossbeam-utils
465+
CKSUMS+= 916ed15218bb7b75a4e0d432430e7134efd27ca43ca8a8766e0c90e89febb602
466+
CKSUMS+= 9203c99b493cf333be37410484eb3a1d7f9fccf5049aa5fd6fc9b89b20f946ed
467+
468+
CKSUM_CRATES+= vendor/crossbeam-epoch
469+
CKSUMS+= 916ed15218bb7b75a4e0d432430e7134efd27ca43ca8a8766e0c90e89febb602
470+
CKSUMS+= 9203c99b493cf333be37410484eb3a1d7f9fccf5049aa5fd6fc9b89b20f946ed
471+
472+
CKSUM_CRATES+= vendor/crossbeam-queue
473+
CKSUMS+= 71b5f78fd701ce604aa766dd3d825fa5bed774282aae4d6c31d7acb01b1b242f
474+
CKSUMS+= 8fe3bafee993fe92ef421e066b4ed3b75c52efd5f8676b8950d1b868f3a7abba
475+
476+
CKSUM_CRATES+= vendor/crossbeam-epoch-0.9.6
477+
CKSUMS+= 3529c0833bcd1e09a352d3bd1696d3666850c9b09fe2111bf1a783ec16a5f467
478+
CKSUMS+= 67fd5293c2f8d25fd2eaa4694198178c44e46e4db589fbf6f33459b200419e34
479+
410480
CKSUM_CRATES+= vendor/openssl-src
411-
CKSUMS+= 65a4daf6f0d6ad80a83d63614288c3a9df9adcebe5f3d7ff2ad34dd3d2c75196
412-
CKSUMS+= a2fbabba485081fcad2ea712f4c1b38f111ade4c75ca61d3c8579c99aa5a173d
481+
CKSUMS+= 40cd1069246b552b04fcdfd13eb77b3a89194192f18c426b77377a78abbfd72f
482+
CKSUMS+= 0762dfc33f22810157225d9a78415ac3df6a89d589d1937cc58f75a6611e7fc9
413483

414484
SUBST_CLASSES+= cksum
415485
SUBST_STAGE.cksum= pre-configure
@@ -602,7 +672,8 @@ stage0-bootstrap: install
602672

603673
## Issues specific to: bootstrap AND NetBSD follow
604674

605-
# rust i386 bootstraps are built for 8.0 and still depend on libstdc++.so.8.
675+
# rust i386 and sparc64 bootstraps are built for 8.0
676+
# and still depend on libstdc++.so.8.
606677
# Pull in compat80 on 9.x and newer.
607678
.if (!empty(MACHINE_PLATFORM:MNetBSD-*-i386) || \
608679
!empty(MACHINE_PLATFORM:MNetBSD-*-sparc64)) \
@@ -613,7 +684,8 @@ BUILD_DEPENDS+= compat80>=0:../../emulators/compat80
613684
.include "../../mk/atomic64.mk"
614685
# This is for when we build natively:
615686
.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \
616-
!empty(MACHINE_PLATFORM:MNetBSD-*-i386)
687+
!empty(MACHINE_PLATFORM:MNetBSD-*-i386) || \
688+
!empty(MACHINE_PLATFORM:MNetBSD-*-mipsel)
617689
# Make libatomic library available via a unique directory:
618690
DEPENDS+= libatomic-links>=0:../../devel/libatomic-links
619691
.endif
@@ -622,4 +694,5 @@ BUILD_DEPENDS+= cmake-[0-9]*:../../devel/cmake
622694
.include "../../devel/cmake/buildlink3.mk"
623695
.include "../../devel/zlib/buildlink3.mk"
624696
.include "../../lang/python/tool.mk"
697+
.include "../../lang/python/application.mk"
625698
.include "../../mk/bsd.pkg.mk"

lang/rust/cross.mk

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $NetBSD: cross.mk,v 1.8 2022/10/23 14:48:31 he Exp $
1+
# $NetBSD: cross.mk,v 1.9 2022/11/15 23:11:14 he Exp $
22

33
# These settings may be used to cross-build rust.
44
#
@@ -20,6 +20,7 @@
2020
#CROSS_ROOT= /u/evbarm64
2121
#CROSS_ROOT= /u/evbarm64eb
2222
#CROSS_ROOT= /u/i386
23+
#CROSS_ROOT= /u/mipsel
2324
#CROSS_ROOT= /
2425
#MAKE_ENV+= CROSS_ROOT=${CROSS_ROOT}
2526

@@ -31,20 +32,22 @@
3132
#GNU_CROSS_TARGET= aarch64--netbsd
3233
#GNU_CROSS_TARGET= aarch64_be--netbsd
3334
#GNU_CROSS_TARGET= i486--netbsdelf
35+
#GNU_CROSS_TARGET= mipsel--netbsd
3436
#MAKE_ENV+= GNU_CROSS_TARGET=${GNU_CROSS_TARGET}
3537

3638
# To cross-build rust, you need to specify
3739
# the ultimate target to built for, as well as the
3840
# host the compiler is supposed to run on.
3941
# Rust's target designation
4042
#TARGET= armv7-unknown-netbsd-eabihf
41-
#TARGET= armv6-unknown-netbsd-eabihf
43+
#TARGET= armv6-unknown-netbsd-eabihf
4244
#TARGET= sparc64-unknown-netbsd
4345
#TARGET= powerpc-unknown-netbsd
4446
#TARGET= aarch64-unknown-netbsd
4547
#TARGET= aarch64_be-unknown-netbsd
4648
#TARGET= i686-unknown-netbsd
4749
#TARGET= i586-unknown-netbsd
50+
#TARGET= mipsel-unknown-netbsd
4851
#
4952
#SCRIPTS= ${WRKDIR}/scripts
5053
#CONFIGURE_ARGS+= --host=${TARGET}

0 commit comments

Comments
 (0)