Commit graph

80 commits

Author SHA1 Message Date
John Ericson
19a0b38cbe
Merge pull request #82882 from obsidiansystems/armv6-embedded
Misc fixes for armv6 bare metal cross
2020-03-19 10:38:22 -04:00
Benjamin Hipple
05343f6ff1 rust: remove legacy cargo fetcher
We have now migrated every single Rust package in NixPkgs! This deletes the
legacy fetcher, which is now unused.

Resolves #79975
2020-03-18 20:12:32 -07:00
John Ericson
783fa4616e rustc: Add way to override the arch and config triple for rust
Sometimes it is useful for it to be slightly different. Going forward we
should, however, try to make this fallback rarely needed.
2020-03-12 09:56:55 -04:00
John Ericson
83a4705f49
Merge pull request #80843 from obsidiansystems/rust-no-std
rust 1.41: Fix build with no_std only target
2020-02-23 00:48:45 -05:00
John Ericson
0b0e691833 rust 1.41: Fix build with no_std only target
See https://github.com/rust-lang/rust/pull/69381
2020-02-22 18:34:05 -05:00
Benjamin Hipple
2115a2037c fetchcargo: use flat tar.gz file for vendored src instead of recursive hash dir
This has several advantages:

1. It takes up less space on disk in-between builds in the nix store.
2. It uses less space in the binary cache for vendor derivation packages.
3. It uses less network traffic downloading from the binary cache.
4. It plays nicely with hashed mirrors like tarballs.nixos.org, which only
   substitute --flat hashes on single files (not recursive directory hashes).
5. It's consistent with how simple `fetchurl` src derivations work.
6. It provides a stronger abstraction between input src-package and output
   package, e.g., it's harder to accidentally depend on the src derivation at
   runtime by referencing something like `${src}/etc/index.html`. Likewise, in
   the store it's harder to get confused with something that is just there as a
   build-time dependency vs. a runtime dependency, since the build-time
   src dependencies are tarred up.

Disadvantages are:
1. It takes slightly longer to untar at the start of a build.

As currently implemented, this attaches the compacted vendor.tar.gz feature as a
rider on `verifyCargoDeps`, since both of them are relatively newly implemented
behavior that change the `cargoSha256`.

If this PR is accepted, I will push forward the remaining rust packages with a
series of treewide PRs to update the `cargoSha256`s.
2020-02-10 10:17:29 -05:00
Daiderd Jordan
8df4338f51
rustPackages: make rustc-dev optional
This was only introduced in 1.40.0 and doesn't work on older versions.

    thread 'main' panicked at 'Error: no rules matched rustc-dev.', src/bootstrap/builder.rs:231:21
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
    failed to run: /build/rustc-1.38.0-src/build/bootstrap/debug/bootstrap dist rustc-dev
2020-01-18 10:57:13 +01:00
Alyssa Ross
b9d274b89d rustPlatform.fetchcargo: expose 2019-12-23 18:27:56 +00:00
Ben Wolsieffer
83ac9c07e4 rust: add support for armv6l-linux and armv7l-linux 2019-11-23 19:19:31 -05:00
taku0
97f20c3011 rust: keep multiple version.
Firefox 70.0.1 and Thunderbird 68.2.2 require older version of rustc.
2019-11-08 21:12:01 +09:00
Symphorien Gibol
d9d0647046 rls: tie version to rustc's 2019-08-21 11:21:01 +02:00
Bas van Dijk
b9c4bef090
Merge pull request #66713 from basvandijk/rustfmt-from-rust-src
rustfmt: use the src as defined by the git submodule in rust
2019-08-19 15:14:23 +02:00
Bas van Dijk
16cb2611d9 rustfmt: use the src as defined by the git submodule in rust
This commit makes sure rustc and rustfmt are compatible by setting
rustfmt's src to the rustfmt git submodule as defined in:

https://github.com/rust-lang/rust/tree/1.36.0/src/tools
2019-08-16 12:54:05 +02:00
Bas van Dijk
682e6fafa4 rustPackages.clippy: init at rust-1.36.0 2019-08-16 09:18:32 +02:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Matthew Bauer
f0b7561275 rustc: use llvm5 for bootstrapping 2019-04-26 21:55:09 -04:00
Michael Eden
54e9082375 rust: Don't force gcc6 2019-03-29 11:11:53 -04:00
Jörg Thalheim
912dca193a rust: fix cross-compilation 2019-03-29 11:11:00 -04:00
Luka Blaskovic
cc5b55f944 rust: 1.31.0 -> 1.32.0 2019-01-22 08:05:17 +00:00
Jörg Thalheim
3a5b4a631d
rustc: 1.30.1 -> 1.31.0 2018-12-06 22:22:10 +00:00
Jörg Thalheim
9e39329e1f
Merge pull request #50006 from alyssais/rust-1.30.1
rust: 1.30.0 -> 1.30.1
2018-11-14 11:29:22 +00:00
Alyssa Ross
934e489401
rust: 1.30.0 -> 1.30.1 2018-11-09 15:27:52 +00:00
Symphorien Gibol
4b0d441cc4 rustc: build with system llvm and jemalloc
Just like fedora does: https://src.fedoraproject.org/rpms/rust/blob/master/f/rust.spec

Also some cleanup of tests which were removed but no longer exist.
2018-11-08 13:04:37 +01:00
Daiderd Jordan
1b47b95638
cargo: fix darwin build
It depends the Security framework now.
2018-10-26 16:06:56 +01:00
Jörg Thalheim
cafecf16af
rust: 1.29.1 -> 1.30.0 2018-10-26 10:37:46 +01:00
Andreas Rammhold
aef6830d3e rustc: 1.29.0 -> 1.29.1
From the changelog:

- The standard library's `str::repeat` function contained an out of bounds write
  caused by an integer overflow. This has been fixed by deterministically
  panicking when an overflow happens.
2018-10-03 16:26:48 +02:00
Symphorien Gibol
ffafe959ee rustc: 1.27 -> 1.29 2018-09-14 14:22:56 +02:00
Eelco Dolstra
323fe3a305
rustc: Disable tests for now 2018-07-09 12:35:01 +02:00
Jörg Thalheim
cbdd14bdc8 rustc: 1.26.2 -> 1.27.0 2018-06-21 17:20:37 -05:00
Jörg Thalheim
47529594e4 rustc: disable test-inherit-env
This fails on hydra on x86_64 for unknown reason.
2018-06-08 10:55:02 +01:00
jD91mZM2
810e6759c2
rustc: 1.26.1 -> 1.26.2 2018-06-06 07:29:09 +02:00
Daiderd Jordan
ff37f08aa8
rustc: re-enable tests on darwin
- disable doctest for stdsimd
- disable previous and some extra extra tcp tests
2018-06-05 07:43:36 +02:00
jD91mZM2
fd95f532e0
rust: 1.25.0 -> 1.26.1 2018-06-04 22:07:16 +02:00
Jörg Thalheim
14a119e198 rustc: disable test on i686
They run out of memory and lead to failing tests.

fixes #39110
2018-04-21 18:52:39 +01:00
Jörg Thalheim
dee60d8e2c rustc: disable tests for aarch64
upstream is doing the same
2018-04-16 12:28:04 +01:00
Piotr Bogdan
f09a0a8e43 rust: drop obsolete patch (now included in upstream sources) 2018-04-11 14:11:16 +01:00
Frederik Rietdijk
0aa59a08d6 Merge master into staging 2018-04-09 15:12:32 +02:00
Bastian Köcher
0c181bb290 rustc: 1.24.0 -> 1.25.0 2018-04-06 17:05:40 +02:00
Shea Levy
3a143dcad2
rustc: 1.24.0 -> 1.24.1 and glibc-2.27 patch. 2018-03-17 21:58:15 -04:00
Vladimír Čunát
1d15dadbec
Merge branch 'master' into staging
Larger rebuilds from master.
2018-02-20 20:33:40 +01:00
Vladimír Čunát
fbe38c7c44
rustc: build with gcc6 on i686
Probably due to the bundled LLVM, so the same error.
2018-02-20 20:31:23 +01:00
Jörg Thalheim
f61e8d98ff
rust: 1.22.1 -> 1.24.0 2018-02-20 09:59:26 +00:00
Robin Gloster
7c5430c27c
Revert "rust: store the cargo-vendor config"
This reverts commit 0af2c5891b.

See 0af2c5891b (commitcomment-26737983)
This breaks the cargoSha256 hashes.
2018-01-09 15:03:03 +01:00
zimbatm
0af2c5891b rust: store the cargo-vendor config
cargo-vendor generates almost the right cargo config. Store it with the
vendored files and patch it on use.

This allows to re-use the generated config when using git dependencies.
2018-01-09 03:37:53 +01:00
zimbatm
c5456dbfec cargo: 0.22.0 -> 0.23.0 2018-01-09 03:37:53 +01:00
zimbatm
8559dd0474 rustc: 1.21.0 -> 1.22.1
* removed --enable-clang as it has disappeared
* removed old fixes that have been integrated in upstream
2018-01-09 03:37:53 +01:00
Tuomas Tynkkynen
491e5d8649 rustc: Support aarch64 2017-12-02 14:46:33 +02:00
Yurii Rashkovskii
2805444f96 rust: 1.20.0 -> 1.21.0 2017-11-03 13:29:20 +07:00
zimbatm
6bbce42fe7 cargo: 0.21.1 -> 0.22.0 2017-10-23 00:30:47 +01:00
Kevin Cox
5f8cf0048e rust: update cargo builder to fetch registry dynamically
The biggest benefit is that we no longer have to update the registry
package. This means that just about any cargo package can be built by
nix. No longer does `cargo update` need to be feared because it will
update to packages newer then what is available in nixpkgs.

Instead of fetching the cargo registry this bundles all the source code
into a "vendor/" folder.

This also uses the new --frozen and --locked flags which is nice.

Currently cargo-vendor only provides binaries for Linux and
macOS 64-bit. This can be solved by building it for the other
architectures and uploading it somewhere (like the NixOS cache).

This also has the downside that it requires a change to everyone's deps
hash. And if the old one is used because it was cached it will fail to
build as it will attempt to use the old version. For this reason the
attribute has been renamed to `cargoSha256`.

Authors:
* Kevin Cox <kevincox@kevincox.ca>
* Jörg Thalheim <Mic92@users.noreply.github.com>
* zimbatm <zimbatm@zimbatm.com>
2017-10-23 00:30:47 +01:00