pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/rust lang/rust: update to version 1.62.1.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/be62ace19d92
branches:  trunk
changeset: 384315:be62ace19d92
user:      he <he%pkgsrc.org@localhost>
date:      Tue Aug 30 19:22:17 2022 +0000

description:
lang/rust: update to version 1.62.1.

Pkgsrc changes:

 * Bump required GCC to 7 (same as LLVM) to avoid ABI issues
   Fixes native i386 and powerpc 8.x build w/pkgsrc LLVM 14
 * Bump available bootstraps to 1.61.0.
 * Also unlimit stacksize
 * Sync patches over from wip/rust
 * Adjust line number in patches which had non-zero offsets.
 * no longer pass -I/usr/pkg/include through via gcc-wrap script
   when building natively.  Attempt at fixing version skew with curl
   package vs. internal version of curl (may not work...)
 * The NetBSD bootstraps now use .xz compression.
 * Use mk/atomic64.mk.  Still have conditional for libatomic-links.
 * Default to using the internal LLVM when cross-building.


Upstream changes:

Version 1.62.1 (2022-07-19)
==========================

Rust 1.62.1 addresses a few recent regressions in the compiler and standard
library, and also mitigates a CPU vulnerability on Intel SGX.

* [The compiler fixed unsound function coercions involving `impl
  Trait` return types.][98608]
* [The compiler fixed an incremental compilation bug with `async
  fn` lifetimes.][98890]
* [Windows added a fallback for overlapped I/O in synchronous reads
  and writes.][98950]
* [The `x86_64-fortanix-unknown-sgx` target added a mitigation for the
  MMIO stale data vulnerability][98126], advisory [INTEL-SA-00615].

[98608]: https://github.com/rust-lang/rust/issues/98608
[98890]: https://github.com/rust-lang/rust/issues/98890
[98950]: https://github.com/rust-lang/rust/pull/98950
[98126]: https://github.com/rust-lang/rust/pull/98126
[INTEL-SA-00615]: https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00615.html


Version 1.62.0 (2022-06-30)
==========================

Language
--------

- [Stabilize `#[derive(Default)]` on enums with a `#[default]` variant][94457]
- [Stop validating some checks in dead code after functions with
  uninhabited return types][93313]
- [Fix constants not getting dropped if part of a diverging expression][94775]
- [Support unit struct/enum variant in destructuring assignment][95380]
- [Remove mutable_borrow_reservation_conflict lint and allow the
  code pattern][96268]

Compiler
--------

- [linker: Stop using whole-archive on dependencies of dylibs][96436]
- [Make `unaligned_references` lint deny-by-default][95372]
  This lint is also a future compatibility lint, and is expected to eventually
  become a hard error.
- [Only add codegen backend to dep info if -Zbinary-dep-depinfo is used][93969]
- [Reject `#[thread_local]` attribute on non-static items][95006]
- [Add tier 3 `aarch64-pc-windows-gnullvm` and `x86_64-pc-windows-gnullvm`
  targets\*][94872]
- [Implement a lint to warn about unused macro rules][96150]
- [Promote `x86_64-unknown-none` target to Tier 2\*][95705]

\* Refer to Rust's [platform support page][platform-support-doc] for more
   information on Rust's tiered platform support.

Libraries
---------

- [Move `CStr` to libcore, and `CString` to liballoc][94079]
- [Windows: Use a pipe relay for chaining pipes][95841]
- [Replace Linux Mutex and Condvar with futex based ones.][95035]
- [Replace RwLock by a futex based one on Linux][95801]
- [std: directly use pthread in UNIX parker implementation][96393]

Stabilized APIs
---------------

- [`bool::then_some`]
- [`f32::total_cmp`]
- [`f64::total_cmp`]
- [`Stdin::lines`]
- [`windows::CommandExt::raw_arg`]
- [`impl<T: Default> Default for AssertUnwindSafe<T>`]
- [`From<Rc<str>> for Rc<[u8]>`][rc-u8-from-str]
- [`From<Arc<str>> for Arc<[u8]>`][arc-u8-from-str]
- [`FusedIterator for EncodeWide`]
- [RDM intrinsics on aarch64][stdarch/1285]

Clippy
------

- [Create clippy lint against unexpectedly late drop for temporaries
  in match scrutinee expressions][94206]

Cargo
-----

- Added the `cargo add` command for adding dependencies to `Cargo.toml` from
  the command-line.
  [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-add.html)
- Package ID specs now support `name@version` syntax in addition to the
  previous `name:version` to align with the behavior in `cargo add` and other
  tools. `cargo install` and `cargo yank` also now support this syntax so the
  version does not need to passed as a separate flag.
- The `git` and `registry` directories in Cargo's home directory (usually
  `~/.cargo`) are now marked as cache directories so that they are not
  included in backups or content indexing (on Windows).
- Added automatic `@` argfile support, which will use "response files" if the
  command-line to `rustc` exceeds the operating system's limit.

Compatibility Notes
-------------------

- `cargo test` now passes `--target` to `rustdoc` if the specified target is
  the same as the host target.
  [#10594](https://github.com/rust-lang/cargo/pull/10594)
- [rustdoc: Remove .woff font files][96279]
- [Enforce Copy bounds for repeat elements while considering lifetimes][95819]

Internal Changes
----------------

- [Unify ReentrantMutex implementations across all platforms][96042]

These changes provide no direct user facing benefits, but represent
significant improvements to the internals and overall performance
of rustc and related tools.

[93313]: https://github.com/rust-lang/rust/pull/93313/
[93969]: https://github.com/rust-lang/rust/pull/93969/
[94079]: https://github.com/rust-lang/rust/pull/94079/
[94206]: https://github.com/rust-lang/rust/pull/94206/
[94457]: https://github.com/rust-lang/rust/pull/94457/
[94775]: https://github.com/rust-lang/rust/pull/94775/
[94872]: https://github.com/rust-lang/rust/pull/94872/
[95006]: https://github.com/rust-lang/rust/pull/95006/
[95035]: https://github.com/rust-lang/rust/pull/95035/
[95372]: https://github.com/rust-lang/rust/pull/95372/
[95380]: https://github.com/rust-lang/rust/pull/95380/
[95431]: https://github.com/rust-lang/rust/pull/95431/
[95705]: https://github.com/rust-lang/rust/pull/95705/
[95801]: https://github.com/rust-lang/rust/pull/95801/
[95819]: https://github.com/rust-lang/rust/pull/95819/
[95841]: https://github.com/rust-lang/rust/pull/95841/
[96042]: https://github.com/rust-lang/rust/pull/96042/
[96150]: https://github.com/rust-lang/rust/pull/96150/
[96268]: https://github.com/rust-lang/rust/pull/96268/
[96279]: https://github.com/rust-lang/rust/pull/96279/
[96393]: https://github.com/rust-lang/rust/pull/96393/
[96436]: https://github.com/rust-lang/rust/pull/96436/
[96557]: https://github.com/rust-lang/rust/pull/96557/

[`bool::then_some`]: https://doc.rust-lang.org/stable/std/primitive.bool.html#method.then_some
[`f32::total_cmp`]: https://doc.rust-lang.org/stable/std/primitive.f32.html#method.total_cmp
[`f64::total_cmp`]: https://doc.rust-lang.org/stable/std/primitive.f64.html#method.total_cmp
[`Stdin::lines`]: https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#method.lines
[`impl<T: Default> Default for AssertUnwindSafe<T>`]: https://doc.rust-lang.org/stable/std/panic/struct.AssertUnwindSafe.html#impl-Default
[rc-u8-from-str]: https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#impl-From%3CRc%3Cstr%3E%3E
[arc-u8-from-str]: https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#impl-From%3CArc%3Cstr%3E%3E
[stdarch/1285]: https://github.com/rust-lang/stdarch/pull/1285
[`windows::CommandExt::raw_arg`]: https://doc.rust-lang.org/stable/std/os/windows/process/trait.CommandExt.html#tymethod.raw_arg
[`FusedIterator for EncodeWide`]: https://doc.rust-lang.org/stable/std/os/windows/ffi/struct.EncodeWide.html#impl-FusedIterator


Version 1.61.0 (2022-05-19)
==========================

Language
--------

- [`const fn` signatures can now include generic trait bounds][93827]
- [`const fn` signatures can now use `impl Trait` in argument and return
  position][93827]
- [Function pointers can now be created, cast, and passed around in a
  `const fn`][93827]
- [Recursive calls can now set the value of a function's opaque
  `impl Trait` return type][94081]

Compiler
--------

- [Linking modifier syntax in `#[link]` attributes and on the command
  line, as well as the `whole-archive` modifier specifically, are now
  supported][93901]
- [The `char` type is now described as UTF-32 in debuginfo][89887]
- The [`#[target_feature]`][target_feature] attribute
  [can now be used with aarch64 features][90621]
- X86 [`#[target_feature = "adx"]` is now stable][93745]

Libraries
---------

- [`ManuallyDrop<T>` is now documented to have the same layout as `T`][88375]
- [`#[ignore = "#"]` messages are printed when running tests][92714]
- [Consistently show absent stdio handles on Windows as NULL handles][93263]
- [Make `std::io::stdio::lock()` return `'static` handles.][93965]
  Previously, the creation of locked handles to stdin/stdout/stderr would
  borrow the handles being locked, which prevented writing
  `let out = std::io::stdout().lock();` because `out` would outlive
  the return value of `stdout()`.
  Such code now works, eliminating a common pitfall that affected many
  Rust users.
- [`Vec::from_raw_parts` is now less restrictive about its inputs][95016]
- [`std::thread::available_parallelism` now takes cgroup quotas into
  account.][92697] Since `available_parallelism` is often used to create a
  thread pool for parallel computation, which may be CPU-bound for
  performance, `available_parallelism` will return a value consistent with
  the ability to use that many threads continuously, if possible.
  For instance, in a container with 8 virtual CPUs but quotas only allowing
  for 50% usage, `available_parallelism` will return 4.

Stabilized APIs
---------------

- [`Pin::static_mut`]
- [`Pin::static_ref`]
- [`Vec::retain_mut`]
- [`VecDeque::retain_mut`]
- [`Write` for `Cursor<[u8; N]>`][cursor-write-array]
- [`std::os::unix::net::SocketAddr::from_pathname`]
- [`std::process::ExitCode`] and [`std::process::Termination`].
  The stabilization of these two API s now makes it possible for
  programs to return errors from `main` with custom exit codes.
- [`std::thread::JoinHandle::is_finished`]

These APIs are now usable in const contexts:

- [`<*const T>::offset` and `<*mut T>::offset`][ptr-offset]
- [`<*const T>::wrapping_offset` and `<*mut T>::wrapping_offset`]
  [ptr-wrapping_offset]
- [`<*const T>::add` and `<*mut T>::add`][ptr-add]
- [`<*const T>::sub` and `<*mut T>::sub`][ptr-sub]
- [`<*const T>::wrapping_add` and `<*mut T>::wrapping_add`][ptr-wrapping_add]
- [`<*const T>::wrapping_sub` and `<*mut T>::wrapping_sub`][ptr-wrapping_sub]
- [`<[T]>::as_mut_ptr`][slice-as_mut_ptr]
- [`<[T]>::as_ptr_range`][slice-as_ptr_range]
- [`<[T]>::as_mut_ptr_range`][slice-as_mut_ptr_range]

Cargo
-----

No feature changes, but see compatibility notes.

Compatibility Notes
-------------------

- Previously native static libraries were linked as `whole-archive` in
  some cases, but now rustc tries not to use `whole-archive` unless
  explicitly requested. This [change][93901] may result in linking errors
  in some cases. To fix such errors, native libraries linked from the
  command line, build scripts, or [`#[link]` attributes][link-attr] need to
  - (more common) either be reordered to respect dependencies between them
    (if `a` depends on `b` then `a` should go first and `b` second)
  - (less common) or be updated to use the [`+whole-archive`] modifier.
- [Catching a second unwind from FFI code while cleaning up from a Rust
  panic now causes the process to abort][92911]
- [Proc macros no longer see `ident` matchers wrapped in groups][92472]
- [The number of `#` in `r#` raw string literals is now required to be
  less than 256][95251]
- [When checking that a dyn type satisfies a trait bound, supertrait
  bounds are now enforced][92285]
- [`cargo vendor` now only accepts one value for each `--sync` flag]
  [cargo/10448]
- [`cfg` predicates in `all()` and `any()` are always evaluated to detect
  errors, instead of short-circuiting.][94295] The compatibility
  considerations here arise in nightly-only code that used the
  short-circuiting behavior of `all` to write something like
  `cfg(all(feature = "nightly", syntax-requiring-nightly))`, which
  will now fail to compile. Instead, use either `cfg_attr(feature
  = "nightly", ...)` or nested uses of `cfg`.
- [bootstrap: static-libstdcpp is now enabled by default, and can
  now be disabled when llvm-tools is enabled][94832]

Internal Changes
----------------

These changes provide no direct user facing benefits, but represent
significant improvements to the internals and overall performance
of rustc and related tools.

- [debuginfo: Refactor debuginfo generation for types][94261]
- [Remove the everybody loops pass][93913]

[88375]: https://github.com/rust-lang/rust/pull/88375/
[89887]: https://github.com/rust-lang/rust/pull/89887/
[90621]: https://github.com/rust-lang/rust/pull/90621/
[92285]: https://github.com/rust-lang/rust/pull/92285/
[92472]: https://github.com/rust-lang/rust/pull/92472/
[92697]: https://github.com/rust-lang/rust/pull/92697/
[92714]: https://github.com/rust-lang/rust/pull/92714/
[92911]: https://github.com/rust-lang/rust/pull/92911/
[93263]: https://github.com/rust-lang/rust/pull/93263/
[93745]: https://github.com/rust-lang/rust/pull/93745/
[93827]: https://github.com/rust-lang/rust/pull/93827/
[93901]: https://github.com/rust-lang/rust/pull/93901/
[93913]: https://github.com/rust-lang/rust/pull/93913/
[93965]: https://github.com/rust-lang/rust/pull/93965/
[94081]: https://github.com/rust-lang/rust/pull/94081/
[94261]: https://github.com/rust-lang/rust/pull/94261/
[94295]: https://github.com/rust-lang/rust/pull/94295/
[94832]: https://github.com/rust-lang/rust/pull/94832/
[95016]: https://github.com/rust-lang/rust/pull/95016/
[95251]: https://github.com/rust-lang/rust/pull/95251/
[`+whole-archive`]: https://doc.rust-lang.org/stable/rustc/command-line-arguments.html#linking-modifiers-whole-archive
[`Pin::static_mut`]: https://doc.rust-lang.org/stable/std/pin/struct.Pin.html#method.static_mut
[`Pin::static_ref`]: https://doc.rust-lang.org/stable/std/pin/struct.Pin.html#method.static_ref
[`Vec::retain_mut`]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.retain_mut
[`VecDeque::retain_mut`]: https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.retain_mut
[`std::os::unix::net::SocketAddr::from_pathname`]: https://doc.rust-lang.org/stable/std/os/unix/net/struct.SocketAddr.html#method.from_pathname
[`std::process::ExitCode`]: https://doc.rust-lang.org/stable/std/process/struct.ExitCode.html
[`std::process::Termination`]: https://doc.rust-lang.org/stable/std/process/trait.Termination.html
[`std::thread::JoinHandle::is_finished`]: https://doc.rust-lang.org/stable/std/thread/struct.JoinHandle.html#method.is_finished
[cargo/10448]: https://github.com/rust-lang/cargo/pull/10448/
[cursor-write-array]: https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#impl-Write-4
[link-attr]: https://doc.rust-lang.org/stable/reference/items/external-blocks.html#the-link-attribute
[ptr-add]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.add
[ptr-offset]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset
[ptr-sub]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.sub
[ptr-wrapping_add]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.wrapping_add
[ptr-wrapping_offset]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.wrapping_offset
[ptr-wrapping_sub]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.wrapping_sub
[slice-as_mut_ptr]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_mut_ptr
[slice-as_mut_ptr_range]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_mut_ptr_range
[slice-as_ptr_range]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_ptr_range
[target_feature]: https://doc.rust-lang.org/reference/attributes/codegen.html#the-target_feature-attribute

diffstat:

 lang/rust/Makefile                                                                             |  105 ++-
 lang/rust/distinfo                                                                             |  252 +++++----
 lang/rust/files/gcc-wrap                                                                       |   14 +-
 lang/rust/options.mk                                                                           |    7 +-
 lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs                        |    4 +-
 lang/rust/patches/patch-compiler_rustc__llvm_build.rs                                          |    4 +-
 lang/rust/patches/patch-compiler_rustc__target_src_spec_aarch64__be__unknown__netbsd.rs        |   10 +-
 lang/rust/patches/patch-compiler_rustc__target_src_spec_i586__unknown__netbsd.rs               |   17 +-
 lang/rust/patches/patch-compiler_rustc__target_src_spec_mod.rs                                 |    4 +-
 lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs                        |   14 +-
 lang/rust/patches/patch-library_backtrace_src_symbolize_gimli.rs                               |   16 +-
 lang/rust/patches/patch-library_backtrace_src_symbolize_gimli_elf.rs                           |    8 +-
 lang/rust/patches/patch-library_std_src_sys_unix_thread.rs                                     |    4 +-
 lang/rust/patches/patch-src_bootstrap_bootstrap.py                                             |   10 +-
 lang/rust/patches/patch-src_bootstrap_builder.rs                                               |   20 +-
 lang/rust/patches/patch-src_bootstrap_compile.rs                                               |    4 +-
 lang/rust/patches/patch-src_bootstrap_lib.rs                                                   |    6 +-
 lang/rust/patches/patch-src_tools_cargo_src_cargo_core_profiles.rs                             |    4 +-
 lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli.rs                                |   16 +-
 lang/rust/patches/patch-vendor_backtrace_src_symbolize_gimli_elf.rs                            |    4 +-
 lang/rust/patches/patch-vendor_cc-1.0.69_src_lib.rs                                            |   14 +
 lang/rust/patches/patch-vendor_cc_src_lib.rs                                                   |    4 +-
 lang/rust/patches/patch-vendor_libc-0.2.112_src_unix_bsd_netbsdlike_netbsd_mod.rs              |   29 -
 lang/rust/patches/patch-vendor_libc-0.2.116_src_unix_bsd_netbsdlike_netbsd_mod.rs              |   29 -
 lang/rust/patches/patch-vendor_libc-0.2.119_src_unix_bsd_netbsdlike_netbsd_mod.rs              |   30 +
 lang/rust/patches/patch-vendor_libc-0.2.123_src_unix_bsd_netbsdlike_netbsd_mod.rs              |   29 +
 lang/rust/patches/patch-vendor_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs                      |    4 +-
 lang/rust/patches/patch-vendor_libc_src_unix_solarish_mod.rs                                   |    4 +-
 lang/rust/patches/patch-vendor_rustc-ap-rustc__target_src_spec_aarch64__be__unknown__netbsd.rs |   27 +
 lang/rust/patches/patch-vendor_target-lexicon_src_targets.rs                                   |    4 +-
 lang/rust/platform.mk                                                                          |    5 +-
 31 files changed, 381 insertions(+), 321 deletions(-)

diffs (truncated from 1273 to 300 lines):

diff -r 378c75531fde -r be62ace19d92 lang/rust/Makefile
--- a/lang/rust/Makefile        Tue Aug 30 18:42:53 2022 +0000
+++ b/lang/rust/Makefile        Tue Aug 30 19:22:17 2022 +0000
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.264 2022/07/27 00:39:35 tnn Exp $
+# $NetBSD: Makefile,v 1.265 2022/08/30 19:22:17 he Exp $
 
-DISTNAME=      rustc-1.60.0-src
+DISTNAME=      rustc-1.62.1-src
 PKGNAME=       ${DISTNAME:S/rustc/rust/:S/-src//}
-PKGREVISION=   1
 CATEGORIES=    lang
 MASTER_SITES=  https://static.rust-lang.org/dist/
 
@@ -13,8 +12,8 @@
 
 CONFLICTS+=    rust-bin-[0-9]*
 
-# uses -std=c++14
-GCC_REQD+=     5
+# LLVM uses gcc7, follow suit.  Also, uses -std=c++14
+GCC_REQD+=     7
 
 USE_GCC_RUNTIME=       yes
 USE_LANGUAGES=         c c++11
@@ -72,7 +71,7 @@
 CFLAGS.SunOS+=         -D_POSIX_PTHREAD_SEMANTICS
 MAKE_ENV.SunOS+=       AR=gar
 
-UNLIMIT_RESOURCES+=    cputime datasize virtualsize
+UNLIMIT_RESOURCES+=    cputime stacksize datasize virtualsize
 
 TEST_TARGET=   check
 
@@ -155,6 +154,13 @@
 .  if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099957
 MAKE_JOBS_SAFE?=       no
 .  endif
+
+# Open PRs
+#
+# Broken package with PREFIX not /usr/pkg:
+#   http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54453
+#
+
 .endif
 
 #
@@ -180,49 +186,49 @@
 DISTFILES:=            ${DEFAULT_DISTFILES}
 
 .if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            aarch64-apple-darwin
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            x86_64-apple-darwin
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            aarch64-unknown-linux-gnu
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-earmv6hf) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            arm-unknown-linux-gnueabihf
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            armv7-unknown-linux-gnueabihf
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            i686-unknown-linux-gnu
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            x86_64-unknown-linux-gnu
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -234,7 +240,7 @@
 # x86_64-sun-solaris bootstrap and comment out the overrides.
 #
 .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            x86_64-unknown-illumos
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 SITES.${RUST_STAGE0}=  https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
@@ -247,17 +253,17 @@
 CONFIGURE_ARGS+=       --target=${RUST_ARCH}
 .endif
 .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH:=            x86_64-unknown-freebsd
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             i586-unknown-netbsd
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
@@ -274,20 +280,20 @@
        ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             x86_64-unknown-netbsd
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             powerpc-unknown-netbsd
 
 # Cross-built against NetBSD 9.0
-.  if ${OPSYS_VERSION} >= 090000 || make(distinfo) || make(makesum) || make(mdi)
-RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz
-RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz
+.  if empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi)
+RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.xz
+RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.xz
 DISTFILES:=                    ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=          ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
@@ -295,8 +301,8 @@
 
 # Cross-built against NetBSD 8.0
 .  if !empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi)
-RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=                  rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=              rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=                    ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=          ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
@@ -304,37 +310,37 @@
 
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             aarch64-unknown-netbsd
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64eb) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             aarch64_be-unknown-netbsd
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_STAGE0_VER=       1.59.0
+RUST_STAGE0_VER=       1.61.0
 RUST_ARCH=             sparc64-unknown-netbsd
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
 .endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
 RUST_ARCH=             armv7-unknown-netbsd-eabihf
-RUST_STAGE0_VER=       1.59.0
-RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STAGE0_VER=       1.61.0
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
+RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.xz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 SITES.${RUST_STAGE0}=  ${MASTER_SITE_LOCAL:=rust/}
 SITES.${RUST_STD_STAGE0}=      ${MASTER_SITE_LOCAL:=rust/}
@@ -371,13 +377,16 @@
 # updating and verification.
 #
 
-#CKSUM_CRATES+=        vendor/cc-1.0.69
-#CKSUMS+=      dd09a6ad92c998b3cc15d81b3b56a70544886fe0c22d659406aa25d734fe2fd1
-#CKSUMS+=      6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba
+CKSUM_CRATES+= vendor/cc-1.0.69
+CKSUMS+=       6dde684bdcc1bb03a808784ce8ccc0721f53bfdf87b84c607045aada916730ba
+CKSUMS+=       dd09a6ad92c998b3cc15d81b3b56a70544886fe0c22d659406aa25d734fe2fd1
 
-CKSUM_CRATES+= vendor/libc-0.2.116
-CKSUMS+=       5f927d3d26165689b3ae7a7535ea5504068a406ef76705572c610995dbea1f0e
-CKSUMS+=       a8da54099bdddb92bd0150fd23b90a7d94216927297b7b24bee219e7e1f754e1
+CKSUM_CRATES+= vendor/libc
+CKSUMS+=       8826303cad14a575fa8189f67c7df52a7e11f8eea0381d7d389ff8206757de9e
+CKSUMS+=       f79ec5ad2156182d51cf70d80401293da6f8277983dbdedfd2e6927133440e42
+#CKSUM_CRATES+=        vendor/libc
+CKSUMS+=       976b07a13e195840b67c166a62318abfa9ffc8d5ebbb0358f199dd213ec98d1b
+CKSUMS+=       ee760c856bb491d885e9458fb723c53db7988ba775e59ab5b9ee8be438e69cf4
 
 CKSUM_CRATES+= vendor/lzma-sys
 CKSUMS+=       6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
@@ -434,6 +443,7 @@
 .if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang) && !exists(/lib/libgcc_s.so)
 BUILDLINK_TRANSFORM+=  rm:-lgcc_s
 MAKE_ENV+=             PKGSRC_HAVE_LIBCPP=yes
+
 pre-build: provide-libgcc-for-bootstrap
 .PHONY: provide-libgcc-for-bootstrap
 provide-libgcc-for-bootstrap:
@@ -587,12 +597,11 @@
 BUILD_DEPENDS+=        compat80>=0:../../emulators/compat80
 .endif
 
+.include "../../mk/atomic64.mk"
 # This is for when we build natively:
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \
     !empty(MACHINE_PLATFORM:MNetBSD-*-i386)
-# LLVM needs libatomic for 64-bit atomics on powerpc and i386
-.include "../../devel/libatomic/buildlink3.mk"
-# Make those libraries available via a unique directory:
+# Make libatomic library available via a unique directory:
 DEPENDS+=      libatomic-links>=0:../../devel/libatomic-links
 .endif
 
diff -r 378c75531fde -r be62ace19d92 lang/rust/distinfo
--- a/lang/rust/distinfo        Tue Aug 30 18:42:53 2022 +0000
+++ b/lang/rust/distinfo        Tue Aug 30 19:22:17 2022 +0000
@@ -1,140 +1,142 @@
-$NetBSD: distinfo,v 1.147 2022/05/26 10:10:26 jperkin Exp $
+$NetBSD: distinfo,v 1.148 2022/08/30 19:22:17 he Exp $
 
-BLAKE2s (rust-1.59.0-aarch64-apple-darwin.tar.gz) = 3b9fbd710b04c088470b04e8817217fb7f9549e42159ac9b0a210e746e53b20e
-SHA512 (rust-1.59.0-aarch64-apple-darwin.tar.gz) = b60feca7e1ca4ae9eb7550b82de475b47da8f14aa293c1e3e9c4321eed70f9a899003d567c870a81e5f5fdb88a74d1ff654a77fd6577a992170353037c05f963
-Size (rust-1.59.0-aarch64-apple-darwin.tar.gz) = 275637417 bytes
-BLAKE2s (rust-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = b67afe86baacfd99d7bd1b3dc763f46ca22cc64cb1247a74089f88e16237199e
-SHA512 (rust-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = 186d0d3b5c33c49735f8a50e5ffeb783821ca26bf646622e5d724ebbe698c39129000a568bc9dcc5cf521a9e72113bd853728bb76d31e442df92f5442f51cb2b
-Size (rust-1.59.0-aarch64-unknown-linux-gnu.tar.gz) = 370532745 bytes
-BLAKE2s (rust-1.59.0-aarch64-unknown-netbsd.tar.gz) = 7ed024fb3b122475dc984e99b16a8a3e04c5c93bf6e489c2111dde0036577704
-SHA512 (rust-1.59.0-aarch64-unknown-netbsd.tar.gz) = f6ace1fe718953b9da3e2174201bb62819823904552cdd3ec264fa798d2aabde1f6663598e6c6377a074912b7de6eada86450967dc9a3d41173e4043009563d0
-Size (rust-1.59.0-aarch64-unknown-netbsd.tar.gz) = 237460036 bytes
-BLAKE2s (rust-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = 8f5e3660a56f349cbd6986bb68b462841fba98b771b273939b2343d9ac8da423
-SHA512 (rust-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = 638fd5ba7efa811f32778b445c953b203029414abf11e9a9c9be14ac367d435c1147a7fefde7373ed95082532ca91917ee2d1706f39e0776e331e999bdae2087
-Size (rust-1.59.0-aarch64_be-unknown-netbsd.tar.gz) = 241627592 bytes
-BLAKE2s (rust-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = fe8e19b4797e6c2f8b152ce66ec6bedb9256697c06df11f86df1b48b0f3baffa
-SHA512 (rust-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = 1b8420cd74ecea78e82faf03a9c1c3283728c5c9a3b10446e00fbcd3d9591af27af43a3e44be100d7a6ecc547fa8c7d3c44d345939625a71f79b2d272bb5b94c
-Size (rust-1.59.0-arm-unknown-linux-gnueabihf.tar.gz) = 303555009 bytes
-BLAKE2s (rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = f66b427e703fcd3fe461e628ceab8cfce408c8665869dd599ca1b95915f9656f
-SHA512 (rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = 9b4106671d1167ec961aa5d12fd7bdab6ad0c1a9e38ef9b0c0fa74e856c0f5478230b0376f7a191fa7ab173bc9744a877db128c60eb06e9bfb94ade3e32e1283
-Size (rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.gz) = 295408222 bytes
-BLAKE2s (rust-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = c5553e9bab0b1e4f2613c05a1d7de2fcdf7fc858b62b3a42ebb8839dd8dd7ab7
-SHA512 (rust-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = c47b1804a53488015b2daf288142d1f150c57fbd27131472f4c41f23662d46787df0ba84f212ee3e26e2b706b157a001042842724039de4f4e2c6ceccc701e6e
-Size (rust-1.59.0-armv7-unknown-netbsd-eabihf.tar.gz) = 209450244 bytes
-BLAKE2s (rust-1.59.0-i586-unknown-netbsd.tar.gz) = 72d2f88fa0d9a938b872548faf95eb7bd8b88637c04d78911907155ce992718f



Home | Main Index | Thread Index | Old Index