nixpkgs/pkgs/development/interpreters
Peter Simons 29588edfe1 python-wrapper: split 'extraLibs' into 'stdLibs' and 'extraLibs', and add 'postBuild' step
The default setting for extraLibs used to be the set of modules that come with
python by default but aren't usually enabled in our standard python derivation
because they require additional libraries. This meant that users who want to
*add* libraries to that set had to use a fairly complicated override, to add
more entries without loosing the ones set by default.

After this patch, the "standard libraries" such as "curses' are listed in
stdLibs while the extraLibs argument remains empty by default. This allows
users to override extraLibs without overriding the standard libraries.

Furthermore, the wrapper environment can be messed around with in an
additional 'postBuild' step. One nice application of this build step is
to patch scripts and binaries to use the wrapped python interpreter
instead of the pristine one, thereby enabling them to pick up all
modules that have been configured. The following example shows how this
is done for the 'pylint' utility:

  pkgs.python27Full.override {
    extraLibs = [pkgs.pylint];
    postBuild = ''
      cd ${pkgs.pylint}/bin
      for i in *; do
        rm $out/bin/$i
        sed -r -e "s|^exec |exec $out/bin/python -- |" <$i >$out/bin/$i
        chmod +x $out/bin/$i
      done;
    '';
  };
2013-11-07 15:13:02 +01:00
..
acl2
angelscript Some description fixes 2013-10-05 19:36:23 +02:00
clisp Add full linking-set to clisp 2.49 2013-10-13 10:34:22 +04:00
clojure
cython
dart
elixir Fix some issues in my packages reported by nixpkgs-lint. 2013-09-26 20:03:57 +00:00
erlang Wrap Erlang scripts to provide missing 'sed' and 'awk'. 2013-08-26 02:43:12 +02:00
falcon More description fixes 2013-10-06 12:01:38 +02:00
groovy
guile guile: remove gcc_s dep, skip check on darwin 2013-06-20 09:11:04 +10:00
hiphopvm More description fixes 2013-10-06 12:01:38 +02:00
io
j
jruby
kaffe
kona
love
lua-4 More description fixes 2013-10-06 12:01:38 +02:00
lua-5 More description fixes 2013-10-06 12:01:38 +02:00
lush Adding Lush: Lisp Universal SHell 2013-07-30 15:20:46 +04:00
maude
octave nlopt: build octave plugins 2013-06-17 12:47:45 +02:00
perl perl: avoid --no-cpp-precomp on darwin, (close #1160) 2013-11-07 10:39:28 +01:00
php php54: add pcntl option 2013-10-27 23:57:44 +00:00
php-xdebug php53: fix build on darwin (close #748) 2013-07-28 09:41:58 +02:00
picolisp
pure pure: fix build with llvm 3.3 2013-10-09 21:23:37 +02:00
pypy/2.1 pypy: patch ncurses name correctly 2013-08-23 17:05:50 +02:00
pyrex
python python-wrapper: split 'extraLibs' into 'stdLibs' and 'extraLibs', and add 'postBuild' step 2013-11-07 15:13:02 +01:00
racket More description fixes 2013-10-06 12:01:38 +02:00
regina
renpy fix bad "licence" names 2013-07-04 18:16:34 +02:00
ruby sup: update to latest version 2013-10-27 21:57:09 +01:00
scsh
spidermonkey
tcl