./lang/rust, Safe, concurrent, practical language

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ] [ Image Add to tracker ]


Branch: CURRENT, Version: 1.91.1, Package name: rust-1.91.1, Maintainer: pkgsrc-users

Rust is a systems programming language focused on three goals: safety,
speed, and concurrency. It maintains these goals without having a
garbage collector, making it a useful language for a number of use cases
other languages aren't good at: embedding in other languages, programs
with specific space and time requirements, and writing low-level code,
like device drivers and operating systems.

It improves on current languages targeting this space by having a number
of compile-time safety checks that produce no runtime overhead, while
eliminating all data races. Rust also aims to achieve "zero-cost
abstractions" even though some of these abstractions feel like those of
a high-level language. Even then, Rust still allows precise control
like a low-level language would.


Required to run:
[www/curl] [security/openssl] [lang/llvm]

Required to build:
[pkgtools/cwrappers] [lang/gcc5] [lang/python37]

Master sites:

Filesize: 613584.836 KB

Version history: (Expand)


CVS history: (Expand)


   2026-01-18 01:42:57 by Ryo ONODERA | Files touched by this commit (1)
Log message:
lang/rust: Fix build under NetBSD 9
   2026-01-14 07:44:31 by Thomas Klausner | Files touched by this commit (2)
Log message:
irust: restore v1.8 of patch-src_bootstrap_src_lib.rs

Requested by tnn.
   2026-01-13 21:48:24 by Thomas Klausner | Files touched by this commit (16) | Package updated
Log message:
rust: update to 1.91

Based on wip/rust191 by he@, jperkin@, and adam@

Changes:

Add lint against dangling raw pointers from local variables

Stabilized APIs

    Path::file_prefix
    AtomicPtr::fetch_ptr_add
    AtomicPtr::fetch_ptr_sub
    AtomicPtr::fetch_byte_add
    AtomicPtr::fetch_byte_sub
    AtomicPtr::fetch_or
    AtomicPtr::fetch_and
    AtomicPtr::fetch_xor
    {integer}::strict_add
    {integer}::strict_sub
    {integer}::strict_mul
    {integer}::strict_div
    {integer}::strict_div_euclid
    {integer}::strict_rem
    {integer}::strict_rem_euclid
    {integer}::strict_neg
    {integer}::strict_shl
    {integer}::strict_shr
    {integer}::strict_pow
    i{N}::strict_add_unsigned
    i{N}::strict_sub_unsigned
    i{N}::strict_abs
    u{N}::strict_add_signed
    u{N}::strict_sub_signed
    PanicHookInfo::payload_as_str
    core::iter::chain
    u{N}::checked_signed_diff
    core::array::repeat
    PathBuf::add_extension
    PathBuf::with_added_extension
    Duration::from_mins
    Duration::from_hours
    impl PartialEq<str> for PathBuf
    impl PartialEq<String> for PathBuf
    impl PartialEq<str> for Path
    impl PartialEq<String> for Path
    impl PartialEq<PathBuf> for String
    impl PartialEq<Path> for String
    impl PartialEq<PathBuf> for str
    impl PartialEq<Path> for str
    Ipv4Addr::from_octets
    Ipv6Addr::from_octets
    Ipv6Addr::from_segments
    impl<T> Default for Pin<Box<T>> where Box<T>: \ 
Default, T: ?Sized
    impl<T> Default for Pin<Rc<T>> where Rc<T>: Default, \ 
T: ?Sized
    impl<T> Default for Pin<Arc<T>> where Arc<T>: \ 
Default, T: ?Sized
    Cell::as_array_of_cells
    u{N}::carrying_add
    u{N}::borrowing_sub
    u{N}::carrying_mul
    u{N}::carrying_mul_add
    BTreeMap::extract_if
    BTreeSet::extract_if
    impl Debug for windows::ffi::EncodeWide<'_>
    str::ceil_char_boundary
    str::floor_char_boundary
    impl Sum for Saturating<u{N}>
    impl Sum<&Self> for Saturating<u{N}>
    impl Product for Saturating<u{N}>
    impl Product<&Self> for Saturating<u{N}>

These previously stable APIs are now stable in const contexts:

    <[T; N]>::each_ref
    <[T; N]>::each_mut
    OsString::new
    PathBuf::new
    TypeId::of
    ptr::with_exposed_provenance
    ptr::with_exposed_provenance_mut
   2026-01-07 09:49:50 by Thomas Klausner | Files touched by this commit (2525)
Log message:
*: recursive bump for icu 78.1
   2025-11-07 10:40:55 by Jonathan Perkin | Files touched by this commit (2)
Log message:
rust: Support flock() on illumos.

Required to bootstrap 1.91.0 which otherwise fails with try_from() not
supported.
   2025-10-21 20:46:02 by Tobias Nygren | Files touched by this commit (2)
Log message:
rust: work around panic when building as non-root

During the bootstrap it seems to copy everything under $PREFIX/lib to a
staging area for some reason. This is not ideal because it may lead to
circumvention buildlink3's intents. But more urgent is that it breaks
non-root builds if there are unreadable files (e.g. setuid binaries)
installed by other packages. Skip such files.

Thread 'main' panicked at src/bootstrap/src/lib.rs:1816:17:
failed to copy `/usr/pkg/lib/polkit-1/polkit-agent-helper-1` to \ 
`/tmp/pkgsrc-obj/lang/rust/work/rustc-1.90.0-src/build/aarch64-unknown-netbsd/stage0-sysroot/lib/polkit-1/polkit-agent-helper-1`: \ 
Permission denied (os error 13)
   2025-10-21 10:54:19 by Jonathan Perkin | Files touched by this commit (3)
Log message:
rust: Re-fix Solarish patch.
   2025-10-20 15:12:23 by Jonathan Perkin | Files touched by this commit (2)
Log message:
rust: Bump illumos bootstrap.