Skip to content

Commit 316dcfc

Browse files
committed
Re-update rust to version 1.44.0.
Pkgsrc changes: * Remove the clutter caused by the cross-compile setup from Makefile (Now consigned to my own private cross.mk file.) * Remove a couple of patches which are now integrated upstream. * Minor adjustments to a couple of other patches. * Adjust cargo checksums after upstream upgrades. * Belatedly bump the curl dependency * If doing a "dist" build, unset DESTDIR during the build phase, to work around a mysterious build bug deep in the bowels of llvm, causing llvm tools to be installed to a directory unexpecetd by the rest of the rust build, ref. rust-lang/rust#73132 A "dist" build is not expected to be followed by an "install". * Bump nearly all bootstraps to 1.43.1; NetBSD earmv7hf bootstrap bumped to 1.44.0, as that one now finally builds and works. Upstream changes: Version 1.44.0 (2020-06-04) ========================== Language -------- - [You can now use `async/.await` with `#[no_std]` enabled.][69033] - [Added the `unused_braces` lint.][70081] **Syntax-only changes** - [Expansion-driven outline module parsing][69838] ```rust #[cfg(FALSE)] mod foo { mod bar { mod baz; // `foo/bar/baz.rs` doesn't exist, but no error! } } ``` These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation. Compiler -------- - [Rustc now respects the `-C codegen-units` flag in incremental mode.][70156] Additionally when in incremental mode rustc defaults to 256 codegen units. - [Refactored `catch_unwind`, to have zero-cost unless unwinding is enabled and a panic is thrown.][67502] - [Added tier 3\* support for the `aarch64-unknown-none` and `aarch64-unknown-none-softfloat` targets.][68334] - [Added tier 3 support for `arm64-apple-tvos` and `x86_64-apple-tvos` targets.][68191] Libraries --------- - [Special cased `vec![]` to map directly to `Vec::new()`.][70632] This allows `vec![]` to be able to be used in `const` contexts. - [`convert::Infallible` now implements `Hash`.][70281] - [`OsString` now implements `DerefMut` and `IndexMut` returning a `&mut OsStr`.][70048] - [Unicode 13 is now supported.][69929] - [`String` now implements `From<&mut str>`.][69661] - [`IoSlice` now implements `Copy`.][69403] - [`Vec<T>` now implements `From<[T; N]>`.][68692] Where `N` is less than 32. - [`proc_macro::LexError` now implements `fmt::Display` and `Error`.][68899] - [`from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`, `from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all integer types.][69373] Stabilized APIs --------------- - [`PathBuf::with_capacity`] - [`PathBuf::capacity`] - [`PathBuf::clear`] - [`PathBuf::reserve`] - [`PathBuf::reserve_exact`] - [`PathBuf::shrink_to_fit`] - [`f32::to_int_unchecked`] - [`f64::to_int_unchecked`] - [`Layout::align_to`] - [`Layout::pad_to_align`] - [`Layout::array`] - [`Layout::extend`] Cargo ----- - [Added the `cargo tree` command which will print a tree graph of your dependencies.][cargo/8062] E.g. ``` mdbook v0.3.2 (/Users/src/rust/mdbook) +-- ammonia v3.0.0 | +-- html5ever v0.24.0 | | +-- log v0.4.8 | | | +-- cfg-if v0.1.9 | | +-- mac v0.1.1 | | +-- markup5ever v0.9.0 | | +-- log v0.4.8 (*) | | +-- phf v0.7.24 | | | +-- phf_shared v0.7.24 | | | +-- siphasher v0.2.3 | | | +-- unicase v1.4.2 | | | [build-dependencies] | | | +-- version_check v0.1.5 ... ``` You can also display dependencies on multiple versions of the same crate with `cargo tree -d` (short for `cargo tree --duplicates`). Misc ---- - [Rustdoc now allows you to specify `--crate-version` to have rustdoc include the version in the sidebar.][69494] Compatibility Notes ------------------- - [Rustc now correctly generates static libraries on Windows GNU targets with the `.a` extension, rather than the previous `.lib`.][70937] - [Removed the `-C no_integrated_as` flag from rustc.][70345] - [The `file_name` property in JSON output of macro errors now points the actual source file rather than the previous format of `<NAME macros>`.][70969] **Note:** this may not point a file that actually exists on the user's system. - [The minimum required external LLVM version has been bumped to LLVM 8.][71147] - [`mem::{zeroed, uninitialised}` will now panic when used with types that do not allow zero initialization such as `NonZeroU8`.][66059] This was previously a warning. - [In 1.45.0 (the next release) converting a `f64` to `u32` using the `as` operator has been defined as a saturating operation.][71269] This was previously undefined behaviour, you can use the `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour which may desirable in rare performance sensitive situations. 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. - [dep_graph Avoid allocating a set on when the number reads are small.][69778] - [Replace big JS dict with JSON parsing.][71250] [69373]: rust-lang/rust#69373 [66059]: rust-lang/rust#66059 [68191]: rust-lang/rust#68191 [68899]: rust-lang/rust#68899 [71147]: rust-lang/rust#71147 [71250]: rust-lang/rust#71250 [70937]: rust-lang/rust#70937 [70969]: rust-lang/rust#70969 [70632]: rust-lang/rust#70632 [70281]: rust-lang/rust#70281 [70345]: rust-lang/rust#70345 [70048]: rust-lang/rust#70048 [70081]: rust-lang/rust#70081 [70156]: rust-lang/rust#70156 [71269]: rust-lang/rust#71269 [69838]: rust-lang/rust#69838 [69929]: rust-lang/rust#69929 [69661]: rust-lang/rust#69661 [69778]: rust-lang/rust#69778 [69494]: rust-lang/rust#69494 [69403]: rust-lang/rust#69403 [69033]: rust-lang/rust#69033 [68692]: rust-lang/rust#68692 [68334]: rust-lang/rust#68334 [67502]: rust-lang/rust#67502 [cargo/8062]: rust-lang/cargo#8062 [`PathBuf::with_capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.with_capacity [`PathBuf::capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.capacity [`PathBuf::clear`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.clear [`PathBuf::reserve`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve [`PathBuf::reserve_exact`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve_exact [`PathBuf::shrink_to_fit`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.shrink_to_fit [`f32::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_int_unchecked [`f64::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_int_unchecked [`Layout::align_to`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.align_to [`Layout::pad_to_align`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.pad_to_align [`Layout::array`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.array [`Layout::extend`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.extend
1 parent 52140e4 commit 316dcfc

6 files changed

+134
-216
lines changed

lang/rust/Makefile

+23-61
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
# $NetBSD: Makefile,v 1.181 2020/06/24 09:46:26 nia Exp $
1+
# $NetBSD: Makefile,v 1.182 2020/07/06 13:56:31 he Exp $
22

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

@@ -49,47 +48,6 @@ CONFIGURE_ARGS+= --disable-ninja
4948
#BUILD_TARGET= dist
5049
BUILD_TARGET= build
5150

52-
# The gcc-wrap / c++-wrap script takes CROSS_ROOT environment variable
53-
# to do a cross-build. The wrapper script assumes dest/ and tools/
54-
# as a result of a cross-build as subdirectories of this root
55-
#CROSS_ROOT= /u/evbarm-armv7hf
56-
#CROSS_ROOT= /u/sparc64
57-
#CROSS_ROOT= /u/macppc
58-
#CROSS_ROOT= /u/evbarm64
59-
#MAKE_ENV+= CROSS_ROOT=${CROSS_ROOT}
60-
61-
# The GNU cross target designation
62-
#GNU_CROSS_TARGET= armv7--netbsdelf-eabihf
63-
#GNU_CROSS_TARGET= sparc64--netbsd
64-
#GNU_CROSS_TARGET= powerpc--netbsd
65-
#GNU_CROSS_TARGET= aarch64--netbsd
66-
#MAKE_ENV+= GNU_CROSS_TARGET=${GNU_CROSS_TARGET}
67-
68-
# To cross-build rust, you need to specify
69-
# the ultimate target to built for, as well as the
70-
# host the compiler is supposed to run on.
71-
# Rust's target designation
72-
#TARGET= armv7-unknown-netbsd-eabihf
73-
#TARGET= sparc64-unknown-netbsd
74-
#TARGET= powerpc-unknown-netbsd
75-
#TARGET= aarch64-unknown-netbsd
76-
#SCRIPTS= ${WRKDIR}/scripts
77-
#CONFIGURE_ARGS+= --host=${TARGET}
78-
#CONFIGURE_ARGS+= --target=${TARGET}
79-
# for gcc as target compiler:
80-
#CONFIGURE_ARGS+= --set=target.${TARGET}.cc=${SCRIPTS}/gcc-wrap
81-
#CONFIGURE_ARGS+= --set=target.${TARGET}.cxx=${SCRIPTS}/c++-wrap
82-
#CONFIGURE_ARGS+= --set=target.${TARGET}.linker=${SCRIPTS}/gcc-wrap
83-
# for clang as target compiler:
84-
#CONFIGURE_ARGS+= --set=target.${TARGET}.cc=${SCRIPTS}/clang-wrap
85-
#CONFIGURE_ARGS+= --set=target.${TARGET}.cxx=${SCRIPTS}/clang++-wrap
86-
#CONFIGURE_ARGS+= --set=target.${TARGET}.linker=${SCRIPTS}/clang-wrap
87-
# common:
88-
#CONFIGURE_ARGS+= --set=target.${TARGET}.ar=${CROSS_ROOT}/tools/bin/${GNU_CROSS_TARGET}-ar
89-
90-
# May be required when cross-building on NetBSD
91-
#MAKE_ENV+= OPENSSL_DIR=/usr
92-
9351
# Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
9452
# uncommenting the LD_LIBRARY_PATH setting may be required to run
9553
# the bootstrap
@@ -204,31 +162,31 @@ DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
204162
pre-build-fix:
205163
.endif
206164
.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
207-
RUST_STAGE0_VER= 1.42.0
165+
RUST_STAGE0_VER= 1.43.1
208166
RUST_ARCH:= x86_64-apple-darwin
209167
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
210168
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
211169
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
212170
pre-build-fix:
213171
.endif
214172
.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
215-
RUST_STAGE0_VER= 1.42.0
173+
RUST_STAGE0_VER= 1.43.1
216174
RUST_ARCH:= i686-unknown-linux-gnu
217175
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
218176
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
219177
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
220178
pre-build-fix:
221179
.endif
222180
.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
223-
RUST_STAGE0_VER= 1.42.0
181+
RUST_STAGE0_VER= 1.43.1
224182
RUST_ARCH:= x86_64-unknown-linux-gnu
225183
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
226184
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
227185
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
228186
pre-build-fix:
229187
.endif
230188
.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
231-
RUST_STAGE0_VER= 1.42.0
189+
RUST_STAGE0_VER= 1.43.1
232190
RUST_ARCH:= x86_64-sun-solaris
233191
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
234192
SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
@@ -237,23 +195,23 @@ RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}
237195
pre-build-fix:
238196
.endif
239197
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
240-
RUST_STAGE0_VER= 1.42.0
198+
RUST_STAGE0_VER= 1.43.1
241199
RUST_ARCH:= i686-unknown-freebsd
242200
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
243201
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
244202
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
245203
pre-build-fix:
246204
.endif
247205
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
248-
RUST_STAGE0_VER= 1.42.0
206+
RUST_STAGE0_VER= 1.43.1
249207
RUST_ARCH:= x86_64-unknown-freebsd
250208
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
251209
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
252210
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
253211
pre-build-fix:
254212
.endif
255213
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
256-
RUST_STAGE0_VER= 1.42.0
214+
RUST_STAGE0_VER= 1.43.1
257215
RUST_ARCH= i686-unknown-netbsd
258216
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
259217
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -270,15 +228,15 @@ pre-build-fix:
270228
${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
271229
.endif
272230
.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
273-
RUST_STAGE0_VER= 1.42.0
231+
RUST_STAGE0_VER= 1.43.1
274232
RUST_ARCH= x86_64-unknown-netbsd
275233
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
276234
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
277235
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
278236
pre-build-fix:
279237
.endif
280238
.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
281-
RUST_STAGE0_VER= 1.42.0
239+
RUST_STAGE0_VER= 1.43.1
282240
RUST_ARCH= powerpc-unknown-netbsd
283241
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
284242
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -288,7 +246,7 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
288246
pre-build-fix:
289247
.endif
290248
.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
291-
RUST_STAGE0_VER= 1.42.0
249+
RUST_STAGE0_VER= 1.43.1
292250
RUST_ARCH= aarch64-unknown-netbsd
293251
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
294252
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -298,7 +256,7 @@ SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
298256
pre-build-fix:
299257
.endif
300258
.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
301-
RUST_STAGE0_VER= 1.42.0
259+
RUST_STAGE0_VER= 1.43.1
302260
RUST_ARCH= sparc64-unknown-netbsd
303261
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
304262
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -309,7 +267,7 @@ pre-build-fix:
309267
.endif
310268
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
311269
RUST_ARCH= armv7-unknown-netbsd-eabihf
312-
RUST_STAGE0_VER= 1.35.0
270+
RUST_STAGE0_VER= 1.44.0
313271
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
314272
RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
315273
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
@@ -346,12 +304,12 @@ SUBST_VARS.rpath= PREFIX
346304
# updating and verification.
347305
#
348306
CKSUM_CRATES+= vendor/backtrace-sys
349-
CKSUMS+= 59763fc255248b54fba5d0761d61093a73d51fa4cb400b0df1b5f339b9c2f48a
350-
CKSUMS+= ba66d192421fd536ceddb50616c4c4aea06f4e39450eb0bc2bbbaed0b1e684c1
307+
CKSUMS+= dbe2eb824252135e7a154805c148defb2142a26b0c2267f5b1033ad69f441e33
308+
CKSUMS+= 323987bb2d5b7ec6044b881b70f339472d886fc23bf212392b8a0158b15d3862
351309

352310
CKSUM_CRATES+= vendor/libc
353-
CKSUMS+= cd266cee38f25fe9ed896ba88ddd3530eca352c4d260671fb63d315890bc49e6
354-
CKSUMS+= 109a8e5a1638b09c4297e8e7ff95f35b4d16a3c0b42c8791b5fdd3f550612f8c
311+
CKSUMS+= 721e1609f429b472bc05c9284e15d6e73b39bbc5f79fff46690642342ed4c1cb
312+
CKSUMS+= 1cf80fac8e5edb960539eedd968aa981ebb54949d7a5c9bb3b4ed6ad5901f1b1
355313

356314
CKSUM_CRATES+= vendor/libssh2-sys
357315
CKSUMS+= 0d80edbdffcf36a165578b3cffe9bc4e9eab3b3ae94a170ec8bc18764159cabb
@@ -415,7 +373,10 @@ pre-build: pre-build-fix
415373
do-build:
416374
cd ${WRKSRC} \
417375
&& ${_ULIMIT_CMD} ${SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
418-
${PYTHONBIN} ./x.py -v ${BUILD_TARGET} -j ${_MAKE_JOBS_N}
376+
sh -c "if [ \"${BUILD_TARGET}\" = \"dist\" ]; then \
377+
unset DESTDIR; \
378+
fi; \
379+
${PYTHONBIN} ./x.py -v ${BUILD_TARGET} -j ${_MAKE_JOBS_N}"
419380

420381
do-install:
421382
cd ${WRKSRC} \
@@ -539,5 +500,6 @@ DEPENDS+= compat80>=0:../../emulators/compat80
539500
.include "../../devel/zlib/buildlink3.mk"
540501
.include "../../lang/python/tool.mk"
541502
.include "../../security/openssl/buildlink3.mk"
503+
BUILDLINK_API_DEPENDS.curl+= curl>=7.67.0
542504
.include "../../www/curl/buildlink3.mk"
543505
.include "../../mk/bsd.pkg.mk"

0 commit comments

Comments
 (0)