diff --git a/nix/artiq-dev.nix b/nix/artiq-dev.nix index 479352d2c..33e888d81 100644 --- a/nix/artiq-dev.nix +++ b/nix/artiq-dev.nix @@ -20,10 +20,10 @@ in xorg.libXi (python3.withPackages(ps: with ps; [ jinja2 numpy artiqpkgs.migen artiqpkgs.microscope artiqpkgs.misoc artiqpkgs.jesd204b artiqpkgs.artiq ])) git + cargo ] ++ (with artiqpkgs; [ rustc - cargo binutils-or1k llvm-or1k openocd diff --git a/nix/default.nix b/nix/default.nix index 90063b48d..5b27187aa 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -8,7 +8,7 @@ let }); llvm-src = callPackage ./fetch-llvm-clang.nix {}; in rec { - inherit (rust) cargo rustc; + inherit (rust) rustc; inherit (callPackage ./pkgs/python3Packages.nix {}) migen microscope misoc jesd204b; binutils-or1k = callPackage ./pkgs/binutils-or1k.nix {}; llvm-or1k = callPackage ./pkgs/llvm-or1k.nix { inherit llvm-src; }; diff --git a/nix/pkgs/rust/cargo.nix b/nix/pkgs/rust/cargo.nix deleted file mode 100644 index cdeca0fa8..000000000 --- a/nix/pkgs/rust/cargo.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ stdenv, fetchurl, file, curl, pkgconfig, python, openssl, cmake, zlib -, makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2, darwin -, version -, patches ? [] -, src }: - -let - inherit (darwin.apple_sdk.frameworks) CoreFoundation; - src_rustc = fetchurl { - url = "https://static.rust-lang.org/dist/rustc-1.28.0-src.tar.gz"; - sha256 = "11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx"; - }; -in - -rustPlatform.buildRustPackage rec { - name = "cargo-${version}"; - inherit version src patches; - - # the rust source tarball already has all the dependencies vendored, no need to fetch them again - cargoVendorDir = "src/vendor"; - preBuild = "cd src; pushd tools/cargo"; - postBuild = "popd"; - - passthru.rustc = rustc; - - # changes hash of vendor directory otherwise - dontUpdateAutotoolsGnuConfigScripts = true; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cacert file curl python openssl cmake zlib makeWrapper libgit2 ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ]; - - LIBGIT2_SYS_USE_PKG_CONFIG=1; - - # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel - RUSTC_BOOTSTRAP=1; - - preConfigure = '' - tar xf ${src_rustc} - mv rustc-1.28.0-src/src/vendor/ src/vendor - ''; - - postInstall = '' - # NOTE: We override the `http.cainfo` option usually specified in - # `.cargo/config`. This is an issue when users want to specify - # their own certificate chain as environment variables take - # precedence - wrapProgram "$out/bin/cargo" \ - --suffix PATH : "${rustc}/bin" \ - --set CARGO_HTTP_CAINFO "${cacert}/etc/ssl/certs/ca-bundle.crt" \ - --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" - ''; - - checkPhase = '' - # Disable cross compilation tests - export CFG_DISABLE_CROSS_TESTS=1 - cargo test - ''; - - # Disable check phase as there are failures (4 tests fail) - doCheck = false; - - meta = with stdenv.lib; { - homepage = https://crates.io; - description = "Downloads your Rust project's dependencies and builds your project"; - #maintainers = with maintainers; [ sb0 ]; - license = [ licenses.mit licenses.asl20 ]; - platforms = platforms.unix; - }; -} diff --git a/nix/pkgs/rust/default.nix b/nix/pkgs/rust/default.nix index fa8f93856..3971c6f57 100644 --- a/nix/pkgs/rust/default.nix +++ b/nix/pkgs/rust/default.nix @@ -8,7 +8,6 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); version = "1.28.0"; - cargoVersion = "1.28.0"; src = fetchFromGitHub { owner = "m-labs"; repo = "rust"; @@ -86,12 +85,4 @@ in rec { # Disabled for now; see https://github.com/NixOS/nixpkgs/pull/42348#issuecomment-402115598. doCheck = false; }; - - cargo = callPackage ./cargo.nix rec { - version = cargoVersion; - inherit src; - inherit stdenv; - inherit rustc; # the rustc that will be wrapped by cargo - inherit rustPlatform; # used to build cargo - }; }