3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

99 commits

Author SHA1 Message Date
Allen Nelson 6bb2e47abf using makeWrapperArgs instead of setEnvVars 2015-05-24 10:21:33 -05:00
Allen Nelson bf1a16bbea removing superfluous lets 2015-05-24 10:21:33 -05:00
Allen Nelson 06ff4af597 Adding documentation to wrap.sh, added ability to retain any desired environment variables. 2015-05-24 10:21:33 -05:00
Domen Kožar c6512f7df3 buildPythonPackage: propagate setuptools 2015-04-12 21:15:36 -04:00
Domen Kožar b653e3f661 Revert "python-generic: set meta.broken for disabled packages instead of raising an error during evaluation"
This reverts commit 79a5fec9c0.

meta.broken uses 'throw' under the hood so it can not improve the
current situation. Reverting to previous behaviour gives us correct
error message to the user indicating that interpreter is not supported.

Correcting Hydra output is out of scope of Python packaging.
2015-02-25 09:23:31 +01:00
Peter Simons 27b57469e8 python-generic: cosmetic 2015-02-13 10:37:46 +01:00
Peter Simons 79a5fec9c0 python-generic: set meta.broken for disabled packages instead of raising an error during evaluation
We have tons of evaluation errors on Hydra because it tries to build
known broken packages. Re-using meta.broken makes sure these packages
aren't evaluated in the first place.
2015-02-12 20:07:56 +01:00
Domen Kožar 9a33fbb52d python: don't propagate installed packages into userenv, refs #4949
Propagation is not needed anymore, as we have more powerful apis today
than this dirty hack. See nix-shell tool and python.buildEnv function
in nixpkgs manual.
2015-01-17 14:19:29 +01:00
Domen Kožar ab423e6367 buildPythonPackage: add python to propagatedBuildInputs
Doing:

$ nix-shell -p pythonPackage.pyramid

now also sets $PYTHONPATH. Previously you'd have to do:

$ nix-shell -p pythonPackage.pyramid python
2014-11-13 21:04:13 +01:00
Rok Garbas 602f7e5aa4 python: collision in names when developing 2 and more python packages with nix
when you run nix-shell 2 times at the same time of project (but different
branches) you get collision in names inside /tmp folder. i solved this by
hashing current path of developing folder and using that as indentifier while
still keeping name at the end.

diff --git a/pkgs/development/python-modules/generic/default.nix
b/pkgs/development/python-modules/generic/default.nix index 4c9c53a..6ec7934
100644 --- a/pkgs/development/python-modules/generic/default.nix +++
b/pkgs/development/python-modules/generic/default.nix @@ -161,11 +161,12 @@ if
disabled then throw "${name} not supported for interpreter ${python.executabl

   shellHook = attrs.shellHook or ''
     if test -e setup.py; then
-       mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages
+       tmp_path=/tmp/`pwd | md5sum | cut -f 1 -d " "`-$name
+       mkdir -p $tmp_path/lib/${python.libPrefix}/site-packages
        ${preShellHook}
-       export PATH="/tmp/$name/bin:$PATH"
-       export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-       ${python}/bin/${python.executable} setup.py develop --prefix /tmp/$name
+       export PATH="$tmp_path/bin:$PATH"
+       export PYTHONPATH="$tmp_path/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+       ${python}/bin/${python.executable} setup.py develop --prefix $tmp_path
        ${postShellHook}
     fi
   '';
2014-09-19 14:23:45 +02:00
Domen Kožar 62345fee55 python: provide better message if python interpreter is not supported 2014-08-27 15:53:15 +02:00
Domen Kožar 47673e43c9 buildPythonPackage: introduce "disabled" argument
Useful to disable the package for specific python versions.

Typically usage: disable = isPy3k;
2014-08-24 16:02:57 +02:00
Domen Kožar 0d71d2b631 fixes #2926 2014-06-15 16:05:18 +02:00
Jussi Maki 75cb485718 ansible: conventions, fix module execution 2014-05-21 14:46:37 +02:00
Domen Kožar 296dd89030 buildPythonPackage: don't return on shellHook
Entering environment might not always be the desired effect.
2014-04-07 00:43:50 +02:00
Eelco Dolstra 1fe2a68224 quodlibet: Fix evaluation
http://hydra.nixos.org/build/9400950
2014-03-10 14:51:05 +01:00
Jaka Hudoklin 0558c87288 buildPythonPackage: add shell hook for instant development 2014-03-10 11:28:47 +01:00
Jaka Hudoklin f0f2125620 pythonPackages: auto add unzip to buildInputs if pkg has zip suffix 2014-03-08 23:29:15 +01:00
Domen Kožar f1db57f1fe buildPythonPackage: fix more borken packages 2014-02-21 18:29:57 +01:00
Domen Kožar 567e67f05f bash doesn't allow comments between multiline statements 2014-02-20 01:19:16 +01:00
Domen Kožar fa98edf2b1 fix eval 2014-02-20 01:19:16 +01:00
Domen Kožar b1ffb9ede4 buildPythonPackage: Add --old-and-unmanageable flag to install command and add more docs.
For explanation see inline comments.
2014-02-20 01:19:16 +01:00
Domen Kožar c80feaf542 document setuptools monkeypatching and DETERMINISTIC_BUILD=1 2014-02-20 01:19:16 +01:00
Domen Kožar 21ada5b105 garden 2014-02-20 01:19:16 +01:00
Domen Kožar bf5d6fb9b1 Refactor buildPythonPackage to modularize building process.
Before we used `easy_install` command to handle installation
in one shot, now this is split into two phases:

 - buildPhase: python setup.py build
 - installPhase: python setup.py install

Each of those commands have the ability to pass extra
parameters through buildPythonPackage parameters as
`setupPyInstallFlags` and `setupPyBuildFlags`.

Phases now correctly execute post/pre hooks.

In configurePhase we inject setuptools dependency before distutils
is imported to apply monkeypatching by setuptools that is needed
for special features to apply.

We don't have to reorder default phases anymore, as test
phase comes after build and that works.

I rewrote offineDistutils into distutils-cfg with a bit cleaner
syntax and ability to specify extraCfg to the config file.

Plone packages are failing and garbas said he will adopt them to
the new functions. The rest of the packages I fixed and these commits
shouldn't break any package (according to my testings) and they introduce
16 new jobs and fix 38 that were broken before.
2014-02-20 01:19:15 +01:00
Domen Kozar 918e5efb99 recurse into python33 and pypy packages 2013-07-29 14:52:19 +02:00
Domen Kozar 4993f07fee python: include python version when prefixing python packages 2013-07-29 12:09:06 +02:00
Domen Kozar 5ec6cf3756 add python3 support to pythonPackages 2013-07-29 12:09:06 +02:00
Evgeny Egorochkin 09e6ae577b Python: add DETERMINISTIC_BUILD env var. If set, python doesn't write timestamps to pyc files. Tested by
building argparse, compiling from cli, compiling using py_compile.
2013-06-22 09:45:01 +03:00
Eelco Dolstra 0a47a28f1d Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-01-22 23:23:53 +01:00
Florian Friesdorf a865154f62 Add myself as (additional) maintainer to all python packages. 2013-01-21 04:44:25 +01:00
Rickard Nilsson 1886d1db6a Merge remote-tracking branch 'upstream/master' into stdenv-updates 2013-01-20 16:53:21 +01:00
Florian Friesdorf 8f0ea2b4c0 pythonPackages: default to python's maintainers and platforms 2013-01-19 18:32:03 +01:00
Eelco Dolstra 5bb548d2e4 Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-01-17 14:19:14 +01:00
Florian Friesdorf bfa0495344 remove old inactive pth file creation for buildInputs 2013-01-15 17:52:53 +01:00
Peter Simons b33ad366a1 Merge branch 'master' into stdenv-updates. 2013-01-11 15:46:10 +01:00
Florian Friesdorf a59164e931 modules propgate recursivePthLoader
An alternative would be to include it with the plain `python`.
2013-01-11 10:54:25 +01:00
Florian Friesdorf 212b4df91c recursivePthLoader included via wrapper, not propagated by modules 2013-01-11 09:53:28 +01:00
Florian Friesdorf 42d49b47ba comment unneeded buildInputStrings 2013-01-10 12:50:17 +01:00
Florian Friesdorf 0f52f5a945 Revert "don't propagate recursivePthLoader, it is needed to process it already"
This reverts commit edd160452e.

If we propagate it, derivations that use a python package will also
get the recursivePthLoader needed to process the pth files of the
package.
2013-01-09 22:29:46 +01:00
Florian Friesdorf 1cd2bd460b whitespace 2013-01-09 22:29:41 +01:00
Florian Friesdorf 06ca1e4768 Merge branch 'channel-nixos' into python 2013-01-09 22:18:38 +01:00
Rob Vermaas cfdf35d6f9 Add preInstall ot buildPythonPackage (postInstall already existed) to allow selenium to work properly again. 2013-01-09 15:46:14 +01:00
Florian Friesdorf 6654cb8a10 comment 2013-01-09 05:21:01 +01:00
Eelco Dolstra ab3eeabfed Rename buildNativeInputs -> nativeBuildInputs
Likewise for propagatedBuildNativeInputs, etc.  "buildNativeInputs"
sounds like an imperative rather than a noun phrase.
2012-12-28 19:20:09 +01:00
Florian Friesdorf edd160452e don't propagate recursivePthLoader, it is needed to process it already 2012-12-22 02:41:10 +01:00
Florian Friesdorf aab93e8479 do not create e.g pth file for build inputs
if they are really needed they will be in pth file created by
easy_install. If that does not work, they need to be put into
propagatedBuildInputs or the setup.py fixed.

see #210
2012-12-22 02:35:04 +01:00
Florian Friesdorf aeef72fa85 python-modules: remove long non-functional propagated-user-env-packages
we use recursive processing of pth files instead
2012-12-22 02:18:29 +01:00
Florian Friesdorf 27a73428cc remove site.py files
setuptools site.py can't resolve recursively which is needed for nix,
as each package has its own directory. A different solution than
putting the loader into every package output needs to be found.

see also #209
2012-12-22 02:15:08 +01:00
Florian Friesdorf 886742d91a use recursivePthLoader instead of setuptoolsSite 2012-12-22 01:13:23 +01:00