summaryrefslogtreecommitdiff
path: root/pkg/postmkvenv.sh
diff options
context:
space:
mode:
authorkali <kali@leap.se>2013-02-15 09:31:51 +0900
committerkali <kali@leap.se>2013-02-15 09:31:51 +0900
commit9cea9c8a34343f8792d65b96f93ae22bd8685878 (patch)
tree9f512367b1d47ced5614702a00f3ff0a8fe746d7 /pkg/postmkvenv.sh
parent7159734ec6c0b76fc7f3737134cd22fdaaaa7d58 (diff)
parent1032e07a50c8bb265ff9bd31b3bb00e83ddb451e (diff)
Merge branch 'release/v0.2.0'
Conflicts: README.txt
Diffstat (limited to 'pkg/postmkvenv.sh')
-rwxr-xr-xpkg/postmkvenv.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/pkg/postmkvenv.sh b/pkg/postmkvenv.sh
new file mode 100755
index 00000000..593b11da
--- /dev/null
+++ b/pkg/postmkvenv.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+# This hook is run after a new virtualenv is activated.
+# ~/.virtualenvs/postmkvirtualenv
+# tested and working in debian
+
+# Symlinks PyQt4 from global installation into virtualenv site-packages
+# XXX TODO:
+# script fails in ubuntu, with path: /usr/lib/pymodules/python2.7/PyQt4
+# use import PyQt4; PyQt4.__path__ instead
+
+platform='unknown'
+unamestr=`uname`
+if [[ "$unamestr" == 'Linux' ]]; then
+ platform='linux'
+elif [[ "$unamestr" == 'Darwin' ]]; then
+ platform='darwin'
+fi
+
+LIBS=( PyQt4 sip.so )
+
+PYTHON_VERSION=python$(python -c "import sys; print (str(sys.version_info[0])+'.'+str(sys.version_info[1]))")
+VAR=( $(which -a $PYTHON_VERSION) )
+
+GET_PYTHON_LIB_CMD="from distutils.sysconfig import get_python_lib; print (get_python_lib())"
+LIB_VIRTUALENV_PATH=$(python -c "$GET_PYTHON_LIB_CMD")
+
+if [[ $platform == 'linux' ]]; then
+ LIB_SYSTEM_PATH=$(${VAR[-1]} -c "$GET_PYTHON_LIB_CMD")
+elif [[ $platform == 'darwin' ]]; then
+ LIB_SYSTEM_PATH=$(/opt/local/bin/python2.6 -c "$GET_PYTHON_LIB_CMD")
+else
+ echo "unsupported platform; not doing symlinks"
+fi
+
+for LIB in ${LIBS[@]}
+do
+ ln -s $LIB_SYSTEM_PATH/$LIB $LIB_VIRTUALENV_PATH/$LIB
+done