The NetBSD Project

CVS log for pkgsrc/lang/rust/options.mk

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / lang / rust

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.17 / (download) - annotate - [select for diffs], Sat Nov 20 16:09:46 2021 UTC (9 days, 12 hours ago) by he
Branch: MAIN
CVS Tags: HEAD
Changes since 1.16: +17 -10 lines
Diff to previous 1.16 (colored)

Update lang/rust to version 1.56.1.

Pkgsrc changes:
 * Bump bootstrap kit version to 1.55.0.
 * Adjust patches as needed, some no longer apply (so removed)
 * Update checksum adjustments.
 * Avoid rust-llvm on SunOS
 * Optionally build docs
 * Remove reference to closed/old PR#54621

Upstream changes:

Version 1.56.1 (2021-11-01)
===========================

- New lints to detect the presence of bidirectional-override Unicode
  codepoints in the compiled source code ([CVE-2021-42574])

[CVE-2021-42574]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-42574

Version 1.56.0 (2021-10-21)
========================

Language
--------

- [The 2021 Edition is now stable.][rust#88100]
  See [the edition guide][rust-2021-edition-guide] for more details.
- [The pattern in `binding @ pattern` can now also introduce new bindings.]
  [rust#85305]
- [Union field access is permitted in `const fn`.][rust#85769]

[rust-2021-edition-guide]:
  https://doc.rust-lang.org/nightly/edition-guide/rust-2021/index.html

Compiler
--------

- [Upgrade to LLVM 13.][rust#87570]
- [Support memory, address, and thread sanitizers on aarch64-unknown-freebsd.]
  [rust#88023]
- [Allow specifying a deployment target version for all iOS targets][rust#87699]
- [Warnings can be forced on with `--force-warn`.][rust#87472]
  This feature is primarily intended for usage by `cargo fix`, rather than
  end users.
- [Promote `aarch64-apple-ios-sim` to Tier 2\*.][rust#87760]
- [Add `powerpc-unknown-freebsd` at Tier 3\*.][rust#87370]
- [Add `riscv32imc-esp-espidf` at Tier 3\*.][rust#87666]

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

Libraries
---------

- [Allow writing of incomplete UTF-8 sequences via stdout/stderr on Windows.]
  [rust#83342]
  The Windows console still requires valid Unicode, but this change allows
  splitting a UTF-8 character across multiple write calls. This allows, for
  instance, programs that just read and write data buffers (e.g. copying a file
  to stdout) without regard for Unicode or character boundaries.
- [Prefer `AtomicU{64,128}` over Mutex for Instant backsliding protection.]
  [rust#83093]
  For this use case, atomics scale much better under contention.
- [Implement `Extend<(A, B)>` for `(Extend<A>, Extend<B>)`][rust#85835]
- [impl Default, Copy, Clone for std::io::Sink and std::io::Empty][rust#86744]
- [`impl From<[(K, V); N]>` for all collections.][rust#84111]
- [Remove `P: Unpin` bound on impl Future for Pin.][rust#81363]
- [Treat invalid environment variable names as non-existent.][rust#86183]
  Previously, the environment functions would panic if given a
  variable name with an internal null character or equal sign (`=`).
  Now, these functions will just treat such names as non-existent
  variables, since the OS cannot represent the existence of a
  variable with such a name.

Stabilised APIs
---------------

- [`std::os::unix::fs::chroot`]
- [`UnsafeCell::raw_get`]
- [`BufWriter::into_parts`]
- [`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]
  These APIs were previously stable in `std`, but are now also available
  in `core`.
- [`Vec::shrink_to`]
- [`String::shrink_to`]
- [`OsString::shrink_to`]
- [`PathBuf::shrink_to`]
- [`BinaryHeap::shrink_to`]
- [`VecDeque::shrink_to`]
- [`HashMap::shrink_to`]
- [`HashSet::shrink_to`]

These APIs are now usable in const contexts:

- [`std::mem::transmute`]
- [`[T]::first`][`slice::first`]
- [`[T]::split_first`][`slice::split_first`]
- [`[T]::last`][`slice::last`]
- [`[T]::split_last`][`slice::split_last`]

Cargo
-----

- [Cargo supports specifying a minimum supported Rust version in Cargo.toml.]
  [`rust-version`]
  This has no effect at present on dependency version selection.
  We encourage crates to specify their minimum supported Rust
  version, and we encourage CI systems that support Rust code to
  include a crate's specified minimum version in the text matrix
  for that crate by default.

Compatibility notes
-------------------

- [Update to new argument parsing rules on Windows.][rust#87580]
  This adjusts Rust's standard library to match the behavior of the standard
  libraries for C/C++. The rules have changed slightly over time, and this PR
  brings us to the latest set of rules (changed in 2008).
- [Disallow the aapcs calling convention on aarch64][rust#88399]
  This was already not supported by LLVM; this change surfaces this lack of
  support with a better error message.
- [Make `SEMICOLON_IN_EXPRESSIONS_FROM_MACROS` warn by default][rust#87385]
- [Warn when an escaped newline skips multiple lines.][rust#87671]
- [Calls to `libc::getpid` / `std::process::id` from `Command::pre_exec`
  may return different values on glibc <= 2.24.][rust#81825]
  Rust now invokes the `clone3` system call directly, when available,
  to use new functionality available via that system call. Older
  versions of glibc cache the result of `getpid`, and only update
  that cache when calling glibc's clone/fork functions, so a direct
  system call bypasses that cache update. glibc 2.25 and newer no
  longer cache `getpid` for exactly this reason.

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.

- [LLVM is compiled with PGO in published x86_64-unknown-linux-gnu artifacts.]
  [rust#88069]
  This improves the performance of most Rust builds.
- [Unify representation of macros in internal data structures.][rust#88019]
  This change fixes a host of bugs with the handling of macros by the compiler,
  as well as rustdoc.

[`std::os::unix::fs::chroot`]: https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chroot.html
[`Iterator::intersperse`]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.intersperse
[`Iterator::intersperse_with`]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.intersperse
[`UnsafeCell::raw_get`]: https://doc.rust-lang.org/stable/std/cell/struct.UnsafeCell.html#method.raw_get
[`BufWriter::into_parts`]: https://doc.rust-lang.org/stable/std/io/struct.BufWriter.html#method.into_parts
[`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]: https://github.com/rust-lang/rust/pull/84662
[`Vec::shrink_to`]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.shrink_to
[`String::shrink_to`]: https://doc.rust-lang.org/stable/std/string/struct.String.html#method.shrink_to
[`OsString::shrink_to`]: https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.shrink_to
[`PathBuf::shrink_to`]: https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.shrink_to
[`BinaryHeap::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/struct.BinaryHeap.html#method.shrink_to
[`VecDeque::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.shrink_to
[`HashMap::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/hash_map/struct.HashMap.html#method.shrink_to
[`HashSet::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/hash_set/struct.HashSet.html#method.shrink_to
[`std::mem::transmute`]: https://doc.rust-lang.org/stable/std/mem/fn.transmute.html
[`slice::first`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first
[`slice::split_first`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first
[`slice::last`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last
[`slice::split_last`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last
[`rust-version`]: https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-rust-version-field
[rust#87671]: https://github.com/rust-lang/rust/pull/87671
[rust#86183]: https://github.com/rust-lang/rust/pull/86183
[rust#87385]: https://github.com/rust-lang/rust/pull/87385
[rust#88100]: https://github.com/rust-lang/rust/pull/88100
[rust#86860]: https://github.com/rust-lang/rust/pull/86860
[rust#84039]: https://github.com/rust-lang/rust/pull/84039
[rust#86492]: https://github.com/rust-lang/rust/pull/86492
[rust#88363]: https://github.com/rust-lang/rust/pull/88363
[rust#85305]: https://github.com/rust-lang/rust/pull/85305
[rust#87832]: https://github.com/rust-lang/rust/pull/87832
[rust#88069]: https://github.com/rust-lang/rust/pull/88069
[rust#87472]: https://github.com/rust-lang/rust/pull/87472
[rust#87699]: https://github.com/rust-lang/rust/pull/87699
[rust#87570]: https://github.com/rust-lang/rust/pull/87570
[rust#88023]: https://github.com/rust-lang/rust/pull/88023
[rust#87760]: https://github.com/rust-lang/rust/pull/87760
[rust#87370]: https://github.com/rust-lang/rust/pull/87370
[rust#87580]: https://github.com/rust-lang/rust/pull/87580
[rust#83342]: https://github.com/rust-lang/rust/pull/83342
[rust#83093]: https://github.com/rust-lang/rust/pull/83093
[rust#88177]: https://github.com/rust-lang/rust/pull/88177
[rust#88548]: https://github.com/rust-lang/rust/pull/88548
[rust#88551]: https://github.com/rust-lang/rust/pull/88551
[rust#88299]: https://github.com/rust-lang/rust/pull/88299
[rust#88220]: https://github.com/rust-lang/rust/pull/88220
[rust#85835]: https://github.com/rust-lang/rust/pull/85835
[rust#86879]: https://github.com/rust-lang/rust/pull/86879
[rust#86744]: https://github.com/rust-lang/rust/pull/86744
[rust#84662]: https://github.com/rust-lang/rust/pull/84662
[rust#86593]: https://github.com/rust-lang/rust/pull/86593
[rust#81050]: https://github.com/rust-lang/rust/pull/81050
[rust#81363]: https://github.com/rust-lang/rust/pull/81363
[rust#84111]: https://github.com/rust-lang/rust/pull/84111
[rust#85769]: https://github.com/rust-lang/rust/pull/85769#issuecomment-854363720
[rust#88490]: https://github.com/rust-lang/rust/pull/88490
[rust#88269]: https://github.com/rust-lang/rust/pull/88269
[rust#84176]: https://github.com/rust-lang/rust/pull/84176
[rust#88399]: https://github.com/rust-lang/rust/pull/88399
[rust#88227]: https://github.com/rust-lang/rust/pull/88227
[rust#88200]: https://github.com/rust-lang/rust/pull/88200
[rust#82776]: https://github.com/rust-lang/rust/pull/82776
[rust#88077]: https://github.com/rust-lang/rust/pull/88077
[rust#87728]: https://github.com/rust-lang/rust/pull/87728
[rust#87050]: https://github.com/rust-lang/rust/pull/87050
[rust#87619]: https://github.com/rust-lang/rust/pull/87619
[rust#81825]: https://github.com/rust-lang/rust/pull/81825#issuecomment-808406918
[rust#88019]: https://github.com/rust-lang/rust/pull/88019
[rust#87666]: https://github.com/rust-lang/rust/pull/87666

Version 1.55.0 (2021-09-09)
============================

Language
--------
- [You can now write open "from" range patterns (`X..`), which will start
  at `X` and will end at the maximum value of the integer.][83918]
- [You can now explicitly import the prelude of different editions
  through `std::prelude` (e.g. `use std::prelude::rust_2021::*;`).][86294]

Compiler
--------
- [Added tier 3\* support for `powerpc64le-unknown-freebsd`.][83572]

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

Libraries
---------

- [Updated std's float parsing to use the Eisel-Lemire algorithm.][86761]
  These improvements should in general provide faster string parsing of floats,
  no longer reject certain valid floating point values, and reduce
  the produced code size for non-stripped artifacts.
- [`string::Drain` now implements `AsRef<str>` and `AsRef<[u8]>`.][86858]

Stabilised APIs
---------------

- [`Bound::cloned`]
- [`Drain::as_str`]
- [`IntoInnerError::into_error`]
- [`IntoInnerError::into_parts`]
- [`MaybeUninit::assume_init_mut`]
- [`MaybeUninit::assume_init_ref`]
- [`MaybeUninit::write`]
- [`array::map`]
- [`ops::ControlFlow`]
- [`x86::_bittest`]
- [`x86::_bittestandcomplement`]
- [`x86::_bittestandreset`]
- [`x86::_bittestandset`]
- [`x86_64::_bittest64`]
- [`x86_64::_bittestandcomplement64`]
- [`x86_64::_bittestandreset64`]
- [`x86_64::_bittestandset64`]

The following previously stable functions are now `const`.

- [`str::from_utf8_unchecked`]


Cargo
-----
- [Cargo will now deduplicate compiler diagnostics to the terminal when invoking
  rustc in parallel such as when using `cargo test`.][cargo/9675]
- [The package definition in `cargo metadata` now includes the `"default_run"`
  field from the manifest.][cargo/9550]
- [Added `cargo d` as an alias for `cargo doc`.][cargo/9680]
- [Added `{lib}` as formatting option for `cargo tree` to print the `"lib_name"`
  of packages.][cargo/9663]

Rustdoc
-------
- [Added "Go to item on exact match" search option.][85876]
- [The "Implementors" section on traits no longer shows redundant
  method definitions.][85970]
- [Trait implementations are toggled open by default.][86260] This should
  make the implementations more searchable by tools like `CTRL+F` in
  your browser.
- [Intra-doc links should now correctly resolve associated items (e.g. methods)
  through type aliases.][86334]
- [Traits which are marked with `#[doc(hidden)]` will no longer appear in the
  "Trait Implementations" section.][86513]


Compatibility Notes
-------------------
- [std functions that return an `io::Error` will no longer use the
  `ErrorKind::Other` variant.][85746] This is to better reflect that these
  kinds of errors could be categorised [into newer more specific `ErrorKind`
  variants][79965], and that they do not represent a user error.
- [Using environment variable names with `process::Command` on Windows now
  behaves as expected.][85270] Previously using envionment variables with
  `Command` would cause them to be ASCII-uppercased.
- [Rustdoc will now warn on using rustdoc lints that aren't prefixed
  with `rustdoc::`][86849]

[86849]: https://github.com/rust-lang/rust/pull/86849
[86513]: https://github.com/rust-lang/rust/pull/86513
[86334]: https://github.com/rust-lang/rust/pull/86334
[86260]: https://github.com/rust-lang/rust/pull/86260
[85970]: https://github.com/rust-lang/rust/pull/85970
[85876]: https://github.com/rust-lang/rust/pull/85876
[83572]: https://github.com/rust-lang/rust/pull/83572
[86294]: https://github.com/rust-lang/rust/pull/86294
[86858]: https://github.com/rust-lang/rust/pull/86858
[86761]: https://github.com/rust-lang/rust/pull/86761
[85769]: https://github.com/rust-lang/rust/pull/85769
[85746]: https://github.com/rust-lang/rust/pull/85746
[85305]: https://github.com/rust-lang/rust/pull/85305
[85270]: https://github.com/rust-lang/rust/pull/85270
[84111]: https://github.com/rust-lang/rust/pull/84111
[83918]: https://github.com/rust-lang/rust/pull/83918
[79965]: https://github.com/rust-lang/rust/pull/79965
[87370]: https://github.com/rust-lang/rust/pull/87370
[87298]: https://github.com/rust-lang/rust/pull/87298
[cargo/9663]: https://github.com/rust-lang/cargo/pull/9663
[cargo/9675]: https://github.com/rust-lang/cargo/pull/9675
[cargo/9550]: https://github.com/rust-lang/cargo/pull/9550
[cargo/9680]: https://github.com/rust-lang/cargo/pull/9680
[cargo/9663]: https://github.com/rust-lang/cargo/pull/9663
[`array::map`]: https://doc.rust-lang.org/stable/std/primitive.array.html#method.map
[`Bound::cloned`]: https://doc.rust-lang.org/stable/std/ops/enum.Bound.html#method.cloned
[`Drain::as_str`]: https://doc.rust-lang.org/stable/std/string/struct.Drain.html#method.as_str
[`IntoInnerError::into_error`]: https://doc.rust-lang.org/stable/std/io/struct.IntoInnerError.html#method.into_error
[`IntoInnerError::into_parts`]: https://doc.rust-lang.org/stable/std/io/struct.IntoInnerError.html#method.into_parts
[`MaybeUninit::assume_init_mut`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_mut
[`MaybeUninit::assume_init_ref`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_ref
[`MaybeUninit::write`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write
[`Seek::rewind`]: https://doc.rust-lang.org/stable/std/io/trait.Seek.html#method.rewind
[`ops::ControlFlow`]: https://doc.rust-lang.org/stable/std/ops/enum.ControlFlow.html
[`str::from_utf8_unchecked`]: https://doc.rust-lang.org/stable/std/str/fn.from_utf8_unchecked.html
[`x86::_bittest`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittest.html
[`x86::_bittestandcomplement`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandcomplement.html
[`x86::_bittestandreset`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandreset.html
[`x86::_bittestandset`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandset.html
[`x86_64::_bittest64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittest64.html
[`x86_64::_bittestandcomplement64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandcomplement64.html
[`x86_64::_bittestandreset64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandreset64.html
[`x86_64::_bittestandset64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandset64.html

Revision 1.16 / (download) - annotate - [select for diffs], Sat Jul 17 13:16:38 2021 UTC (4 months, 1 week ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3
Changes since 1.15: +9 -7 lines
Diff to previous 1.15 (colored)

rust: Darwin/aarch64 must use bundled llvm.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Mon Jul 12 12:56:13 2021 UTC (4 months, 2 weeks ago) by bsiegert
Branch: pkgsrc-2021Q2
Changes since 1.14: +2 -5 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Pullup ticket #6486 - requested by he
lang/rust: build fix

Revisions pulled up:
- lang/rust/Makefile                                            1.242
- lang/rust/options.mk                                          1.15

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Sun Jul 11 22:13:38 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile options.mk

   Log Message:
   Evidently, cmake is needed in all cases.

   Move cmake dependency out of condition on PKG_OPTIONS.rust-llvm.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jul 11 22:13:38 2021 UTC (4 months, 2 weeks ago) by he
Branch: MAIN
Changes since 1.14: +2 -5 lines
Diff to previous 1.14 (colored)

Evidently, cmake is needed in all cases.

Move cmake dependency out of condition on PKG_OPTIONS.rust-llvm.

Revision 1.11.2.1 / (download) - annotate - [select for diffs], Sat Apr 10 08:36:05 2021 UTC (7 months, 2 weeks ago) by bsiegert
Branch: pkgsrc-2021Q1
Changes since 1.11: +4 -8 lines
Diff to previous 1.11 (colored) next main 1.12 (colored)

Pullup ticket #6436 - requested by he
lang/rust: build fixes

Revisions pulled up:
- lang/rust/Makefile                                            1.221-1.227
- lang/rust/distinfo                                            1.128
- lang/rust/options.mk                                          1.12-1.14

---
   Module Name:	pkgsrc
   Committed By:	nia
   Date:		Tue Mar 30 09:50:14 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile options.mk

   Log Message:
   rust: normalize workarounds for cargo dependencies on NetBSD

   Havard would like all rusts to be built with rust-cargo-static,
   because this makes it easier to produce working bootstaps.

   In order to do this, we need to handle the OpenSSL and curl
   dependencies in older bootstrap kits properly.

   This means, for the remaining bootstraps that do not yet have
   cargo with static/vendored dependencies:

   - depend on base 8.0 openssl (compat80) on i386.
   - depend on pkgsrc curl on aarch64 and earmv7.
     the armv7 bootstrap is built for 9.0 so does not need compat80.
     the aarch64 bootstrap is built for 8.99.50 so does not need compat80.

---
   Module Name:	pkgsrc
   Committed By:	nia
   Date:		Wed Mar 31 16:45:08 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile options.mk

   Log Message:
   rust: Only enable rust-cargo-static when building bootstraps.

   The final compiler will be dynamically linked with OpenSSL and curl,
   but this is undesirable in the case of bootstraps where it might be
   built against a version incompatible with version the user has.

   Discussed with he@.

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Sun Apr  4 08:36:05 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile

   Log Message:
   Bump the rust binary bootstraps to 1.49 for the remaining NetBSD ports.
   The 1.49 cargo binary has a much reduced set of dynamic dependencies,
   increasing the probability that they'll run on the host.

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Sun Apr  4 08:40:44 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: distinfo

   Log Message:
   Recompute checksums after the bootstrap version bump.

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Sun Apr  4 08:51:20 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: options.mk

   Log Message:
   Change rust-cargo-static condition on NetBSD.
   Key off BUILD_TARGET instead of whether we're cross-building,
   as bootstrap kits *can* be built natively (yes, the former state
   was my suggestion, but on second thought this is more correct).

---
   Module Name:	pkgsrc
   Committed By:	nia
   Date:		Sun Apr  4 09:23:38 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile

   Log Message:
   rust: Remove old NetBSD bootstrap workarounds

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Sun Apr  4 10:21:45 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile

   Log Message:
   We need curl and openssl buildlinked if BUILD_TARGET is "build".
   This is because in that case we're not using the rust-internal
   copies of those libraries, governed by the rust-cargo-static option.

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Sun Apr  4 10:21:45 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile

   Log Message:
   We need curl and openssl buildlinked if BUILD_TARGET is "build".
   This is because in that case we're not using the rust-internal
   copies of those libraries, governed by the rust-cargo-static option.

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Sun Apr  4 13:30:16 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile

   Log Message:
   Undo previous, curl and openssl are already conditionally buildlinked
   in options.mk, nia@ pointed out.

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Sun Apr  4 17:49:42 UTC 2021

   Modified Files:
   	pkgsrc/lang/rust: Makefile

   Log Message:
   Hopefully today's last mistake: undo my MAKE_JOBS_SAFE mistake.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Apr 4 08:51:20 2021 UTC (7 months, 3 weeks ago) by he
Branch: MAIN
CVS Tags: pkgsrc-2021Q2-base
Branch point for: pkgsrc-2021Q2
Changes since 1.13: +3 -5 lines
Diff to previous 1.13 (colored)

Change rust-cargo-static condition on NetBSD.
Key off BUILD_TARGET instead of whether we're cross-building,
as bootstrap kits *can* be built natively (yes, the former state
was my suggestion, but on second thought this is more correct).

Revision 1.13 / (download) - annotate - [select for diffs], Wed Mar 31 16:45:08 2021 UTC (8 months ago) by nia
Branch: MAIN
Changes since 1.12: +6 -2 lines
Diff to previous 1.12 (colored)

rust: Only enable rust-cargo-static when building bootstraps.

The final compiler will be dynamically linked with OpenSSL and curl,
but this is undesirable in the case of bootstraps where it might be
built against a version incompatible with version the user has.

Discussed with he@.

Revision 1.12 / (download) - annotate - [select for diffs], Tue Mar 30 09:50:14 2021 UTC (8 months ago) by nia
Branch: MAIN
Changes since 1.11: +2 -8 lines
Diff to previous 1.11 (colored)

rust: normalize workarounds for cargo dependencies on NetBSD

Havard would like all rusts to be built with rust-cargo-static,
because this makes it easier to produce working bootstaps.

In order to do this, we need to handle the OpenSSL and curl
dependencies in older bootstrap kits properly.

This means, for the remaining bootstraps that do not yet have
cargo with static/vendored dependencies:

- depend on base 8.0 openssl (compat80) on i386.
- depend on pkgsrc curl on aarch64 and earmv7.
  the armv7 bootstrap is built for 9.0 so does not need compat80.
  the aarch64 bootstrap is built for 8.99.50 so does not need compat80.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Feb 25 08:54:05 2021 UTC (9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base
Branch point for: pkgsrc-2021Q1
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

rust: fix typo in comment

Revision 1.10 / (download) - annotate - [select for diffs], Thu Feb 25 08:47:16 2021 UTC (9 months ago) by nia
Branch: MAIN
Changes since 1.9: +8 -2 lines
Diff to previous 1.9 (colored)

rust: Make sure curl is buildlinked on NetBSD

This should be a temporary measure until all the bootstraps are fixed

Revision 1.9 / (download) - annotate - [select for diffs], Mon Jan 4 10:12:42 2021 UTC (10 months, 3 weeks ago) by jperkin
Branch: MAIN
Changes since 1.8: +4 -3 lines
Diff to previous 1.8 (colored)

rust: Limit rust-cargo-static option to NetBSD.

Other OS bundle the necessary libraries with the bootstrap kits, and enabling
this option would mean having to carry additional patches for the bundled zlib
etc.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Jan 1 20:44:48 2021 UTC (10 months, 4 weeks ago) by he
Branch: MAIN
Changes since 1.7: +17 -1 lines
Diff to previous 1.7 (colored)

Upgrade rust to version 1.48.0.

Pkgsrc changes:
 * Compensate for files being moved around upstream.
 * Introduce optional, on-by-default semi-static building of cargo,
   using the internal curl and openssl sources.  This reduces the dynamic
   dependencies of cargo and therefore the rust package itself.
   Ref. options.mk.
 * The 1.47.0 bootstrap kits have been re-built with the above option
   turned on, so no longer depends on curl or openssl from pkgsrc and/or
   from earlier OS or pkgsrc versions.  This should hopefully fix
   installation of rust with non-default PREFIX, ref. PR#54453.


Upstream changes:

Version 1.48.0 (2020-11-19)
==========================

Language
--------
- [The `unsafe` keyword is now syntactically permitted on modules.][75857] This
  is still rejected *semantically*, but can now be parsed by procedural macros.

Compiler
--------
- [Stabilised the `-C link-self-contained=<yes|no>` compiler flag.][76158]
  This tells `rustc` whether to link its own C runtime and libraries
  or to rely on a external linker to find them. (Supported only on
  `windows-gnu`, `linux-musl`, and `wasi` platforms.)
- [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.]
  [77386]
  Note: If you're using cargo you must explicitly pass the `--target` flag.
- [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420]

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

Libraries
---------
- [`io::Write` is now implemented for `&ChildStdin` `&Sink`, `&Stdout`,
  and `&Stderr`.][76275]
- [All arrays of any length now implement `TryFrom<Vec<T>>`.][76310]
- [The `matches!` macro now supports having a trailing comma.][74880]
- [`Vec<A>` now implements `PartialEq<[B]>` where `A: PartialEq<B>`.][74194]
- [The `RefCell::{replace, replace_with, clone}` methods now all use
  `#[track_caller]`.][77055]

Stabilized APIs
---------------
- [`slice::as_ptr_range`]
- [`slice::as_mut_ptr_range`]
- [`VecDeque::make_contiguous`]
- [`future::pending`]
- [`future::ready`]

The following previously stable methods are now `const fn`'s:

- [`Option::is_some`]
- [`Option::is_none`]
- [`Option::as_ref`]
- [`Result::is_ok`]
- [`Result::is_err`]
- [`Result::as_ref`]
- [`Ordering::reverse`]
- [`Ordering::then`]

Cargo
-----

Rustdoc
-------
- [You can now link to items in `rustdoc` using the intra-doc link
  syntax.][74430] E.g. ``/// Uses [`std::future`]`` will automatically generate
  a link to `std::future`'s documentation. See ["Linking to items by
  name"][intradoc-links] for more information.
- [You can now specify `#[doc(alias = "<alias>")]` on items to add
  search aliases when searching through `rustdoc`'s UI.][75740]

Compatibility Notes
-------------------
- [Promotion of references to `'static` lifetime inside `const fn`
  now follows the same rules as inside a `fn` body.][75502] In
  particular, `&foo()` will not be promoted to `'static` lifetime
  any more inside `const fn`s.
- [Associated type bindings on trait objects are now verified to meet the bounds
  declared on the trait when checking that they implement the trait.][27675]
- [When trait bounds on associated types or opaque types are ambiguous, the
  compiler no longer makes an arbitrary choice on which bound to use.][54121]
- [Fixed recursive nonterminals not being expanded in macros during
  pretty-print/reparse check.][77153] This may cause errors if your macro wasn't
  correctly handling recursive nonterminal tokens.
- [`&mut` references to non zero-sized types are no longer promoted.][75585]
- [`rustc` will now warn if you use attributes like `#[link_name]` or `#[cold]`
  in places where they have no effect.][73461]
- [Updated `_mm256_extract_epi8` and `_mm256_extract_epi16` signatures in
  `arch::{x86, x86_64}` to return `i32` to match the vendor signatures.][73166]
- [`mem::uninitialized` will now panic if any inner types inside
  a struct or enum disallow zero-initialization.][71274]
- [`#[target_feature]` will now error if used in a place where it
  has no effect.][78143]
- [Foreign exceptions are now caught by `catch_unwind` and will
  cause an abort.][70212] Note: This behaviour is not guaranteed
  and is still considered undefined behaviour, see the [`catch_unwind`]
  documentation for further information.

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.

- [Building `rustc` from source now uses `ninja` by default over `make`.][74922]
  You can continue building with `make` by setting `ninja=false` in
  your `config.toml`.
- [cg_llvm: `fewer_names` in `uncached_llvm_type`][76030]
- [Made `ensure_sufficient_stack()` non-generic][76680]

[78143]: https://github.com/rust-lang/rust/issues/78143
[76680]: https://github.com/rust-lang/rust/pull/76680/
[76030]: https://github.com/rust-lang/rust/pull/76030/
[70212]: https://github.com/rust-lang/rust/pull/70212/
[27675]: https://github.com/rust-lang/rust/issues/27675/
[54121]: https://github.com/rust-lang/rust/issues/54121/
[71274]: https://github.com/rust-lang/rust/pull/71274/
[77386]: https://github.com/rust-lang/rust/pull/77386/
[77153]: https://github.com/rust-lang/rust/pull/77153/
[77055]: https://github.com/rust-lang/rust/pull/77055/
[76275]: https://github.com/rust-lang/rust/pull/76275/
[76310]: https://github.com/rust-lang/rust/pull/76310/
[76420]: https://github.com/rust-lang/rust/pull/76420/
[76158]: https://github.com/rust-lang/rust/pull/76158/
[75857]: https://github.com/rust-lang/rust/pull/75857/
[75585]: https://github.com/rust-lang/rust/pull/75585/
[75740]: https://github.com/rust-lang/rust/pull/75740/
[75502]: https://github.com/rust-lang/rust/pull/75502/
[74880]: https://github.com/rust-lang/rust/pull/74880/
[74922]: https://github.com/rust-lang/rust/pull/74922/
[74430]: https://github.com/rust-lang/rust/pull/74430/
[74194]: https://github.com/rust-lang/rust/pull/74194/
[73461]: https://github.com/rust-lang/rust/pull/73461/
[73166]: https://github.com/rust-lang/rust/pull/73166/
[intradoc-links]: https://doc.rust-lang.org/rustdoc/linking-to-items-by-name.html
[`catch_unwind`]: https://doc.rust-lang.org/std/panic/fn.catch_unwind.html
[`Option::is_some`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_some
[`Option::is_none`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_none
[`Option::as_ref`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.as_ref
[`Result::is_ok`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_ok
[`Result::is_err`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_err
[`Result::as_ref`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.as_ref
[`Ordering::reverse`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.reverse
[`Ordering::then`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.then
[`slice::as_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_ptr_range
[`slice::as_mut_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_mut_ptr_range
[`VecDeque::make_contiguous`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.make_contiguous
[`future::pending`]: https://doc.rust-lang.org/std/future/fn.pending.html
[`future::ready`]: https://doc.rust-lang.org/std/future/fn.ready.html

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jun 24 09:46:26 2020 UTC (17 months ago) by nia
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.6: +1 -3 lines
Diff to previous 1.6 (colored)

rust: uses -std=c++14

Revision 1.6 / (download) - annotate - [select for diffs], Fri Feb 21 16:04:50 2020 UTC (21 months, 1 week ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.5: +3 -1 lines
Diff to previous 1.5 (colored)

Fix building with external LLVM; allow any Python

Revision 1.5 / (download) - annotate - [select for diffs], Mon Sep 9 16:19:49 2019 UTC (2 years, 2 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

rust: on Darwin, use proper shared library name instead of @rpath

Revision 1.4 / (download) - annotate - [select for diffs], Tue Aug 27 17:23:48 2019 UTC (2 years, 3 months ago) by schmonz
Branch: MAIN
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored)

Set PKG_SUPPORTED_OPTIONS to empty string by default. Fixes the
following on macOS:

ERROR: This package has set PKG_FAIL_REASON:
ERROR: [bsd.options.mk] The package has no options, but includes this file.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Aug 14 16:00:23 2019 UTC (2 years, 3 months ago) by nia
Branch: MAIN
Changes since 1.2: +5 -1 lines
Diff to previous 1.2 (colored)

rust: Avoid using external llvm when external llvm isn't pkgsrc llvm.

Reported as a build failure in #pkgsrc by ng0.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Aug 14 13:05:25 2019 UTC (2 years, 3 months ago) by nia
Branch: MAIN
Changes since 1.1: +2 -3 lines
Diff to previous 1.1 (colored)

rust: Build against non-internal LLVM by default.

This should help with some people's problems with the rust builds being
excessively long, and if we ever run into compatibility problems between
rust's llvm-current and our shipped version it should be easy to switch
on the internal LLVM by default again.

I've been using this for some time with Firefox without problems.

Bump PKGREVISION.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jul 11 10:24:14 2019 UTC (2 years, 4 months ago) by nia
Branch: MAIN

rust: Make building the internal LLVM optional for everyone

(not just Darwin and SunOS).

This was posted to tech-pkg@ a while ago with no objections,
I've been using it for a while too.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>