summaryrefslogtreecommitdiff
path: root/lang/rust-bin/Makefile
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2020-06-09 15:58:05 +0000
committernia <nia@pkgsrc.org>2020-06-09 15:58:05 +0000
commit6c7757ab2b822ee9d10b4d51f621b85525a71a52 (patch)
treefb5ffc6c1a48352089d492ee3307d590f7628d32 /lang/rust-bin/Makefile
parent8a3bb474c4f2db49c578a221f5de9b9454e28f6d (diff)
downloadpkgsrc-6c7757ab2b822ee9d10b4d51f621b85525a71a52.tar.gz
rustc: Update to 1.44.0
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 at most 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 to 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, but you can use the `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour, which may be 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]: https://github.com/rust-lang/rust/pull/69373/ [66059]: https://github.com/rust-lang/rust/pull/66059/ [68191]: https://github.com/rust-lang/rust/pull/68191/ [68899]: https://github.com/rust-lang/rust/pull/68899/ [71147]: https://github.com/rust-lang/rust/pull/71147/ [71250]: https://github.com/rust-lang/rust/pull/71250/ [70937]: https://github.com/rust-lang/rust/pull/70937/ [70969]: https://github.com/rust-lang/rust/pull/70969/ [70632]: https://github.com/rust-lang/rust/pull/70632/ [70281]: https://github.com/rust-lang/rust/pull/70281/ [70345]: https://github.com/rust-lang/rust/pull/70345/ [70048]: https://github.com/rust-lang/rust/pull/70048/ [70081]: https://github.com/rust-lang/rust/pull/70081/ [70156]: https://github.com/rust-lang/rust/pull/70156/ [71269]: https://github.com/rust-lang/rust/pull/71269/ [69838]: https://github.com/rust-lang/rust/pull/69838/ [69929]: https://github.com/rust-lang/rust/pull/69929/ [69661]: https://github.com/rust-lang/rust/pull/69661/ [69778]: https://github.com/rust-lang/rust/pull/69778/ [69494]: https://github.com/rust-lang/rust/pull/69494/ [69403]: https://github.com/rust-lang/rust/pull/69403/ [69033]: https://github.com/rust-lang/rust/pull/69033/ [68692]: https://github.com/rust-lang/rust/pull/68692/ [68334]: https://github.com/rust-lang/rust/pull/68334/ [67502]: https://github.com/rust-lang/rust/pull/67502/ [cargo/8062]: https://github.com/rust-lang/cargo/pull/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
Diffstat (limited to 'lang/rust-bin/Makefile')
-rw-r--r--lang/rust-bin/Makefile51
1 files changed, 29 insertions, 22 deletions
diff --git a/lang/rust-bin/Makefile b/lang/rust-bin/Makefile
index 818d9bf3e96..d228e6b150f 100644
--- a/lang/rust-bin/Makefile
+++ b/lang/rust-bin/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.7 2020/06/03 10:45:04 nia Exp $
+# $NetBSD: Makefile,v 1.8 2020/06/09 15:58:05 nia Exp $
-DISTNAME= rust-1.42.0
+DISTNAME= rust-1.44.0
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/
-PKGREVISION= 1
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://rust-lang.org/
@@ -98,21 +97,25 @@ do-install:
post-install: fix-darwin-install-name
fix-darwin-install-name:
. for bin in cargo-miri clippy-driver miri rls rustc rustdoc
- otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \
- | ${GREP} '@rpath' | while read rpath rest; do \
- install_name_tool -change $$rpath \
- `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
- ${DESTDIR}${PREFIX}/bin/${bin}; \
- done
+ if [ -f ${DESTDIR}${PREFIX}/bin/${bin} ]; then \
+ otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \
+ | ${GREP} '@rpath' | while read rpath rest; do \
+ install_name_tool -change $$rpath \
+ `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
+ ${DESTDIR}${PREFIX}/bin/${bin}; \
+ done \
+ ; fi
. endfor
. for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump \
llvm-profdata llvm-readobj llvm-size llvm-strip
- otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \
- | ${GREP} '@rpath' | while read rpath rest; do \
- install_name_tool -change $$rpath \
- `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \
- ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \
- done
+ if [ -f ${DESTDIR}${PREFIX}/bin/${bin} ]; then \
+ otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \
+ | ${GREP} '@rpath' | while read rpath rest; do \
+ install_name_tool -change $$rpath \
+ `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \
+ ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \
+ done \
+ ; fi
. endfor
. for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends
for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do \
@@ -130,27 +133,31 @@ fix-darwin-install-name:
.else
TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf
-# ld.elf_so in NetBSD 8.x only obeys RPATH, not RUNPATH, so force RPATH there.
-FORCE_RPATH=
# The llvm utilities need a specific libstdc++ version from compat80
. if ${OPSYS} == "NetBSD" && empty(OS_VERSION:M[0-8].*)
RUST_LLVM_RPATH= ${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib
+FORCE_RPATH=
. else
+# ld.elf_so in NetBSD 8.x only obeys RPATH, not RUNPATH, so force RPATH there.
RUST_LLVM_RPATH= ${PREFIX}/lib
-FORCE_RPATH= --force-rpath
+FORCE_RPATH= --force-rpath
. endif
.PHONY: fix-relative-rpath
post-install: fix-relative-rpath
fix-relative-rpath:
. for bin in cargo-miri clippy-driver miri rls rustc rustdoc
- ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \
- ${PREFIX}/lib ${DESTDIR}${PREFIX}/bin/${bin}
+ if [ -f ${DESTDIR}${PREFIX}/bin/${bin} ]; then \
+ ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \
+ ${PREFIX}/lib ${DESTDIR}${PREFIX}/bin/${bin} \
+ ; fi
. endfor
. for bin in llvm-ar llvm-nm llvm-objcopy llvm-objdump llvm-profdata \
llvm-readobj llvm-size llvm-strip
- ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \
- ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}
+ if [ -f ${DESTDIR}${PREFIX}/bin/${bin} ]; then \
+ ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \
+ ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \
+ ; fi
. endfor
. for lib in lib lib/rustlib/${RUST_ARCH}/lib \
lib/rustlib/${RUST_ARCH}/codegen-backends