./lang/rust-bin, Safe, concurrent, practical language (official binaries)

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

Branch: CURRENT, Version: 1.44.0, Package name: rust-bin-1.44.0, 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.

This package installs a released binary.

Required to build:

Master sites:

Version history: (Expand)

CVS history: (Expand)

   2020-07-15 17:13:57 by Nia Alarie | Files touched by this commit (1)
Log message:
urst-bin: Correct sense of condition
   2020-06-14 17:33:29 by Nia Alarie | Files touched by this commit (17)
Log message:
Rename rust-bin's PKGNAME to rust-bin. Add rust.mk for rust packages.

This allows rust-bin and rust to coexist in bulk builds (for testing, etc),
but the packages still may not be installed at the same time.

rust.mk as a solution for picking the correct rust variant was suggested
by gdt@. It is intended to be included directly by packages that do not
use cargo.mk, and indirectly by packages that do use cargo.mk.

rust.mk provides one user-settable variable:

	as before, whether to bootstrap rust from source or use
	official binaries. may be "src" or "bin"

And two package-settable variables:

	the minimum version of Rust required by the package.
	defaults to "1.20.0"

	whether Rust is a runtime dependency, may be "yes" or "no"
   2020-06-09 17:58:05 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
rustc: Update to 1.44.0

Version 1.44.0 (2020-06-04)

- [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]
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.

- [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]

- [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`]

- [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`).

- [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/stru … h_capacity
[`PathBuf::capacity`]: \ 
https://doc.rust-lang.org/std/path/stru … d.capacity
[`PathBuf::clear`]: \ 
https://doc.rust-lang.org/std/path/stru … thod.clear
[`PathBuf::reserve`]: \ 
https://doc.rust-lang.org/std/path/stru … od.reserve
[`PathBuf::reserve_exact`]: \ 
https://doc.rust-lang.org/std/path/stru … erve_exact
[`PathBuf::shrink_to_fit`]: \ 
https://doc.rust-lang.org/std/path/stru … ink_to_fit
[`f32::to_int_unchecked`]: \ 
https://doc.rust-lang.org/std/primitive … _unchecked
[`f64::to_int_unchecked`]: \ 
https://doc.rust-lang.org/std/primitive … _unchecked
[`Layout::align_to`]: \ 
https://doc.rust-lang.org/std/alloc/str … d.align_to
[`Layout::pad_to_align`]: \ 
https://doc.rust-lang.org/std/alloc/str … d_to_align
[`Layout::array`]: \ 
https://doc.rust-lang.org/std/alloc/str … thod.array
[`Layout::extend`]: \ 
https://doc.rust-lang.org/std/alloc/str … hod.extend
   2020-06-03 12:45:04 by Nia Alarie | Files touched by this commit (2)
Log message:
rust*: Add PKG_SKIP_REASON depending on the value of RUST_TYPE
   2020-05-25 19:53:21 by Havard Eidnes | Files touched by this commit (1) | Package updated
Log message:
The ld.elf_so in NetBSD/8.x only obeys RPATH, not RUNPATH,
so fix to force RPATH usage on that platform.
Bump PKGREVISION for good measure.
   2020-05-20 00:23:16 by Nia Alarie | Files touched by this commit (1)
Log message:
rust-bin: llvm-ar needs fixing too.
   2020-05-19 23:59:03 by Nia Alarie | Files touched by this commit (1)
Log message:
rust-bin: Add compat80 to the local llvm rpath. Limit this to NetBSD<9

Workaround for a problem reported by wiz on pkgsrc-users, pending
more investigation
   2020-05-19 21:01:10 by Thomas Klausner | Files touched by this commit (1)
Log message:
rust-bin: set CHECK_RELRO_SKIP for prebuilt binaries