Skip to content

Commit 6aa9ab6

Browse files
committed
Update lang/rust to version 1.49.0.
Pkgsrc changes: * Adjust patches, convert tabs to spaces so that tests pass. * Remove patches which are no longer needed (upstream changed) * Minor adjustments for SunOS, e.g. disable stack probes. * Adjust cargo checksum patching accordingly. * Remove commented-out use of PATCHELF on NetBSD, which doesn't work anyway... Upstream changes: Version 1.49.0 (2020-12-31) ============================ Language ----------------------- - [Unions can now implement `Drop`, and you can now have a field in a union with `ManuallyDrop<T>`.][77547] - [You can now cast uninhabited enums to integers.][76199] - [You can now bind by reference and by move in patterns.][76119] This allows you to selectively borrow individual components of a type. E.g. ```rust #[derive(Debug)] struct Person { name: String, age: u8, } let person = Person { name: String::from("Alice"), age: 20, }; // `name` is moved out of person, but `age` is referenced. let Person { name, ref age } = person; println!("{} {}", name, age); ``` Compiler ----------------------- - [Added tier 1\* support for `aarch64-unknown-linux-gnu`.][78228] - [Added tier 2 support for `aarch64-apple-darwin`.][75991] - [Added tier 2 support for `aarch64-pc-windows-msvc`.][75914] - [Added tier 3 support for `mipsel-unknown-none`.][78676] - [Raised the minimum supported LLVM version to LLVM 9.][78848] - [Output from threads spawned in tests is now captured.][78227] - [Change os and vendor values to "none" and "unknown" for some targets][78951] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. Libraries ----------------------- - [`RangeInclusive` now checks for exhaustion when calling `contains` and indexing.][78109] - [`ToString::to_string` now no longer shrinks the internal buffer in the default implementation.][77997] - [`ops::{Index, IndexMut}` are now implemented for fixed sized arrays of any length.][74989] Stabilized APIs --------------- - [`slice::select_nth_unstable`] - [`slice::select_nth_unstable_by`] - [`slice::select_nth_unstable_by_key`] The following previously stable methods are now `const`. - [`Poll::is_ready`] - [`Poll::is_pending`] Cargo ----------------------- - [Building a crate with `cargo-package` should now be independently reproducible.][cargo/8864] - [`cargo-tree` now marks proc-macro crates.][cargo/8765] - [Added `CARGO_PRIMARY_PACKAGE` build-time environment variable.] [cargo/8758] This variable will be set if the crate being built is one the user selected to build, either with `-p` or through defaults. - [You can now use glob patterns when specifying packages & targets.][cargo/8752] Compatibility Notes ------------------- - [Demoted `i686-unknown-freebsd` from host tier 2 to target tier 2 support.][78746] - [Macros that end with a semi-colon are now treated as statements even if they expand to nothing.][78376] - [Rustc will now check for the validity of some built-in attributes on enum variants.][77015] Previously such invalid or unused attributes could be ignored. - Leading whitespace is stripped more uniformly in documentation comments, which may change behavior. You read [this post about the changes][rustdoc-ws-post] for more details. - [Trait bounds are no longer inferred for associated types.][79904] Internal Only ------------- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools. - [rustc's internal crates are now compiled using the `initial-exec` Thread Local Storage model.][78201] - [Calculate visibilities once in resolve.][78077] - [Added `system` to the `llvm-libunwind` bootstrap config option.][77703] - [Added `--color` for configuring terminal color support to bootstrap.][79004] [75991]: rust-lang/rust#75991 [78951]: rust-lang/rust#78951 [78848]: rust-lang/rust#78848 [78746]: rust-lang/rust#78746 [78376]: rust-lang/rust#78376 [78228]: rust-lang/rust#78228 [78227]: rust-lang/rust#78227 [78201]: rust-lang/rust#78201 [78109]: rust-lang/rust#78109 [78077]: rust-lang/rust#78077 [77997]: rust-lang/rust#77997 [77703]: rust-lang/rust#77703 [77547]: rust-lang/rust#77547 [77015]: rust-lang/rust#77015 [76199]: rust-lang/rust#76199 [76119]: rust-lang/rust#76119 [75914]: rust-lang/rust#75914 [74989]: rust-lang/rust#74989 [79004]: rust-lang/rust#79004 [78676]: rust-lang/rust#78676 [79904]: rust-lang/rust#79904 [cargo/8864]: rust-lang/cargo#8864 [cargo/8765]: rust-lang/cargo#8765 [cargo/8758]: rust-lang/cargo#8758 [cargo/8752]: rust-lang/cargo#8752 [`slice::select_nth_unstable`]: https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.select_nth_unstable [`slice::select_nth_unstable_by`]: https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.select_nth_unstable_by [`slice::select_nth_unstable_by_key`]: https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.select_nth_unstable_by_key [`hint::spin_loop`]: https://doc.rust-lang.org/stable/std/hint/fn.spin_loop.html [`Poll::is_ready`]: https://doc.rust-lang.org/stable/std/task/enum.Poll.html#method.is_ready [`Poll::is_pending`]: https://doc.rust-lang.org/stable/std/task/enum.Poll.html#method.is_pending [rustdoc-ws-post]: https://blog.guillaume-gomez.fr/articles/2020-11-11+New+doc+comment+handling+in+rustdoc
1 parent b7bb247 commit 6aa9ab6

8 files changed

+151
-185
lines changed

lang/rust/Makefile

Lines changed: 17 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# $NetBSD: Makefile,v 1.216 2021/01/03 21:54:09 he Exp $
1+
# $NetBSD: Makefile,v 1.217 2021/02/14 08:24:30 he Exp $
22

3-
DISTNAME= rustc-1.48.0-src
3+
DISTNAME= rustc-1.49.0-src
44
PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
55
CATEGORIES= lang
66
MASTER_SITES= https://static.rust-lang.org/dist/
@@ -156,23 +156,23 @@ BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags
156156
DISTFILES:= ${DEFAULT_DISTFILES}
157157

158158
.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
159-
RUST_STAGE0_VER= 1.47.0
159+
RUST_STAGE0_VER= 1.48.0
160160
RUST_ARCH:= x86_64-apple-darwin
161161
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
162162
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
163163
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
164164
pre-build-fix:
165165
.endif
166166
.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
167-
RUST_STAGE0_VER= 1.47.0
167+
RUST_STAGE0_VER= 1.48.0
168168
RUST_ARCH:= i686-unknown-linux-gnu
169169
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
170170
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
171171
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
172172
pre-build-fix:
173173
.endif
174174
.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
175-
RUST_STAGE0_VER= 1.47.0
175+
RUST_STAGE0_VER= 1.48.0
176176
RUST_ARCH:= x86_64-unknown-linux-gnu
177177
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
178178
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -199,23 +199,23 @@ CONFIGURE_ARGS+= --target=${RUST_ARCH}
199199
pre-build-fix:
200200
.endif
201201
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
202-
RUST_STAGE0_VER= 1.47.0
202+
RUST_STAGE0_VER= 1.48.0
203203
RUST_ARCH:= i686-unknown-freebsd
204204
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
205205
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
206206
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
207207
pre-build-fix:
208208
.endif
209209
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
210-
RUST_STAGE0_VER= 1.47.0
210+
RUST_STAGE0_VER= 1.48.0
211211
RUST_ARCH:= x86_64-unknown-freebsd
212212
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
213213
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
214214
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
215215
pre-build-fix:
216216
.endif
217217
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
218-
RUST_STAGE0_VER= 1.47.0
218+
RUST_STAGE0_VER= 1.48.0
219219
RUST_ARCH= i686-unknown-netbsd
220220
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
221221
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -232,15 +232,15 @@ pre-build-fix:
232232
${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
233233
.endif
234234
.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
235-
RUST_STAGE0_VER= 1.47.0
235+
RUST_STAGE0_VER= 1.48.0
236236
RUST_ARCH= x86_64-unknown-netbsd
237237
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
238238
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
239239
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
240240
pre-build-fix:
241241
.endif
242242
.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
243-
RUST_STAGE0_VER= 1.47.0
243+
RUST_STAGE0_VER= 1.48.0
244244
RUST_ARCH= powerpc-unknown-netbsd
245245

246246
# Cross-built against NetBSD 9.0
@@ -264,7 +264,7 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
264264
pre-build-fix:
265265
.endif
266266
.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
267-
RUST_STAGE0_VER= 1.47.0
267+
RUST_STAGE0_VER= 1.48.0
268268
RUST_ARCH= aarch64-unknown-netbsd
269269
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
270270
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -274,7 +274,7 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
274274
pre-build-fix:
275275
.endif
276276
.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
277-
RUST_STAGE0_VER= 1.47.0
277+
RUST_STAGE0_VER= 1.48.0
278278
RUST_ARCH= sparc64-unknown-netbsd
279279
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
280280
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -285,7 +285,7 @@ pre-build-fix:
285285
.endif
286286
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
287287
RUST_ARCH= armv7-unknown-netbsd-eabihf
288-
RUST_STAGE0_VER= 1.47.0
288+
RUST_STAGE0_VER= 1.48.0
289289
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
290290
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
291291
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
@@ -325,8 +325,8 @@ SUBST_VARS.rpath= PREFIX
325325
# updating and verification.
326326
#
327327
CKSUM_CRATES+= vendor/libc
328-
CKSUMS+= a9e46c0eee970cb5b4bd910924141d223fad4aa45380d3df1ce4b25992a13037
329-
CKSUMS+= 41394431697e352653c37188233bd44776881eb704132203b1a232271d1afd92
328+
CKSUMS+= 0134ce769d06b1b1f50ad15d1aa7bd8d44bcd2f66c6318dd906de8bc4a4044c7
329+
CKSUMS+= 1107d18986be8af262f7a7c14761a9faf0228dc8a773379b9d7e8d2f711b3f37
330330

331331
CKSUM_CRATES+= vendor/lzma-sys
332332
CKSUMS+= 6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
@@ -341,8 +341,8 @@ CKSUMS+= fd072307ebbaa01cfe1fd7553d7f42d27093b2bd32dd81d419d2e1c9423495a0
341341
CKSUMS+= 9e146a847e1f726fa7d7eae224aaa925030287f99770f950a012cb398e088d12
342342

343343
CKSUM_CRATES+= vendor/openssl-src
344-
CKSUMS+= 29499e62a2cde2fda48d21df58812ee5c198ef744522992bde8faae76747ac08
345-
CKSUMS+= e34f9921c6531d043f3516821442aaeda86c7912d40cbddaf79bba6b08c37952
344+
CKSUMS+= 03dcdaac7de880b860ecfe859ba2ac3e46c8f46a7bf948aa674147eebee421b0
345+
CKSUMS+= 41ab6811d4ffde68f245e5097081ba8052a07a4b86df69a356ba11205e7e2210
346346

347347
SUBST_CLASSES+= cksum
348348
SUBST_STAGE.cksum= pre-configure
@@ -353,17 +353,6 @@ SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json
353353
SUBST_SED.cksum+= -e 's,${from},${to},g'
354354
.endfor
355355

356-
# Patchelf appears to create unrecognized binaries...
357-
#.if ${OPSYS} == "NetBSD"
358-
#TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf
359-
#PATCHELF= ${PREFIX}/bin/patchelf
360-
#FORCE_RPATH= --force-rpath
361-
#.endif
362-
363-
#TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf
364-
#PATCHELF= ${PREFIX}/bin/patchelf
365-
#FORCE_RPATH= --force-rpath
366-
367356
post-extract:
368357
set -e; \
369358
if ${TEST} -e ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/install.sh \
@@ -385,12 +374,6 @@ post-extract:
385374
${LN} -s gcc-wrap c++-wrap; \
386375
${LN} -s gcc-wrap clang++-wrap; \
387376
${LN} -s gcc-wrap clang-wrap
388-
# Fixup cargo rpath to pick up libcurl.so
389-
# RPATH='${PREFIX}/lib:/lib:/usr/lib:$$ORIGIN/../lib'; \
390-
# for f in bin/cargo; do \
391-
# f=${RUST_BOOTSTRAP_PATH:Q}/$$f; \
392-
# ${PATCHELF} ${FORCE_RPATH} --set-rpath $${RPATH} $$f; \
393-
# done
394377
.endif
395378

396379
.if ${OPSYS} == "FreeBSD"

0 commit comments

Comments
 (0)