Commit Graph

453 Commits

Author SHA1 Message Date
John Ericson
4d2b763817
Merge pull request #26805 from obsidiansystems/cross-elegant
Make cross compilation elegant
2017-12-30 22:58:02 -05:00
John Ericson
046f091e0d treewide: Don't use envHook anymore
This commits needs a MAJOR audit as I oftentimes just guessed which of
`$hostOffset`, `$targetOffset`, or a fixed offset should be used.
2017-12-30 22:04:22 -05:00
Frederik Rietdijk
5920579a3d Python: disable user site-packages in setup hook
Wrappers already included `PYTHONNOUSERSITE=1`, but now this env var is
also set in the Python setup hook. This improves purity in case of
non-sandboxes builds and nix-shell.
2017-12-30 17:09:09 +01:00
John Ericson
31e5662785
Merge pull request #32953 from obsidiansystems/python-dep-fix
buildPythonPackage: Make setup hook part of nativeBuildInputs
2017-12-21 13:13:28 -08:00
John Ericson
dc906952be buildPythonPackage: Make setup hook part of nativeBuildInputs
This is better organization in general, but also needed to make python
work with #26805.
2017-12-21 15:54:52 -05:00
Frederik Rietdijk
c9044dee32 python36: 3.6.3 -> 3.6.4 2017-12-20 10:27:10 +01:00
Frederik Rietdijk
35ccdb8632
Merge pull request #32544 from FRidh/pythonmodule
Python: rewrite requiredPythonModules to prevent stack overflows
2017-12-11 09:46:15 +01:00
Frederik Rietdijk
44f46a3293
Merge pull request #32542 from FRidh/bytecode
buildPythonPackage: remove bytecode from bin folder
2017-12-11 09:45:50 +01:00
Frederik Rietdijk
a334930490 Python: rewrite requiredPythonModules. Add requiredPythonModules attribute to derivation 2017-12-10 20:40:34 +01:00
Frederik Rietdijk
d945b3e53b buildPythonPackage: remove bytecode from bin folder
When a Python script has the extension `.py`, bytecode is generated.
Typically, executables in bin have no extension, so no bytecode is
generated. However, some packages do provide executables with
extensions, and thus bytecode is generated.
2017-12-10 16:01:09 +01:00
Frederik Rietdijk
163ba09117 python.buildEnv: always include the $out output
28299f669a introduced the first Python
packages having multiple outputs. The required outputs were not picked
up by `python.buildEnv` (#31857).

This commit modifies `python.buildEnv` so that it always includes the
$out output and thus fixes #31857.
2017-12-10 15:21:35 +01:00
Shea Levy
3dfbf51a25
Add gurobipy for python2.7 on darwin. 2017-12-09 15:00:43 -05:00
Shea Levy
d077d22893
python27: Enable building with alternate UCS encoding 2017-12-09 12:00:52 -05:00
Frederik Rietdijk
35f5912db5 Merge remote-tracking branch 'upstream/python-unstable' into HEAD 2017-11-23 16:38:39 +01:00
Frederik Rietdijk
6ad79678d4 Merge remote-tracking branch 'upstream/master' into HEAD 2017-11-23 16:38:31 +01:00
Frederik Rietdijk
80329e7123 python.pkgs.buildPythonPackage: some comments 2017-11-23 15:11:03 +01:00
Frederik Rietdijk
209ee2f20f python.pkgs.buildPythonPackage: do not pass attributes that stdenv.mkDerivation does not use 2017-11-23 15:11:03 +01:00
Frederik Rietdijk
42eece04e4 python.pkgs.buildPythonPackage: meta.maintainers: don't add chaoflow 2017-11-23 15:11:03 +01:00
Frederik Rietdijk
40851a4d26 Python: the pythonModule attribute
Python libraries or modules now have an attribute `pythonModule = interpreter;` to indicate
they provide Python modules for the specified `interpreter`.

The package set provides the following helper functions:

- hasPythonModule: Check whether a derivation provides a Python module.
- requiredPythonModules: Recurse into a list of Python modules, returning all Python modules that are required.
- makePythonPath: Create a PYTHONPATH from a list of Python modules.

Also included in this commit is:
- disabledIf: Helper function for disabling non-buildPythonPackage functions.
2017-11-23 15:11:02 +01:00
Joerg Thalheim
17a0c80355 pypy: cleanup indentation mess 2017-11-21 20:52:54 +00:00
Joerg Thalheim
b99226706d pypy: 5.8 -> 5.9 2017-11-21 20:50:54 +00:00
John Ericson
da19c34d0f stdenv setup: Always use both propagated files
This continues #23374, which always kept around both attributes, by
always including both propagated files: `propgated-native-build-inputs`
and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still
defined as before, however, so this change should only barely
observable.

This is an incremental step to fully keeping the dependencies separate
in all cases.
2017-11-21 10:44:44 -05:00
Dan Peebles
0f75e6bef7 cpython: make configd optional (for sandboxed darwin bootstraps) 2017-11-08 22:20:00 -05:00
Orivej Desh
78ed9da5e4 mkPythonDerivation: let name default to ${pname}-${version} 2017-11-03 04:15:36 +00:00
Jon Banafato
f906d6d18e python36: 3.6.2 -> 3.6.3 2017-10-22 18:24:56 +02:00
John Ericson
f037625f87 Merge remote-tracking branch 'upstream/staging' into deps-reorg 2017-09-28 12:32:57 -04:00
Nikolay Amiantov
74c3cdd893 python.buildEnv: add extraOutputsToInstall attribute 2017-09-25 22:40:09 +03:00
John Ericson
531e4b80c9 misc pkgs: Basic sed to get fix pkgconfig and autoreconfHook buildInputs
Only acts on one-line dependency lists.
2017-09-21 15:49:53 -04:00
Frederik Rietdijk
96d15eaddb python27: support test/support
In the maintenance release bump in
90059701a8 a certain change to /test/ was
backported from Python 3:

- bpo-30207: To simplify backports from Python 3, the test.test_support
  module was converted into a package and renamed to test.support.  The
  test.script_helper module was moved into the test.support package.
  Names test.test_support and test.script_helper are left as aliases to
  test.support and test.support.script_helper.
2017-09-17 11:09:26 +02:00
Frederik Rietdijk
90059701a8 python27: 2.7.13 -> 2.7.14
The enosys patch is not needed anymore since the patch is included in
this maintenance release.
2017-09-17 09:57:55 +02:00
Tuomas Tynkkynen
a0a8f0ac87 python2: Use system libffi on Aarch64
libffi needs a patch to actually work on aarch64 (or the cffi Python package
fails its testsuite). Of course the bundled version of libffi has the
same bug, so don't use the buggy version on aarch64.

Python3 already uses the system libffi on all platforms. I don't know
why Python2 doesn't.
2017-09-16 01:16:08 +03:00
Frederik Rietdijk
77baf6e818 python35: check LD_LIBRARY_PATH
Backports support for LD_LIBRARY_PATH from 3.6
2017-09-14 10:17:58 +02:00
Frederik Rietdijk
03898f2f23 python34: check LD_LIBRARY_PATH
Backports support for LD_LIBRARY_PATH from 3.6
2017-09-14 10:17:36 +02:00
Frederik Rietdijk
c3a0c3c9f1 Revert "python.pkgs.buildPythonPackage: use distutils-cfg to block downloads, fixes #25428"
This reverts commit b73e3bfafd.

See https://github.com/NixOS/nixpkgs/issues/29103
2017-09-08 08:55:05 +02:00
Frederik Rietdijk
b73e3bfafd python.pkgs.buildPythonPackage: use distutils-cfg to block downloads, fixes #25428
While we tell pip not to fetch (with the `--no-index` option),
`setuptools` can do so itself. In the past we used a `distutils.cfg`
with `allow-hosts = None` to prevent setuptools from fetching itself.
This was removed when we started building wheels in
2562f94de4e4fd2ddc677187fa2e2848L69.

The `dist-utils.cfg` code was still there, and adding it to
`buildInputs` is sufficient.

Tested with python.pkgs.passlib by removing the `checkInputs` / `nose`.
2017-09-07 19:22:06 +02:00
Frederik Rietdijk
6d4bd78fad Merge commit '2858c41' into HEAD 2017-08-30 21:07:07 +02:00
Frederik Rietdijk
b2686dce25 Merge pull request #27636 from bendlas/update-pypy
pypy: 5.6 -> 5.8
2017-08-30 13:57:24 +02:00
Maximilian Güntner
94351197cd cpython: include test.support and test.regrtest
test.{support, regrtest} are the internal packages cpython
developers use to write tests.
Although they are not public and the API may change/break
some developers use these packages to write tests for their
(3rd party) software.
The derivations for cpython now only remove the actual tests
but leave the packages in place that are used to write them.

Discussion: https://github.com/NixOS/nixpkgs/pull/28540
2017-08-28 09:49:08 +02:00
Frederik Rietdijk
a7ddca6e3d python 3.4, 3.5, 3.6: Don't use ldconfig and speed up uuid load, fixes #28349
These patches had already been merged for 3.5 and 3.6 but not yet for
3.4. However, they did contain a mistake as explained in #28349.
2017-08-28 09:42:59 +02:00
Frederik Rietdijk
748589bf60 python36: remove symlink to pip
Symbolic links were added pointing to the executables that end with 3 as
part of the Python 2 to 3 migration. At some point I disabled ensurepip
but forgot to remove this symbolic link.
2017-08-13 12:22:54 +02:00
Frederik Rietdijk
53d2838f27 python35: remove symlink to pip
Symbolic links were added pointing to the executables that end with 3 as
part of the Python 2 to 3 migration. At some point I disabled ensurepip
but forgot to remove this symbolic link.
2017-08-13 12:22:54 +02:00
Frederik Rietdijk
3b56edae94 python34: remove symlink to pip
Symbolic links were added pointing to the executables that end with 3 as
part of the Python 2 to 3 migration. At some point I disabled ensurepip
but forgot to remove this symbolic link.
2017-08-13 12:22:54 +02:00
Frederik Rietdijk
71615c19af python35: add no-ldconfig.patch again
after it was accidentally removed in
d6c5109276
2017-08-12 13:22:23 +02:00
Robin Gloster
4495bfe138
python.buildEnv: only wrap executables 2017-08-09 15:07:03 +02:00
Frederik Rietdijk
616fb95356 python34: 3.4.6 -> 3.4.7 2017-08-09 09:41:59 +02:00
Frederik Rietdijk
d6c5109276 python35: 3.5.3 -> 3.5.4 2017-08-08 18:06:29 +02:00
Frederik Rietdijk
468fdddde6 Merge pull request #27753 from FRidh/python33eol
python33: end-of-life
2017-08-08 09:11:11 +02:00
Herwig Hochleitner
189bba047e pypy: use pycparser from passed python 2017-08-03 22:20:49 +02:00
Frederik Rietdijk
6e6271e82f python.buildEnv: undo removal of passthru.python 2017-08-02 15:05:00 +02:00
Frederik Rietdijk
4f66c0cf21 Merge remote-tracking branch 'upstream/master' into HEAD 2017-08-02 10:22:24 +02:00