summary refs log tree commit diff
path: root/pkgs/development/interpreters/python/python-linkme-wrapper.sh
blob: e6307d81ed4442cb8e060795a8ae75d3d56372b8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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 "$@"