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

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


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


Required to run:
[www/curl] [security/libssh2] [devel/libgit2] [lang/llvm] [www/http-parser]

Required to build:
[devel/cmake] [pkgtools/cwrappers]

Master sites:

SHA1: f835d72bc26ee6f25f6e5d6783b424fc9b904c9e
RMD160: dfb1ca914e2042f9f92f679bf743f575d25ece47
Filesize: 51323.58 KB

Version history: (Expand)


CVS history: (Expand)


   2017-11-20 17:02:59 by David Brownlee | Files touched by this commit (1)
Log message:
Fails with Python > 2.7 - add PYTHON_VERSIONS_ACCEPTED=27
   2017-11-16 20:48:24 by Jonathan Perkin | Files touched by this commit (6)
Log message:
rust: Restore SunOS support.  Switch back to configure script.

No changes intended on other platforms, the configure script arguments
should be identical to those previously found in config.toml.  Doing it
this way makes it a lot easier to have per-OS configuration.
   2017-11-08 14:40:10 by Tobias Nygren | Files touched by this commit (1)
Log message:
rust: cargo.mk: crates.io helper Makefile snippet

Common logic that can be used by packages that depend on cargo crates
from crates.io. This lets existing pkgsrc infrastructure fetch and verify
cargo crates instead of using the rust package manager in the build phase.
Inspired by cargo.mk from FreeBSD ports.
   2017-11-04 16:51:43 by Tobias Nygren | Files touched by this commit (1)
Log message:
rust: reorganize bootstrap toolchain extraction a bit

- run install.sh instead of manually moving around directories
- allow user to set RUST_BOOTSTRAP_PATH (and RUST_ARCH if needed)
  in mk.conf to use a locally installed bootstrap toolchain.
   2017-11-03 23:04:10 by Ryo ONODERA | Files touched by this commit (2) | Package updated
Log message:
Update to 1.21.0

Changelog:
Version 1.21.0 (2017-10-12)
==========================

Language
--------
- [You can now use static references for literals.][43838]
  Example:
  ```rust
  fn main() {
      let x: &'static u32 = &0;
  }
  ```
- [Relaxed path syntax. Optional `::` before `<` is now allowed in all \ 
contexts.][43540]
  Example:
  ```rust
  my_macro!(Vec<i32>::new); // Always worked
  my_macro!(Vec::<i32>::new); // Now works
  ```

Compiler
--------
- [Upgraded jemalloc to 4.5.0][43911]
- [Enabled unwinding panics on Redox][43917]
- [Now runs LLVM in parallel during translation phase.][43506]
  This should reduce peak memory usage.

Libraries
---------
- [Generate builtin impls for `Clone` for all arrays and tuples that
  are `T: Clone`][43690]
- [`Stdin`, `Stdout`, and `Stderr` now implement `AsRawFd`.][43459]
- [`Rc` and `Arc` now implement `From<&[T]> where T: Clone`, \ 
`From<str>`,
  `From<String>`, `From<Box<T>> where T: ?Sized`, and \ 
`From<Vec<T>>`.][42565]

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

[`std::mem::discriminant`]

Cargo
-----
- [You can now call `cargo install` with multiple package names][cargo/4216]
- [Cargo commands inside a virtual workspace will now implicitly
  pass `--all`][cargo/4335]
- [Added a `[patch]` section to `Cargo.toml` to handle
  prepublication dependencies][cargo/4123] [RFC 1969]
- [`include` & `exclude` fields in `Cargo.toml` now accept gitignore
  like patterns][cargo/4270]
- [Added the `--all-targets` option][cargo/4400]
- [Using required dependencies as a feature is now deprecated and emits
  a warning][cargo/4364]

Misc
----
- [Cargo docs are moving][43916]
  to [doc.rust-lang.org/cargo](https://doc.rust-lang.org/cargo)
- [The rustdoc book is now available][43863]
  at [doc.rust-lang.org/rustdoc](https://doc.rust-lang.org/rustdoc)
- [Added a preview of RLS has been made available through rustup][44204]
  Install with `rustup component add rls-preview`
- [`std::os` documentation for Unix, Linux, and Windows now appears on \ 
doc.rust-lang.org][43348]
  Previously only showed `std::os::unix`.

Compatibility Notes
-------------------
- [Changes in method matching against higher-ranked types][43880] This may cause
  breakage in subtyping corner cases. [A more in-depth explanation is \ 
available.][info/43880]
- [rustc's JSON error output's byte position start at top of file.][42973]
  Was previously relative to the rustc's internal `CodeMap` struct which
  required the unstable library `libsyntax` to correctly use.
- [`unused_results` lint no longer ignores booleans][43728]

[42565]: https://github.com/rust-lang/rust/pull/42565
[42973]: https://github.com/rust-lang/rust/pull/42973
[43348]: https://github.com/rust-lang/rust/pull/43348
[43459]: https://github.com/rust-lang/rust/pull/43459
[43506]: https://github.com/rust-lang/rust/pull/43506
[43540]: https://github.com/rust-lang/rust/pull/43540
[43690]: https://github.com/rust-lang/rust/pull/43690
[43728]: https://github.com/rust-lang/rust/pull/43728
[43838]: https://github.com/rust-lang/rust/pull/43838
[43863]: https://github.com/rust-lang/rust/pull/43863
[43880]: https://github.com/rust-lang/rust/pull/43880
[43911]: https://github.com/rust-lang/rust/pull/43911
[43916]: https://github.com/rust-lang/rust/pull/43916
[43917]: https://github.com/rust-lang/rust/pull/43917
[44204]: https://github.com/rust-lang/rust/pull/44204
[cargo/4123]: https://github.com/rust-lang/cargo/pull/4123
[cargo/4216]: https://github.com/rust-lang/cargo/pull/4216
[cargo/4270]: https://github.com/rust-lang/cargo/pull/4270
[cargo/4335]: https://github.com/rust-lang/cargo/pull/4335
[cargo/4364]: https://github.com/rust-lang/cargo/pull/4364
[cargo/4400]: https://github.com/rust-lang/cargo/pull/4400
[RFC 1969]: https://github.com/rust-lang/rfcs/pull/1969
[info/43880]: https://github.com/rust-lang/rust/issue … -330058902
[`std::mem::discriminant`]: https://doc.rust-lang.org/std/mem/fn.discriminant.html
   2017-10-21 14:15:56 by Ryo ONODERA | Files touched by this commit (2)
Log message:
Provide my private bootstrap kit for i686-unknown-netbsd

* Fix build of www/firefox-56.0 with this
   2017-10-13 14:42:12 by Ryo ONODERA | Files touched by this commit (2)
Log message:
Do not hardcode RUST_ARCH
   2017-10-13 14:33:02 by Ryo ONODERA | Files touched by this commit (1)
Log message:
Do not use devel/ninja-build. It is not in the dependency