From 9434ec54414c6cbfd3be6e6f8d3b7fec74e75aae Mon Sep 17 00:00:00 2001
From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Date: Sat, 29 Oct 2016 14:47:32 -0400
Subject: [PATCH] root: fix environment setup

1) s/envHook/postHook/
2) patch to not set $p that fixes nested ```nix-shell -p root``` calls
---
 pkgs/applications/science/misc/root/default.nix   |  3 +++
 pkgs/applications/science/misc/root/setup-hook.sh |  2 +-
 .../applications/science/misc/root/thisroot.patch | 15 +++++++++++++++
 3 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 pkgs/applications/science/misc/root/thisroot.patch

diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 45d7686b3e5..d1106a75847 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -21,6 +21,9 @@ stdenv.mkDerivation rec {
       sha256 = "186i7ni75yvjydy6lpmaplqxfb5z2019bgpbhff1n6zn2qlrff2r";
     })
     ./sw_vers.patch
+
+    # this prevents thisroot.sh from setting $p, which interferes with stdenv setup
+    ./thisroot.patch
   ];
 
   preConfigure = ''
diff --git a/pkgs/applications/science/misc/root/setup-hook.sh b/pkgs/applications/science/misc/root/setup-hook.sh
index 197dc78c3c2..fc2b697d8a8 100644
--- a/pkgs/applications/science/misc/root/setup-hook.sh
+++ b/pkgs/applications/science/misc/root/setup-hook.sh
@@ -6,4 +6,4 @@ thisroot () {
     source @out@/bin/thisroot.sh
 }
 
-envHooks+=(thisroot)
+postHooks+=(thisroot)
diff --git a/pkgs/applications/science/misc/root/thisroot.patch b/pkgs/applications/science/misc/root/thisroot.patch
new file mode 100644
index 00000000000..57cd5838e64
--- /dev/null
+++ b/pkgs/applications/science/misc/root/thisroot.patch
@@ -0,0 +1,15 @@
+diff --git a/config/thisroot.sh b/config/thisroot.sh
+index 85dee20..532cb28 100644
+--- a/config/thisroot.sh
++++ b/config/thisroot.sh
+@@ -15,8 +15,8 @@ drop_from_path()
+       return 1
+    fi
+ 
+-   p=$1
+-   drop=$2
++   local p=$1
++   local drop=$2
+ 
+    newpath=`echo $p | sed -e "s;:${drop}:;:;g" \
+                           -e "s;:${drop};;g"   \