The NetBSD Project

CVS log for pkgsrc/lang/rust/

[BACK] Up to [] / pkgsrc / lang / rust

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.29 / (download) - annotate - [select for diffs], Wed Oct 6 10:25:32 2021 UTC (3 weeks ago) by jperkin
Branch: MAIN
Changes since 1.28: +6 -5 lines
Diff to previous 1.28 (colored)

rust: Add support for CARGO_WRKSRC.

This defaults to WRKSRC and allows packages that aren't primarily
written in rust, but have a rust component that needs to be built, to
support the correct operation of cargo within their source tree.

Revision 1.28 / (download) - annotate - [select for diffs], Wed Oct 6 10:20:24 2021 UTC (3 weeks ago) by jperkin
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

rust: Drop digest from USE_TOOLS.

It's already added to bootstrap tools by mk, and adding it here actually
has the opposite effect of what's intended.  It seems to confuse the
tools infrastructure and defer its dependency, i.e. until it's too late,
causing "digest: not found" errors if it's not already installed.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Jul 22 16:09:46 2021 UTC (3 months ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3
Changes since 1.26: +3 -1 lines
Diff to previous 1.26 (colored)

rust/ always pass RUSTFLAGS into MAKE_ENV

This will allow to clean up a number of package Makefiles.

Revision 1.26 / (download) - annotate - [select for diffs], Mon May 31 14:33:02 2021 UTC (4 months, 3 weeks ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

rust: Fix cargo module build

Revision 1.25 / (download) - annotate - [select for diffs], Mon May 31 10:17:53 2021 UTC (4 months, 3 weeks ago) by he
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Update lang/rust to version 1.52.1.

Pkgsrc changes:
 * Bump bootstrap kit version to 1.51.0.
 * Adjust patches as needed.
 * Update checksum adjustments.
 * Fix syntax error in commands adjusting libserde_derive for Darwin

Upstream changes:

Version 1.52.1 (2021-05-10)

This release disables incremental compilation, unless the user has explicitly
opted in via the newly added RUSTC_FORCE_INCREMENTAL=1 environment variable.

This is due to the widespread, and frequently occuring, breakage encountered by
Rust users due to newly enabled incremental verification in 1.52.0. Notably,
Rust users **should** upgrade to 1.52.0 or 1.52.1: the bugs that are detected by
newly added incremental verification are still present in past stable versions,
and are not yet fixed on any channel. These bugs can lead to miscompilation of
Rust binaries.

These problems only affect incremental builds, so release builds with Cargo
should not be affected unless the user has explicitly opted into incremental.
Debug and check builds are affected.

See [84970] for more details.


Version 1.52.0 (2021-05-06)

- [Added the `unsafe_op_in_unsafe_fn` lint, which checks whether
  the unsafe code in an `unsafe fn` is wrapped in a `unsafe`
  block.][79208] This lint is allowed by default, and may become
  a warning or hard error in a future edition.

- [You can now cast mutable references to arrays to a pointer of
  the same type as the element.][81479]

- [Upgraded the default LLVM to LLVM 12.][81451]

Added tier 3\* support for the following targets.

- [`s390x-unknown-linux-musl`][82166]
- [`riscv32gc-unknown-linux-musl` & `riscv64gc-unknown-linux-musl`][82202]
- [`powerpc-unknown-openbsd`][82733]

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

- [`OsString` now implements `Extend` and `FromIterator`.][82121]
- [`cmp::Reverse` now has `#[repr(transparent)]` representation.][81879]
- [`Arc<impl Error>` now implements `error::Error`.][80553]
- [All integer division and remainder operations are now `const`.][80962]

Stabilised APIs
- [`Arguments::as_str`]
- [`char::MAX`]
- [`char::decode_utf16`]
- [`char::from_digit`]
- [`char::from_u32_unchecked`]
- [`char::from_u32`]
- [`slice::partition_point`]
- [`str::rsplit_once`]
- [`str::split_once`]

The following previously stable APIs are now `const`.

- [`char::len_utf8`]
- [`char::len_utf16`]
- [`char::to_ascii_uppercase`]
- [`char::to_ascii_lowercase`]
- [`char::eq_ignore_ascii_case`]
- [`u8::to_ascii_uppercase`]
- [`u8::to_ascii_lowercase`]
- [`u8::eq_ignore_ascii_case`]

- [Rustdoc lints are now treated as a tool lint, meaning that
  lints are now prefixed with `rustdoc::` (e.g.
  `#[warn(rustdoc::non_autolinks)]`).][80527] Using the old style
  is still allowed, and will become a warning in a future release.
- [Rustdoc now supports argument files.][82261]
- [Rustdoc now generates smart punctuation for documentation.][79423]
- [You can now use "task lists" in Rustdoc Markdown.][81766] E.g.
  - [x] Complete
  - [ ] Todo

- [You can now pass multiple filters to tests.][81356] E.g.
  `cargo test -- foo bar` will run all tests that match `foo` and `bar`.
- [Rustup now distributes PDB symbols for the `std` library on Windows,
  allowing you to see `std` symbols when debugging.][82218]

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.

- [Check the result cache before the DepGraph when ensuring queries][81855]
- [Try fast_reject::simplify_type in coherence before doing full check][81744]
- [Only store a LocalDefId in some HIR nodes][81611]
- [Store HIR attributes in a side table][79519]

Compatibility Notes
- [Cargo build scripts are now forbidden from setting
- [Removed support for the `x86_64-rumprun-netbsd` target.][82594]
- [Deprecated the `x86_64-sun-solaris` target in favor of
- [Rustdoc now only accepts `,`, ` `, and `\t` as delimiters for specifying
  languages in code blocks.][78429]
- [Rustc now catches more cases of `pub_use_of_private_extern_crate`][80763]
- [Changes in how proc macros handle whitespace may lead to panics
  when used with older `proc-macro-hack` versions. A `cargo update` should
  be sufficient to fix this in all cases.][84136]


Revision 1.24 / (download) - annotate - [select for diffs], Tue Jan 12 15:37:32 2021 UTC (9 months, 2 weeks ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.23: +3 -1 lines
Diff to previous 1.23 (colored)

rust: Disable SSP checks which will always fail.

Revision 1.23 / (download) - annotate - [select for diffs], Tue Oct 20 19:03:07 2020 UTC (12 months, 1 week ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4
Changes since 1.22: +5 -2 lines
Diff to previous 1.22 (colored) move CARGO_FEATURES from lang/ncspot to here

It seems to be a generally useful feature. If a package supports
optional cargo dependencies then you may now (instead of messing with
CARGO_ARGS directly) set in your Makefile for example:

CARGO_FEATURES+=		dbus pulseaudio

Revision 1.22 / (download) - annotate - [select for diffs], Fri Aug 14 21:19:22 2020 UTC (14 months, 1 week ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3
Changes since 1.21: +4 -2 lines
Diff to previous 1.21 (colored)

rust/ update documentation

Revision 1.21 / (download) - annotate - [select for diffs], Fri Aug 14 21:12:03 2020 UTC (14 months, 1 week ago) by tnn
Branch: MAIN
Changes since 1.20: +11 -6 lines
Diff to previous 1.20 (colored) some improvements

- rename show-cargo-depends to print-cargo-depends (but keep a compat alias)
- make it print an RCS id preamble with a comment

This allows one to do "make print-cargo-depends >"
and reference from the packages main Makefile.
Makes updating packages easier.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Aug 14 20:44:16 2020 UTC (14 months, 1 week ago) by tnn
Branch: MAIN
Changes since 1.19: +13 -5 lines
Diff to previous 1.19 (colored)

rust/ add a default do-build target to reduce copypasta

Revision 1.19 / (download) - annotate - [select for diffs], Fri Aug 14 11:05:00 2020 UTC (14 months, 1 week ago) by tnn
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

rust/cargo: replace "--frozen --locked" with "--offline" in various places

The intent of "--frozen --locked" was to not use the network, but the new
"--offline" option is better suited for this purpose.
It for example allows us to patch Cargo.toml if necessary without having
to regen checksums.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Aug 6 11:42:56 2020 UTC (14 months, 3 weeks ago) by jperkin
Branch: MAIN
Changes since 1.17: +8 -8 lines
Diff to previous 1.17 (colored)

rust: Update to version 1.45.2.

While here clean up all pkglint warnings.  Changes since 1.44.1:

Version 1.45.2 (2020-08-03)

* [Fix bindings in tuple struct patterns][74954]
* [Fix track_caller integration with trait objects][74784]


Version 1.45.1 (2020-07-30)

* [Fix const propagation with references.][73613]
* [rustfmt accepts rustfmt_skip in cfg_attr again.][73078]
* [Avoid spurious implicit region bound.][74509]
* [Install clippy on install][74457]


Version 1.45.0 (2020-07-16)

- [Out of range float to int conversions using `as` has been defined as a saturating
  conversion.][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.
- [`mem::Discriminant<T>` now uses `T`'s discriminant type instead of always
  using `u64`.][70705]
- [Function like procedural macros can now be used in expression, pattern, and  statement
  positions.][68717] This means you can now use a function-like procedural macro
  anywhere you can use a declarative (`macro_rules!`) macro.

- [You can now override individual target features through the `target-feature`
  flag.][72094] E.g. `-C target-feature=+avx2 -C target-feature=+fma` is now
  equivalent to `-C target-feature=+avx2,+fma`.
- [Added the `force-unwind-tables` flag.][69984] This option allows
  rustc to always generate unwind tables regardless of panic strategy.
- [Added the `embed-bitcode` flag.][71716] This codegen flag allows rustc
  to include LLVM bitcode into generated `rlib`s (this is on by default).
- [Added the `tiny` value to the `code-model` codegen flag.][72397]
- [Added tier 3 support\* for the `mipsel-sony-psp` target.][72062]
- [Added tier 3 support for the `thumbv7a-uwp-windows-msvc` target.][72133]

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

- [`net::{SocketAddr, SocketAddrV4, SocketAddrV6}` now implements `PartialOrd`
  and `Ord`.][72239]
- [`proc_macro::TokenStream` now implements `Default`.][72234]
- [You can now use `char` with
  `ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeTo}` to iterate over
  a range of codepoints.][72413] E.g.
  you can now write the following;
  for ch in 'a'..='z' {
      print!("{}", ch);
  // Prints "abcdefghijklmnopqrstuvwxyz"
- [`OsString` now implements `FromStr`.][71662]
- [The `saturating_neg` method as been added to all signed integer primitive
  types, and the `saturating_abs` method has been added for all integer
  primitive types.][71886]
- [`Arc<T>`, `Rc<T>` now implement  `From<Cow<'_, T>>`, and `Box` now
  implements `From<Cow>` when `T` is `[T: Copy]`, `str`, `CStr`, `OsStr`,
  or `Path`.][71447]
- [`Box<[T]>` now implements `From<[T; N]>`.][71095]
- [`BitOr` and `BitOrAssign` are implemented for all `NonZero`
  integer types.][69813]
- [The `fetch_min`, and `fetch_max` methods have been added to all atomic
  integer types.][72324]
- [The `fetch_update` method has been added to all atomic integer types.][71843]

Stabilized APIs
- [`Arc::as_ptr`]
- [`BTreeMap::remove_entry`]
- [`Rc::as_ptr`]
- [`rc::Weak::as_ptr`]
- [`rc::Weak::from_raw`]
- [`rc::Weak::into_raw`]
- [`str::strip_prefix`]
- [`str::strip_suffix`]
- [`sync::Weak::as_ptr`]
- [`sync::Weak::from_raw`]
- [`sync::Weak::into_raw`]
- [`Span::resolved_at`]
- [`Span::located_at`]
- [`Span::mixed_site`]
- [`unix::process::CommandExt::arg0`]


- [Rustdoc now supports strikethrough text in Markdown.][71928] E.g.
  `~~outdated information~~` becomes "~~outdated information~~".
- [Added an emoji to Rustdoc's deprecated API message.][72014]

Compatibility Notes
- [Trying to self initialize a static value (that is creating a value using
  itself) is unsound and now causes a compile error.][71140]
- [`{f32, f64}::powi` now returns a slightly different value on Windows.][73420]
  This is due to changes in LLVM's intrinsics which `{f32, f64}::powi` uses.
- [Rustdoc's CLI's extra error exit codes have been removed.][71900] These were
  previously undocumented and not intended for public use. Rustdoc still provides
  a non-zero exit code on errors.

Internals Only
- [Make clippy a git subtree instead of a git submodule][70655]
- [Unify the undo log of all snapshot types][69464]


Revision 1.17 / (download) - annotate - [select for diffs], Sun Jun 14 15:33:27 2020 UTC (16 months, 1 week ago) by nia
Branch: MAIN
CVS Tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.16: +2 -8 lines
Diff to previous 1.16 (colored)

Rename rust-bin's PKGNAME to rust-bin. Add 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. 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, and indirectly by packages that do use 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"

Revision 1.16 / (download) - annotate - [select for diffs], Sun Jun 14 11:19:34 2020 UTC (16 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

lang/rust: fix unsatisfiable condition in

The condition had been the same as in Makefile before 1.174.

Testing for OPSYS was unnecessary since that is included in

The ${VAR} syntax is easier readable since the number of exclamation
marks matches the number of negations, contrary to !empty, which is
effectively a positive test.

Swapped the order of the conditions since it is easier to read
"generally, but not" than "not this and the general case".

Revision 1.15 / (download) - annotate - [select for diffs], Mon Jun 8 22:37:28 2020 UTC (16 months, 2 weeks ago) by he
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

It looks like "checksum" is optional, and "source" isn't for
"external" packages, so use the latter.

Revision 1.14 / (download) - annotate - [select for diffs], Mon Jun 8 17:13:39 2020 UTC (16 months, 2 weeks ago) by he
Branch: MAIN
Changes since 1.13: +6 -2 lines
Diff to previous 1.13 (colored)

Provide a new show-cargo-depends script which works with the coming
version of www/zola where the Cargo.lock file has no [metadata] section.

Revision 1.13 / (download) - annotate - [select for diffs], Thu May 21 21:03:44 2020 UTC (17 months, 1 week ago) by nia
Branch: MAIN
Changes since 1.12: +3 -2 lines
Diff to previous 1.12 (colored)

rust: cargo cult netbsd version check for MAKE_JOBS_SAFE

Revision 1.12 / (download) - annotate - [select for diffs], Mon May 18 16:17:20 2020 UTC (17 months, 1 week ago) by nia
Branch: MAIN
Changes since 1.11: +7 -1 lines
Diff to previous 1.11 (colored)

lang: Add rust-bin.

Dumb package that selects and installs a binary rust distribution
based on its guess of your platform (FreeBSD, NetBSD, Linux x86_64 are
all supported). These binaries are the official ones provided by
rust upstream and are the same as those provided by the `rustup` tool.

You can choose to use a binary rust distribution by setting:
RUST_TYPE=bin in mk.conf
(or source distribution with RUST_TYPE=src).

Currently, RUST_TYPE=bin by default ONLY for NetBSD-x86_64. This is
because TNF has been shown to _repeatedly_ be unable and _unwilling_ to
ensure that rust-dependent packages build properly on their
infrastructure, and NetBSD users are all suffering for it.

This was based on minskim's work in pkgsrc-wip.

It was tested by building librsvg and firefox-esr with the resulting

Revision 1.11 / (download) - annotate - [select for diffs], Sun Jan 19 16:53:10 2020 UTC (21 months, 1 week ago) by maya
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.10: +7 -1 lines
Diff to previous 1.10 (colored)

Mark all cargo-using packages as MAKE_JOBS_SAFE=no on netbsd.
It triggers an rtld issue.

Revision 1.10 / (download) - annotate - [select for diffs], Tue Dec 3 16:29:39 2019 UTC (22 months, 3 weeks ago) by minskim
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.9: +1 -2 lines
Diff to previous 1.9 (colored)

lang/rust/ Remove default DIST_SUBDIR

Some packages using have distfiles not from

Revision 1.9 / (download) - annotate - [select for diffs], Tue Dec 3 02:09:06 2019 UTC (22 months, 3 weeks ago) by minskim
Branch: MAIN
Changes since 1.8: +4 -1 lines
Diff to previous 1.8 (colored)

lang/rust/ Set default values for cargo package variables

With these values, a Rust package downloads its own distfile from by default, and shares dependancy crate distfiles with other
Rust packages to avoid multiple downloads.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Nov 3 19:04:07 2019 UTC (23 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.7: +4 -4 lines
Diff to previous 1.7 (colored)

lang: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

No manual corrections.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jul 17 11:04:45 2019 UTC (2 years, 3 months ago) by fox
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

rust: Modifies the regular expression to follow semver specification used by

Previously, crates with a '-' outside the version and version with semver
pre-release version and semver build metadata were not properly handled.

Improvement suggestion by leot@

Tested all users in pkgsrc.

This also addresses PR/54316.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Nov 27 15:45:23 2018 UTC (2 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

rust: speed-up building; clean-ups

- use 'build' target for building, not 'dist'
- set jobs also for install target
- do not generate tarballs; we don't need them, but they take a lot of disk-space
- do not install 'src'
- do not generate 'install.log' nor ''
- on Darwin, use headerpad_max_install_names to be able to fix all dylibs
- make optimized bootstrap
- pkglint fixes
- get ready to depend on lang/llvm and devel/jemalloc

Revision 1.5 / (download) - annotate - [select for diffs], Tue Nov 27 14:02:11 2018 UTC (2 years, 11 months ago) by maya
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

Replace, not append to WRKSRC/.cargo/config.
This may cause problems if there's already one.
Needed by rust librsvg.

Tested all users in pkgsrc.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Oct 23 16:39:29 2018 UTC (3 years ago) by minskim
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

lang/rust: Extract .cargo without making a copy in ${WRKDIR}

Revision 1.3 / (download) - annotate - [select for diffs], Fri Sep 21 21:26:33 2018 UTC (3 years, 1 month ago) by minskim
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base, pkgsrc-2018Q3
Changes since 1.2: +3 -1 lines
Diff to previous 1.2 (colored)

lang/rust: Move common BUILD_DEPENDS in rust packages to

Revision 1.2 / (download) - annotate - [select for diffs], Sun May 6 01:59:36 2018 UTC (3 years, 5 months ago) by maya
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2
Changes since 1.1: +11 -1 lines
Diff to previous 1.1 (colored)

Add a show-cargo-depends target, sparing the effort of listing cargo
dependencies manually.

Document a bit and give some helpful tips.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Nov 8 13:40:10 2017 UTC (3 years, 11 months ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4

rust: helper Makefile snippet

Common logic that can be used by packages that depend on cargo crates
from This lets existing pkgsrc infrastructure fetch and verify
cargo crates instead of using the rust package manager in the build phase.
Inspired by from FreeBSD ports.

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