summary refs log tree commit diff
path: root/pkgs/development/interpreters/python/python-linkme-wrapper.sh
blob: 42674aa83b083c4a18b4fc51364b3966914d3ac9 (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
#!/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=$(realpath -s "$(dirname "$1")")
  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" "$@"