about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2019-06-25 14:04:12 +0200
committerVladimír Čunát <v@cunat.cz>2019-06-25 14:04:12 +0200
commit145a620802ca209b8a5fd29b6376cd77e44b48d4 (patch)
treef89e4915e6b5b56f2612fb172b3219fd3f0c345b /pkgs/build-support
parentdafee3d91af16ec7cc4962b194330ef621f664bd (diff)
parentcd83cecdc8accee367d3d09171024464b0fb98ad (diff)
downloadnixlib-145a620802ca209b8a5fd29b6376cd77e44b48d4.tar
nixlib-145a620802ca209b8a5fd29b6376cd77e44b48d4.tar.gz
nixlib-145a620802ca209b8a5fd29b6376cd77e44b48d4.tar.bz2
nixlib-145a620802ca209b8a5fd29b6376cd77e44b48d4.tar.lz
nixlib-145a620802ca209b8a5fd29b6376cd77e44b48d4.tar.xz
nixlib-145a620802ca209b8a5fd29b6376cd77e44b48d4.tar.zst
nixlib-145a620802ca209b8a5fd29b6376cd77e44b48d4.zip
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1527134
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/mkshell/default.nix13
1 files changed, 6 insertions, 7 deletions
diff --git a/pkgs/build-support/mkshell/default.nix b/pkgs/build-support/mkshell/default.nix
index a98b4affacba..a70dc0390cb5 100644
--- a/pkgs/build-support/mkshell/default.nix
+++ b/pkgs/build-support/mkshell/default.nix
@@ -11,13 +11,8 @@
   ...
 }@attrs:
 let
-  mergeInputs = name:
-    let
-      op = item: sum: sum ++ item."${name}" or [];
-      nul = [];
-      list = [attrs] ++ inputsFrom;
-    in
-      lib.foldr op nul list;
+  mergeInputs = name: lib.concatLists (lib.catAttrs name
+    ([attrs] ++ inputsFrom));
 
   rest = builtins.removeAttrs attrs [
     "inputsFrom"
@@ -25,6 +20,7 @@ let
     "nativeBuildInputs"
     "propagatedBuildInputs"
     "propagatedNativeBuildInputs"
+    "shellHook"
   ];
 in
 
@@ -37,6 +33,9 @@ stdenv.mkDerivation ({
   propagatedBuildInputs = mergeInputs "propagatedBuildInputs";
   propagatedNativeBuildInputs = mergeInputs "propagatedNativeBuildInputs";
 
+  shellHook = lib.concatStringsSep "\n" (lib.catAttrs "shellHook"
+    (lib.reverseList inputsFrom ++ [attrs]));
+
   nobuildPhase = ''
     echo
     echo "This derivation is not meant to be built, aborting";