Skip to content

Commit c8f96ea

Browse files
committed
Upgrade rust to version 1.47.0.
Pkgsrc changes: * Remove patches now integrated upstream, many related to SunOS / Illumos. * The LLVM fix for powerpc is also now integrated upstream. * Adapt those patches where the source has moved or parts are integrated. * The randomness patches no longer applies, and I could not find where those files went... * Provide a separate bootstrap for NetBSD/powerpc 9.0, since apparently the C++ ABI is different from 8.0. Yes, this appears to be specific to the NetBSD powerpc ports. Upstream changes: Version 1.47.0 (2020-10-08) ========================== Language -------- - [Closures will now warn when not used.][74869] Compiler -------- - [Stabilized the `-C control-flow-guard` codegen option][73893], which enables [Control Flow Guard][1.47.0-cfg] for Windows platforms, and is ignored on other platforms. - [Upgraded to LLVM 11.][73526] - [Added tier 3\* support for the `thumbv4t-none-eabi` target.][74419] - [Upgrade the FreeBSD toolchain to version 11.4][75204] - [`RUST_BACKTRACE`'s output is now more compact.][75048] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. Libraries --------- - [`CStr` now implements `Index<RangeFrom<usize>>`.][74021] - [Traits in `std`/`core` are now implemented for arrays of any length, not just those of length less than 33.][74060] - [`ops::RangeFull` and `ops::Range` now implement Default.][73197] - [`panic::Location` now implements `Copy`, `Clone`, `Eq`, `Hash`, `Ord`, `PartialEq`, and `PartialOrd`.][73583] Stabilized APIs --------------- - [`Ident::new_raw`] - [`Range::is_empty`] - [`RangeInclusive::is_empty`] - [`Result::as_deref`] - [`Result::as_deref_mut`] - [`Vec::leak`] - [`pointer::offset_from`] - [`f32::TAU`] - [`f64::TAU`] The following previously stable APIs have now been made const. - [The `new` method for all `NonZero` integers.][73858] - [The `checked_add`,`checked_sub`,`checked_mul`,`checked_neg`, `checked_shl`, `checked_shr`, `saturating_add`, `saturating_sub`, and `saturating_mul` methods for all integers.][73858] - [The `checked_abs`, `saturating_abs`, `saturating_neg`, and `signum` for all signed integers.][73858] - [The `is_ascii_alphabetic`, `is_ascii_uppercase`, `is_ascii_lowercase`, `is_ascii_alphanumeric`, `is_ascii_digit`, `is_ascii_hexdigit`, `is_ascii_punctuation`, `is_ascii_graphic`, `is_ascii_whitespace`, and `is_ascii_control` methods for `char` and `u8`.][73858] Cargo ----- - [`build-dependencies` are now built with opt-level 0 by default.][cargo/8500] You can override this by setting the following in your `Cargo.toml`. ```toml [profile.release.build-override] opt-level = 3 ``` - [`cargo-help` will now display man pages for commands rather just the `--help` text.][cargo/8456] - [`cargo-metadata` now emits a `test` field indicating if a target has tests enabled.][cargo/8478] - [`workspace.default-members` now respects `workspace.exclude`.][cargo/8485] - [`cargo-publish` will now use an alternative registry by default if it's the only registry specified in `package.publish`.][cargo/8571] Misc ---- - [Added a help button beside Rustdoc's searchbar that explains rustdoc's type based search.][75366] - [Added the Ayu theme to rustdoc.][71237] Compatibility Notes ------------------- - [Bumped the minimum supported Emscripten version to 1.39.20.][75716] - [Fixed a regression parsing `{} && false` in tail expressions.][74650] - [Added changes to how proc-macros are expanded in `macro_rules!` that should help to preserve more span information.][73084] These changes may cause compiliation errors if your macro was unhygenic or didn't correctly handle `Delimiter::None`. - [Moved support for the CloudABI target to tier 3.][75568] - [`linux-gnu` targets now require minimum kernel 2.6.32 and glibc 2.11.][74163] Internal Only -------- - [Improved default settings for bootstrapping in `x.py`.][73964] You can read details about this change in the ["Changes to `x.py` defaults"](https://blog.rust-lang.org/inside-rust/2020/08/30/changes-to-x-py-defaults.html) post on the Inside Rust blog. - [Added the `rustc-docs` component.][75560] This allows you to install and read the documentation for the compiler internal APIs. (Currently only available for `x86_64-unknown-linux-gnu`.) [1.47.0-cfg]: https://docs.microsoft.com/en-us/windows/win32/secbp/control-flow-guard [76980]: rust-lang/rust#76980 [75048]: rust-lang/rust#75048 [74163]: rust-lang/rust#74163 [71237]: rust-lang/rust#71237 [74869]: rust-lang/rust#74869 [73858]: rust-lang/rust#73858 [75716]: rust-lang/rust#75716 [75908]: rust-lang/rust#75908 [75516]: rust-lang/rust#75516 [75560]: rust-lang/rust#75560 [75568]: rust-lang/rust#75568 [75366]: rust-lang/rust#75366 [75204]: rust-lang/rust#75204 [74650]: rust-lang/rust#74650 [74419]: rust-lang/rust#74419 [73964]: rust-lang/rust#73964 [74021]: rust-lang/rust#74021 [74060]: rust-lang/rust#74060 [73893]: rust-lang/rust#73893 [73526]: rust-lang/rust#73526 [73583]: rust-lang/rust#73583 [73084]: rust-lang/rust#73084 [73197]: rust-lang/rust#73197 [72488]: rust-lang/rust#72488 [cargo/8456]: rust-lang/cargo#8456 [cargo/8478]: rust-lang/cargo#8478 [cargo/8485]: rust-lang/cargo#8485 [cargo/8500]: rust-lang/cargo#8500 [cargo/8571]: rust-lang/cargo#8571 [`Ident::new_raw`]: https://doc.rust-lang.org/nightly/proc_macro/struct.Ident.html#method.new_raw [`Range::is_empty`]: https://doc.rust-lang.org/nightly/std/ops/struct.Range.html#method.is_empty [`RangeInclusive::is_empty`]: https://doc.rust-lang.org/nightly/std/ops/struct.RangeInclusive.html#method.is_empty [`Result::as_deref_mut`]: https://doc.rust-lang.org/nightly/std/result/enum.Result.html#method.as_deref_mut [`Result::as_deref`]: https://doc.rust-lang.org/nightly/std/result/enum.Result.html#method.as_deref [`TypeId::of`]: https://doc.rust-lang.org/nightly/std/any/struct.TypeId.html#method.of [`Vec::leak`]: https://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.leak [`f32::TAU`]: https://doc.rust-lang.org/nightly/std/f32/consts/constant.TAU.html [`f64::TAU`]: https://doc.rust-lang.org/nightly/std/f64/consts/constant.TAU.html [`pointer::offset_from`]: https://doc.rust-lang.org/nightly/std/primitive.pointer.html#method.offset_from
1 parent 12d04bc commit c8f96ea

14 files changed

+181
-455
lines changed

lang/rust/Makefile

+35-30
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
# $NetBSD: Makefile,v 1.202 2020/11/09 07:49:18 schmonz Exp $
1+
# $NetBSD: Makefile,v 1.203 2020/11/13 20:35:58 he Exp $
22

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

@@ -19,7 +18,7 @@ GCC_REQD+= 5
1918
USE_GCC_RUNTIME= yes
2019
USE_LANGUAGES= c c++11
2120
USE_LIBTOOL= yes
22-
USE_TOOLS+= bash ggrep gmake perl:build pkg-config
21+
USE_TOOLS+= bash grep gmake perl:build pkg-config
2322

2423
# The NetBSD bootstraps are built for NetBSD 8 (because rust doesn't
2524
# build on 7). Mark earlier versions as broken.
@@ -155,31 +154,31 @@ BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags
155154
DISTFILES:= ${DEFAULT_DISTFILES}
156155

157156
.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
158-
RUST_STAGE0_VER= 1.45.2
157+
RUST_STAGE0_VER= 1.46.0
159158
RUST_ARCH:= x86_64-apple-darwin
160159
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
161160
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
162161
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
163162
pre-build-fix:
164163
.endif
165164
.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
166-
RUST_STAGE0_VER= 1.45.2
165+
RUST_STAGE0_VER= 1.46.0
167166
RUST_ARCH:= i686-unknown-linux-gnu
168167
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
169168
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
170169
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
171170
pre-build-fix:
172171
.endif
173172
.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
174-
RUST_STAGE0_VER= 1.45.2
173+
RUST_STAGE0_VER= 1.46.0
175174
RUST_ARCH:= x86_64-unknown-linux-gnu
176175
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
177176
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
178177
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
179178
pre-build-fix:
180179
.endif
181180
.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
182-
RUST_STAGE0_VER= 1.45.0
181+
RUST_STAGE0_VER= 1.46.0
183182
RUST_ARCH:= x86_64-sun-solaris
184183
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
185184
SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
@@ -188,23 +187,23 @@ RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}
188187
pre-build-fix:
189188
.endif
190189
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
191-
RUST_STAGE0_VER= 1.45.2
190+
RUST_STAGE0_VER= 1.46.0
192191
RUST_ARCH:= i686-unknown-freebsd
193192
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
194193
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
195194
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
196195
pre-build-fix:
197196
.endif
198197
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
199-
RUST_STAGE0_VER= 1.45.2
198+
RUST_STAGE0_VER= 1.46.0
200199
RUST_ARCH:= x86_64-unknown-freebsd
201200
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
202201
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
203202
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
204203
pre-build-fix:
205204
.endif
206205
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
207-
RUST_STAGE0_VER= 1.45.2
206+
RUST_STAGE0_VER= 1.46.0
208207
RUST_ARCH= i686-unknown-netbsd
209208
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
210209
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -221,25 +220,39 @@ pre-build-fix:
221220
${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
222221
.endif
223222
.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
224-
RUST_STAGE0_VER= 1.45.2
223+
RUST_STAGE0_VER= 1.46.0
225224
RUST_ARCH= x86_64-unknown-netbsd
226225
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
227226
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
228227
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
229228
pre-build-fix:
230229
.endif
231230
.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
232-
RUST_STAGE0_VER= 1.45.2
231+
RUST_STAGE0_VER= 1.46.0
233232
RUST_ARCH= powerpc-unknown-netbsd
234-
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
235-
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
236-
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
237-
SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
233+
234+
# Cross-built against NetBSD 9.0
235+
. if empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi)
236+
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz
237+
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz
238+
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
239+
SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
240+
SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
241+
. endif
242+
243+
# Cross-built against NetBSD 8.0
244+
. if !empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi)
245+
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
246+
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
247+
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
248+
SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
238249
SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
250+
. endif
251+
239252
pre-build-fix:
240253
.endif
241254
.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
242-
RUST_STAGE0_VER= 1.45.2
255+
RUST_STAGE0_VER= 1.46.0
243256
RUST_ARCH= aarch64-unknown-netbsd
244257
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
245258
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -249,7 +262,7 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
249262
pre-build-fix:
250263
.endif
251264
.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
252-
RUST_STAGE0_VER= 1.45.2
265+
RUST_STAGE0_VER= 1.46.0
253266
RUST_ARCH= sparc64-unknown-netbsd
254267
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
255268
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -260,7 +273,7 @@ pre-build-fix:
260273
.endif
261274
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
262275
RUST_ARCH= armv7-unknown-netbsd-eabihf
263-
RUST_STAGE0_VER= 1.45.2
276+
RUST_STAGE0_VER= 1.46.0
264277
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
265278
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
266279
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
@@ -296,10 +309,6 @@ SUBST_VARS.rpath= PREFIX
296309
# than one substitution entry per file, but are kept separate below to ease
297310
# updating and verification.
298311
#
299-
CKSUM_CRATES+= vendor/backtrace-sys
300-
CKSUMS+= dbe2eb824252135e7a154805c148defb2142a26b0c2267f5b1033ad69f441e33
301-
CKSUMS+= 323987bb2d5b7ec6044b881b70f339472d886fc23bf212392b8a0158b15d3862
302-
303312
CKSUM_CRATES+= vendor/libc
304313
CKSUMS+= 8a4234e9fcf8f4a64ffcf74ff0bce3e6afa7601cd824e5e9eb6c5c41f709d084
305314
CKSUMS+= b0f52c597f6f0ff7ff95e87754104b3957d1f2623cc53a3ef1986b9c0f0d466f
@@ -312,13 +321,9 @@ CKSUM_CRATES+= vendor/lzma-sys
312321
CKSUMS+= 51a9ca7a4576822dc4fa01b31bc4bbed21817777abb304f605ef5951f68c3ed2
313322
CKSUMS+= 807c3aa4b5a62a70ba790df151e9ecf19f4bb562f2858575d690908751262db3
314323

315-
CKSUM_CRATES+= vendor/rand-0.6.1
316-
CKSUMS+= 1e732c2e3b4bd1561f11e0979bf9d20669a96eae7afe0deff9dfbb980ee47bf1
317-
CKSUMS+= bc03f2345d7cfa7000f9da817120b6afa073359789c21a9a790ebd8676c50cca
318-
319324
CKSUM_CRATES+= vendor/stacker
320-
CKSUMS+= 0f3602e048ab4bc5304226b9c171aee46bd58d0e354ead9c7d2ba6ac6d6f262f
321-
CKSUMS+= 978a71088fd5b6116eb9839d311b34a701d1429928fc536de872c2e5cd74dec8
325+
CKSUMS+= 37ef9666d048191eeca23d8f7d99cf912b953cc489bf860107aec306b95b2d99
326+
CKSUMS+= 410f22f5e95860530be1abaaf2e279d2f4226e5c17c2cee302661d8079246b3a
322327

323328
CKSUM_CRATES+= vendor/tokio-uds
324329
CKSUMS+= 2d4ba4a488ebc43333a5a89dbf1bf614d157e916e97b0364c06e3056d5865913

lang/rust/buildlink3.mk

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
# $NetBSD: buildlink3.mk,v 1.6 2020/07/08 14:46:14 jperkin Exp $
1+
# $NetBSD: buildlink3.mk,v 1.7 2020/11/13 20:35:58 he Exp $
2+
3+
BUILDLINK_TREE+= rust
24

35
#
46
# DO NOT include this directly! Use rust.mk instead.
57
#
6-
BUILDLINK_TREE+= rust
78

89
.if !defined(RUST_BUILDLINK3_MK)
910
RUST_BUILDLINK3_MK:=

0 commit comments

Comments
 (0)