759 Commits

Author SHA1 Message Date
figsoda 4cb59fe2e3 rustc: remove unused inputs 2023-03-29 08:00:08 +10:00
figsoda 45b1d4d292 rustc: 1.68.1 -> 1.68.2
Diff: https://github.com/rust-lang/rust/compare/1.68.1...1.68.2

Changelog: https://blog.rust-lang.org/2023/03/28/Rust-1.68.2.html
2023-03-29 08:00:08 +10:00
figsoda 201d4b7c5c rustPlatform.buildRustPackage: make auditable the default 2023-03-26 22:47:06 -04:00
Yureka 91c36201aa rustfmt: fix build for 1.68 2023-03-27 08:08:40 +10:00
Raito Bezarius 370040c2f1 rustc: 1.68.0 -> 1.68.1 2023-03-27 08:08:40 +10:00
Raito Bezarius 20e24e42d4 rustc: 1.67.1 -> 1.68.0 2023-03-27 08:08:40 +10:00
Alyssa Ross 470e6130b3 rust: fix overriding rust flags on musl
If RUSTFLAGS is set in the environment, Cargo will ignore rustflags
settings in its TOML configuration.  So setting RUSTFLAGS=-g (like
separateDebugInfo does) to generate debug info breaks
dynamically-linked Rust packages on musl.  This breakage is visible
for any packages that call into C dynamic libraries.  If the binary is
linked directly to a C dynamic library, it will fail to build, and if
it depends on a Rust library which links a C dynamic library, it will
segfault at runtime when it tries to call a function from the C
library.  I noticed this because pkgsMusl.crosvm is broken for this
reason, since it sets separateDebugInfo = true.

It shouldn't be possible to end up with broken binaries just by using
RUSTFLAGS to do something innocuous like enable debug info, so I think
that, even though we liked the approach of modiyfing .cargo/config
better at the time, it's become clear that it's too brittle, and we
should bite the bullet and patch the compiler instead when targetting
musl.  It does not appear to be necessary to modify the compiler at
all when cross-compiling /from/ dynamically-linked Musl to another
target, so I'm only checking whether the target system is
dynamically-linked Musl when deciding whether to make the modification
to the compiler.

This reverts commit c2eaaae50d
("cargoSetupHook: pass host config flags"), and implements the
compiler patching approach instead.
2023-03-16 02:29:46 +00:00
figsoda 4a3699c08b cargo-auditable: 0.6.0 -> 0.6.1
Diff: https://github.com/rust-secure-code/cargo-auditable/compare/v0.6.0...v0.6.1

Changelog: https://github.com/rust-secure-code/cargo-auditable/blob/v0.6.1/cargo-auditable/CHANGELOG.md
2023-03-06 21:27:01 -05:00
Weijia Wang 39a2b0b3bf rust: remove aarch64-linux workaround
This commit reverts #209113, since aarch64-linux now uses GCC 12 by default.
2023-03-01 18:42:07 +02:00
Winter d5dc3d17f3 rustc: re-enable parallel building
We previously disabled this based on a now-closed issue from 2015 [0].
I think enough time has passed that we can give it a shot again, given
that the in the worst case scenario we revert, and in the best case
scenario we get a performance boost.

[0]: https://github.com/rust-lang/rust/issues/30181
2023-02-26 09:09:35 +10:00
github-actions[bot] 507feca606 Merge master into staging-next 2023-02-20 12:01:32 +00:00
Winter f08437edcb clippy: add rust team to maintainers
Missed this in 1e814042af.
2023-02-20 01:19:56 -05:00
Winter fd5fa383fe clippy: drop rustc from buildInputs
This may have been required when the package was originally added [0],
but it builds and runs just fine without it now.

[0]: 682e6fafa4
2023-02-20 01:19:56 -05:00
Winter 759bd7b26f clippy: fix on darwin
As of Rust 1.67.0, the cargo-clippy binary now relies on the rustc_private
libraries [0], so let's do the RPATH fixup to it too.

I've also added a comment to explain the RPATH situation, as it took me
a bit to figure out.

[0]: https://github.com/rust-lang/rust-clippy/pull/9541
2023-02-20 01:19:56 -05:00
Sandro Jäckel c90dcc7327 rustc: add ripgrep and wezterm to passthru.tests
ripgrep is a very popular grep replacement (similar to fd and find)
and wezterm is a popular terminal emulator which has a big codebase with
lots of features tested (it also broke in the past multiple times on
rustc upgrades.).
2023-02-20 01:16:58 -05:00
figsoda 5bc96030b0 rustc: 1.67.0 -> 1.67.1
Diff: https://github.com/rust-lang/rust/compare/1.67.0...1.67.1

Changelog: https://blog.rust-lang.org/2023/02/09/Rust-1.67.1.html
2023-02-10 06:55:18 +10:00
Winter 6056eaaa8b rustc: apply patch to fix delay_span_bug ICE
Rust 1.67.0 introduced a regression that caused an ICE when building Vector.

https://hydra.nixos.org/build/207931877
https://github.com/rust-lang/rust/issues/107691
https://github.com/rust-lang/rust/pull/107688
2023-02-07 23:36:18 -05:00
Vladimír Čunát 52bef35053 Merge #213694: Revert "rustc: add note about libiconv dependency"
...into staging-next
2023-02-05 15:37:02 +01:00
figsoda 88a42ba309 rustc: apply patch to fix thin archive reading 2023-02-02 07:02:02 +10:00
linsui 9bc4f34034 cargo: move cert info to fetch-cargo-tarball
As proposed in https://github.com/NixOS/nixpkgs/pull/82496, we should only set the related env vars for the fetcher instead of breaking the function of cargo itself.
2023-02-01 06:53:43 +10:00
github-actions[bot] 6527aa6d68 Merge staging-next into staging 2023-01-31 12:01:45 +00:00
Vladimír Čunát e4957a85c9 Merge #211923: staging-next 2023-01-21 2023-01-31 09:42:28 +01:00
Winter 1e814042af rustc, cargo: add rust team to maintainers 2023-01-31 18:10:08 +10:00
Winter ede7b1d98a Revert "rustc: add note about libiconv dependency"
This reverts commit edfbbaf282.

I mistakingly believed that once 1.66.0 was used to bootstrap, we'd be
able to remove libiconv from rustc's build-time dependency tree on Darwin.
Sadly, this isn't the case, because src/tools/bootstrap depends on libc.

Additionally, it seems that my assessment in b1834a461e
was wrong -- *any* dependency on `libc` will cause a requirement on
libiconv, due to rustc unconditionally linking every library specified
in `link` directives, no matter if the function is actually used.

This was worked around somewhat in https://github.com/rust-lang/libc/pull/2944
by not linking libiconv if libc is only a dependency of std, but this
doesn't apply when `libc` is a dependency of anything else.

Maybe one day we'll just rip out libiconv from `libc` entirely (or hide it
behind a feature flag), but for now, we can just keep it in `buildRustPackage`'s
`buildInputs` by default.
2023-01-30 21:13:05 -05:00
figsoda 63f869f5ff rustc: 1.66.1 -> 1.67.0 2023-01-31 11:04:24 +10:00
Zhaofeng Li d450afc911 cargo-auditable-cargo-wrapper: Use writeShellScriptBin instead of writeShellApplication
This is to prevent pulling in GHC for such a simple wrapper script.
2023-01-19 13:50:01 +10:00
figsoda b9259df616 rustPlatform.buildRustPackage: fix cross compiling auditable packages 2023-01-12 12:22:59 -05:00
Rick van Schijndel e091693f13 cargo: fix cross-compilation by adding missing zlib dependency
Previously it was failing with:

   Compiling cargo v0.67.1 (/build/rustc-1.66.1-src/src/tools/cargo)
error: linking with `/nix/store/gcc-wrapper-11.3.0/bin/cc` failed: exit status: 1
  |
  = note: /nix/store/binutils-2.39/bin/ld: skipping incompatible /nix/store/zlib-aarch64-unknown-linux-gnu-1.2.13/lib/libz.so when searching for -lz
          /nix/store/binutils-2.39/bin/ld: cannot find -lz: No such file or directory
          /nix/store/binutils-2.39/bin/ld: skipping incompatible /nix/store/zlib-aarch64-unknown-linux-gnu-1.2.13/lib/libz.so when searching for -lz
          collect2: error: ld returned 1 exit status
2023-01-11 21:06:46 +01:00
Winter 21dbce8f83 rustc: 1.66.0 -> 1.66.1
https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1661-2023-01-10

Fixes CVE-2022-46176.
2023-01-10 20:10:18 -05:00
Winter 8442601c64 rust: fix on aarch64-linux by using GCC 11 and passing -lgcc
This change switches to using GCC 11 by default on aarch64-linux, as well as passing `-lgcc` to the linker, per #201485.

See #201254 and #208412 for wider context on the issue.
2023-01-04 18:15:20 -05:00
Atemu 3eec3c8fed buildRustPackage: remove git from nativeBuildInputs
Having git in nativeBuildInputs causes thousands of rebuilds when git is touched
because every derivation that somehow transiently depends on a rust package will
change. See https://github.com/NixOS/nixpkgs/pull/205682 for instance.

AFAICT git is unused. Only the fetcher needs git which it has already.

Fixes https://github.com/NixOS/nixpkgs/issues/205804
2022-12-27 18:37:21 +10:00
figsoda ca370da6d3 Merge pull request #206270 from figsoda/rustc
rustc: 1.65.0 -> 1.66.0
2022-12-23 18:09:56 -05:00
Winter edfbbaf282 rustc: add note about libiconv dependency 2022-12-23 13:56:08 -05:00
Winter b1834a461e Revert "rustc: propagate libiconv on darwin"
This reverts commit b6fc00b8f4.

Rust 1.66.0 contains a fix for libiconv being linked unconditionally on macOS, but this only applies to packages that don't depend on older versions of `libc`.

For now, let's go back to including libiconv in `buildInputs` by default for packages that use `buildRustPackage`. As packages bump their `libc` versions, we can eventually stop including it by default, and manually add it where needed.
2022-12-23 13:55:46 -05:00
github-actions[bot] 392cc9b8fe Merge staging-next into staging 2022-12-17 12:01:41 +00:00
Jörg Thalheim b0213fb143 Merge pull request #194388 from tomhoule/make-rust-platform/import-cargo-lock-cargo-argument
makeRustPlatform: inherit cargo in import-cargo-lock
2022-12-17 08:44:43 +00:00
figsoda 1ffbdda604 rustc: 1.65.0 -> 1.66.0 2022-12-15 11:26:42 -05:00
figsoda 0e5137f267 rustPlatform.buildRustPackage: make it not auditable by default 2022-12-05 18:46:00 -05:00
figsoda 8a041c63c0 rustPlatform.buildRustPackage: build auditable binaries 2022-12-05 16:18:17 -05:00
Martin Weinelt fe8eef1ae4 Merge remote-tracking branch 'origin/master' into staging-next 2022-12-04 22:06:42 +01:00
figsoda d3eb606296 rustPlatform.buildRustPackage: add useNextest option to check with cargo-nextest 2022-11-28 17:00:17 -05:00
github-actions[bot] e31b8a36d7 Merge staging-next into staging 2022-11-23 00:02:46 +00:00
figsoda 82fe76d1cd carnix,cratesIO: remove 2022-11-22 14:10:25 -05:00
Theodore Ni eea038cc8f rustc: 1.64.0 -> 1.65.0
https://github.com/rust-lang/rust/releases/tag/1.65.0
2022-11-15 06:47:17 +10:00
github-actions[bot] 71d2c63882 Merge staging-next into staging 2022-11-02 12:02:01 +00:00
github-actions[bot] 4b05cc6f66 Merge master into staging-next 2022-11-02 12:01:31 +00:00
Georges Dubus 2c039bba78 rustc: removing madjar as maintainer 2022-11-02 10:53:55 +01:00
Yureka 7852c61b6e cargo: no longer broken on musl 2022-10-30 18:55:47 +01:00
github-actions[bot] d86d8a1a3d Merge staging-next into staging 2022-10-20 00:05:50 +00:00
Stéphan Kochen da85286b28 rustc: don't strip bootstrap on darwin 2022-10-20 09:02:51 +10:00