about summary refs log tree commit diff
path: root/pkgs/development/interpreters/python
diff options
context:
space:
mode:
authorFlorian Friesdorf <flo@chaoflow.net>2013-01-21 20:02:57 +0100
committerFlorian Friesdorf <flo@chaoflow.net>2013-01-22 15:28:30 +0100
commit1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904 (patch)
tree91b331fa166c773ebcc0d5886cd14a653a5ae70a /pkgs/development/interpreters/python
parentd6a18fe4aed2e479920388f09ed3b0e61e4af80b (diff)
downloadnixlib-1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904.tar
nixlib-1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904.tar.gz
nixlib-1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904.tar.bz2
nixlib-1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904.tar.lz
nixlib-1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904.tar.xz
nixlib-1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904.tar.zst
nixlib-1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904.zip
python-linkme-wrapper
Diffstat (limited to 'pkgs/development/interpreters/python')
-rw-r--r--pkgs/development/interpreters/python/python-linkme-wrapper.nix13
-rw-r--r--pkgs/development/interpreters/python/python-linkme-wrapper.sh34
2 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.nix b/pkgs/development/interpreters/python/python-linkme-wrapper.nix
new file mode 100644
index 000000000000..8d783a8c11ea
--- /dev/null
+++ b/pkgs/development/interpreters/python/python-linkme-wrapper.nix
@@ -0,0 +1,13 @@
+{ stdenv }:
+
+stdenv.mkDerivation {
+  name = "python-linkme-wrapper-1.0";
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cat ${./python-linkme-wrapper.sh} >  $out/bin/.python-linkme-wrapper
+    chmod +x $out/bin/.python-linkme-wrapper
+  '';
+}
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.sh b/pkgs/development/interpreters/python/python-linkme-wrapper.sh
new file mode 100644
index 000000000000..e6307d81ed44
--- /dev/null
+++ b/pkgs/development/interpreters/python/python-linkme-wrapper.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# Install it into a nix profile and from there build symlink chains.
+# The chain will be followed to set the PYTHONPATH
+# A/bin/foo -> B/bin/bar -> NIXENV/bin/.python-linkme-wrapper.sh
+#
+
+if test ! -L "$0"; then
+   echo "Link me!"
+   exit 1
+fi
+
+PROG=$(basename "$0")
+SITES=
+
+pypath() {
+  BIN=$(dirname "$1")
+  BIN=$(realpath -s "$BIN")
+  ENV=$(dirname "$BIN")
+  SITE="$ENV/lib/python2.7/site-packages"
+  SITES="$SITES${SITES:+:}$SITE"
+
+  PRG=$BIN/$(readlink "$1")
+
+  if test -L "$PRG"; then
+    pypath "$PRG"
+  fi
+}
+
+pypath $(realpath -s "$0")
+
+export PYTHONPATH="$PYTHONPATH${PYTHONPATH:+:}$SITES"
+
+exec $BIN/$PROG "$@"