summary refs log tree commit diff
path: root/pkgs/build-support/rust
diff options
context:
space:
mode:
authorPierre-Étienne Meunier <pierre-etienne.meunier@inria.fr>2018-11-22 11:40:03 +0000
committerPierre-Étienne Meunier <pierre-etienne.meunier@inria.fr>2018-11-22 11:40:03 +0000
commit0e8332ca2bfe5503cec403ac759c180f1d3d0ab3 (patch)
treedc33b3dce9d420d7ae7c8cc514fecf2c2370ed7a /pkgs/build-support/rust
parentf1de24feb89d6516c35b7c34c0fb7dc57e8d865d (diff)
downloadnixpkgs-0e8332ca2bfe5503cec403ac759c180f1d3d0ab3.tar
nixpkgs-0e8332ca2bfe5503cec403ac759c180f1d3d0ab3.tar.gz
nixpkgs-0e8332ca2bfe5503cec403ac759c180f1d3d0ab3.tar.bz2
nixpkgs-0e8332ca2bfe5503cec403ac759c180f1d3d0ab3.tar.lz
nixpkgs-0e8332ca2bfe5503cec403ac759c180f1d3d0ab3.tar.xz
nixpkgs-0e8332ca2bfe5503cec403ac759c180f1d3d0ab3.tar.zst
nixpkgs-0e8332ca2bfe5503cec403ac759c180f1d3d0ab3.zip
Fixing "include"
Diffstat (limited to 'pkgs/build-support/rust')
-rw-r--r--pkgs/build-support/rust/build-rust-crate/helpers.nix11
1 files changed, 7 insertions, 4 deletions
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: