diff options
Diffstat (limited to 'pkgs/build-support/rust/build-rust-crate')
3 files changed, 15 insertions, 7 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix index 37fef2abd77..7630c6471dc 100644 --- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix @@ -71,6 +71,9 @@ in '' export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0} export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1} export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2} + export NUM_JOBS=1 + export RUSTC="rustc" + export RUSTDOC="rustdoc" if [[ -n "${versionPre}" ]]; then export CARGO_PKG_VERSION_PRE="${versionPre}" fi diff --git a/pkgs/build-support/rust/build-rust-crate/helpers.nix b/pkgs/build-support/rust/build-rust-crate/helpers.nix index e04324684e5..8a0a62434ec 100644 --- a/pkgs/build-support/rust/build-rust-crate/helpers.nix +++ b/pkgs/build-support/rust/build-rust-crate/helpers.nix @@ -2,6 +2,7 @@ { kernel = stdenv.hostPlatform.parsed.kernel.name; abi = stdenv.hostPlatform.parsed.abi.name; + cpu = stdenv.hostPlatform.parsed.cpu.name; updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions); mapFeatures = features: map (fun: fun { features = features; }); mkFeatures = feat: lib.lists.foldl (features: featureName: @@ -11,10 +12,12 @@ features ) [] (builtins.attrNames feat); include = includedFiles: src: builtins.filterSource (path: type: - lib.lists.any (f: - let p = toString (src + ("/" + f)); in - (path == p) || (type == "directory" && lib.strings.hasPrefix path p) - ) includedFiles + lib.lists.any (f: + let p = toString (src + ("/" + f)); + suff = lib.strings.removePrefix p path; + in + suff == "" || (lib.strings.hasPrefix "/" suff) + ) includedFiles ) src; exclude = excludedFiles: src: builtins.filterSource (path: type: lib.lists.all (f: diff --git a/pkgs/build-support/rust/build-rust-crate/install-crate.nix b/pkgs/build-support/rust/build-rust-crate/install-crate.nix index c41df34ca39..3b0282621ea 100644 --- a/pkgs/build-support/rust/build-rust-crate/install-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/install-crate.nix @@ -20,9 +20,11 @@ crateName: metadata: mkdir -p $out/lib cp -r target/build/* $out/lib # */ fi - if [[ "$(ls -A target/bin)" ]]; then - mkdir -p $out/bin - cp -P target/bin/* $out/bin # */ + if [[ -d target/bin ]]; then + if [[ "$(ls -A target/bin)" ]]; then + mkdir -p $out/bin + cp -P target/bin/* $out/bin # */ + fi fi runHook postInstall '' |