diff options
author | Florian Friesdorf <flo@chaoflow.net> | 2013-01-21 20:02:57 +0100 |
---|---|---|
committer | Florian Friesdorf <flo@chaoflow.net> | 2013-01-22 15:28:30 +0100 |
commit | 1fa2e7f9a9d874fa96f74d3b6816b3bf69a9b904 (patch) | |
tree | 91b331fa166c773ebcc0d5886cd14a653a5ae70a /pkgs/development/interpreters/python | |
parent | d6a18fe4aed2e479920388f09ed3b0e61e4af80b (diff) | |
download | nixlib-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.nix | 13 | ||||
-rw-r--r-- | pkgs/development/interpreters/python/python-linkme-wrapper.sh | 34 |
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 "$@" |