Author: chaoflow
Date: Sun Feb 26 17:23:38 2012
New Revision: 32592
URL: https://nixos.org/websvn/nix/?rev=32592&sc=1
Log:
include site in pythonpath of wrapped scripts, if python-site is installed
Added:
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/site/pysite
Modified:
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/generic/wrap.sh
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/site/default.nix
Modified:
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/generic/wrap.sh
==============================================================================
---
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/generic/wrap.sh
Sun Feb 26 17:23:35 2012 (r32591)
+++
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/generic/wrap.sh
Sun Feb 26 17:23:38 2012 (r32592)
@@ -15,6 +15,14 @@
_addToPythonPath $i
done
+ program_PYTHONPATH='$(
+ # activate site if installed
+ bindir=$(dirname "$0")
+ pysite="$bindir/pysite"
+ relpath=$(test -x "$pysite" && "$pysite" path)
+ echo -n ${relpath:+"$relpath":}
+)'"$program_PYTHONPATH"
+
for i in $(find "$dir" -type f -perm +0100); do
# Rewrite "#! .../env python" to "#! /nix/store/.../python".
@@ -25,7 +33,7 @@
if head -n1 "$i" | grep -q /python; then
echo "wrapping \`$i'..."
wrapProgram "$i" \
- --prefix PYTHONPATH ":" $program_PYTHONPATH \
+ --prefix PYTHONPATH ":" "$program_PYTHONPATH" \
--prefix PATH ":" $program_PATH
fi
done
Modified:
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/site/default.nix
==============================================================================
---
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/site/default.nix
Sun Feb 26 17:23:35 2012 (r32591)
+++
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/site/default.nix
Sun Feb 26 17:23:38 2012 (r32592)
@@ -12,6 +12,16 @@
dst=$out/lib/${python.libPrefix}/site-packages
mkdir -p $dst
cat ${./site.py} >> $dst/site.py
+
+ # by providing content for bin/ we make sure, that python or
+ # some other script is linked instead of the bin/ directory
+ # itself. This is needed for the wrappers to make all site
+ # packages available if site is installed.
+ mkdir $out/bin
+ cat ${./pysite} >> $out/bin/pysite
+ substituteInPlace $out/bin/pysite \
+ --replace PYTHON_LIB_PREFIX ${python.libPrefix}
+ chmod +x $out/bin/pysite
'';
meta = {
Added:
nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/site/pysite
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ nixpkgs/branches/stdenv-updates/pkgs/development/python-modules/site/pysite
Sun Feb 26 17:23:38 2012 (r32592)
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+python=PYTHON_LIB_PREFIX
+
+case "$1" in
+ path)
+ echo $(dirname $0)/../lib/$python/site-packages
+ ;;
+ *)
+ echo Usage:
+ echo " $(basename $0) path"
+ exit 1
+esac
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits