Commit Graph

75 Commits

Author SHA1 Message Date
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
Florian Friesdorf
6278dabe5d python: do not delete site.py for now as it breaks existing use cases
see #209, thx shlevy for reporting this
2012-12-07 11:44:46 +01:00
Florian Friesdorf
78be948175 change order of phases for python modules: checkPhase after installPhase
at least pycrypto it helps
2012-12-05 11:31:28 +01:00
Florian Friesdorf
17597e8350 propagate setuptoolsSite to load pth files 2012-12-03 05:20:50 +01:00
Florian Friesdorf
d4d76a8443 make diff to master look nicer 2012-12-03 04:41:19 +01:00
Florian Friesdorf
a4ded47776 include offlineDistutils in preConfigure instead of configurePhase 2012-11-29 15:29:41 +01:00
Florian Friesdorf
92a833604c Merge branch 'py/offline-distutils' into python-merge
Conflicts:
	pkgs/development/python-modules/generic/builder.sh
	pkgs/development/python-modules/generic/default.nix
2012-11-24 22:49:19 +01:00
Florian Friesdorf
74d963c69a offlineDistutils in PYTHONPATH in configurePhase instead of builder.sh
Conflicts:
	pkgs/development/python-modules/generic/default.nix
2012-11-24 22:34:09 +01:00
Florian Friesdorf
1171166518 Merge branch 'py/offline-distutils' into python-merge 2012-11-23 17:39:23 +01:00
Florian Friesdorf
337d16368a fix builder in python-module 2012-11-23 17:38:31 +01:00
Florian Friesdorf
ddbd5c2eba Merge branch 'py/offline-distutils' into python-merge
Conflicts:
	pkgs/development/python-modules/generic/default.nix
2012-11-23 17:28:51 +01:00
Florian Friesdorf
ad8a4c73fa use offline-disutils in buildPythonPackage 2012-11-23 17:27:55 +01:00
Florian Friesdorf
dce76a387d Merge branch 'py/pth-create' into python-merge
Conflicts:
	pkgs/development/python-modules/generic/default.nix
2012-11-23 15:57:09 +01:00
Florian Friesdorf
fa1c8fef2f move pth rename and site.py removal to buildPhase
This leaves the installCommand to be only easy_install and makes it
easy again to overwrite this.
2012-11-23 15:54:55 +01:00
Florian Friesdorf
24fd592d64 Merge branch 'py/always-unzip' into python-merge
Conflicts:
	pkgs/development/python-modules/generic/default.nix
2012-11-22 13:39:05 +01:00
Florian Friesdorf
a40da09b44 python: create pth files for python build inputs (propagate/native or not) 2012-07-21 01:55:50 +02:00
Florian Friesdorf
5c564f26f0 python: always unzip eggs installed into the store
grepping and tagging are two use cases coming to mind
2012-07-21 00:20:21 +02:00
Florian Friesdorf
2c3ffeb79c python: remove colliding site.py* files 2012-07-21 00:14:03 +02:00
Florian Friesdorf
e7c1aa52cc python: rename eventually created easy_install.pth to pkg-specific file 2012-07-21 00:11:02 +02:00
Florian Friesdorf
833023d85a Revert "pth file with deps, only current package's scripts, no colliding files"
This reverts commit 3a37caa6a278fb244eac4a6bb1452d1914159be8.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32662
2012-02-28 00:07:56 +00:00
Florian Friesdorf
3b39dff906 Revert "include site for python wrappers to enable deps via pth files"
This reverts commit dca280ab0b668553c50506ab7b31284e8477a803.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32660
2012-02-28 00:07:48 +00:00
Florian Friesdorf
43e16d04b9 Revert "prevent distutils during module install from downloading and load pth files"
This reverts commit 2a151d9df99f68c555a9f1fd2c80b8889561e9e3.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32659
2012-02-28 00:07:42 +00:00
Florian Friesdorf
4b4f6ece3e Revert "removal of deps' scripts only if easy-install.pth exists"
This reverts commit a74507f63e2af67cf64dc3e67bfbf2771120f67e.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32655
2012-02-28 00:07:30 +00:00
Florian Friesdorf
92da3fd865 Revert "PYTHONPATH in preConfigure instead of configurePhase"
This reverts commit a9873e9412d5ffb333baaf33502c8dff62548fa6.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32651
2012-02-28 00:07:16 +00:00
Florian Friesdorf
e545a9944a Revert "added unzip to buildPythonPackage's buildInputs - used quite often"
This reverts commit f067ecb4911f154fe2c64434abdc5a8b79625f5a.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32644
2012-02-28 00:06:52 +00:00