Commit graph

34 commits

Author SHA1 Message Date
Frederik Rietdijk
c9044dee32 python36: 3.6.3 -> 3.6.4 2017-12-20 10:27:10 +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
Jon Banafato
f906d6d18e python36: 3.6.2 -> 3.6.3 2017-10-22 18:24:56 +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
0a7e705f62 python36: Don't use ldconfig and speed up uuid load
A Python 3.6 version of de1b4e71c1.
2017-07-29 20:40:35 +02:00
Frederik Rietdijk
8e98811f76 python36: 3.6.1 -> 3.6.2 2017-07-17 10:06:14 +02:00
Frederik Rietdijk
acd32a4caf Python: set DETERMINISTIC_BUILD and PYTHONHASHSEED in setupHook
The Python interpreters are patched so they can build .pyc bytecode free
of certain indeterminism.

When building Python packages we currently set

```
compiling python files.
in nix store.
DETERMINISTIC_BUILD=1;
PYTHONHASHSEED = 0;
```

Instead if setting these environment variables in the function that
builds the package, this commit sets the variables instead in the Python
setup hook. That way, whenever Python is included in a derivation, these
variables are set.

See also the issue https://github.com/NixOS/nixpkgs/issues/25707.
2017-05-19 16:28:11 +02:00
Frederik Rietdijk
4fc9b1852a Merge remote-tracking branch 'upstream/master' into HEAD 2017-04-23 11:26:47 +02:00
Frederik Rietdijk
c275158f06 python36: 3.6.0 -> 3.6.1 2017-04-18 13:14:40 +02:00
Frederik Rietdijk
5c8ffe0311 Python 3.x: do not regenerate _sysconfigdata
This commit fixes several issues:

- as reported in https://github.com/NixOS/nixpkgs/issues/24924 it was
possible that the file _sysconfigdata.pyc was generated after the actual
build of the CPython interpreter. We forgot to regenerate that file
during the build. This is now fixed

- the expression of the 3.3 interpreter now also includes some of the
determinism patches even though the output isn't yet reproducible. The
reason for adding them is that this makes the expressions of the
different interpreters more similar.

- references to -dev packages are now also removed in the 3.6 package,
thereby reducing its closure size
2017-04-16 10:41:35 +02:00
Frederik Rietdijk
a1f6b8b5fc Python 3.6 fixup expat and libffi, fixes #23406 2017-03-03 07:46:52 +01:00
Frederik Rietdijk
d33f6f4032 Python 3.6: use system expat and ffi 2017-02-26 14:51:26 +01:00
Frederik Rietdijk
1531b5edd2 Python 3.6: improve determinism 2017-02-26 14:51:26 +01:00
Vladimír Čunát
2f1945dcd3
python-3.6: fix random numbers with glibc-2.25
I missed this upstream patch. /cc #22874.
2017-02-22 17:34:33 +01:00
Symphorien Gibol
a6e3d71361 python: support the tkinter.tix module 2017-01-04 19:39:33 +01:00
Frederik Rietdijk
b09000e785 python36: 3.6.0rc1 -> 3.6.0 2016-12-24 16:00:52 +01:00
Frederik Rietdijk
7c8b1e7b24 python36: 3.6.0b2 -> 3.6.0rc1 2016-12-12 09:31:25 +01:00
Frederik Rietdijk
31e32b6d9e Python interpreters: add pkgs attribute
A package set is constructed for a specific interpreter. Therefore, we add the
possibility to override the package set to the interpreter. This should make it
easier to override the interpreter and the package set at the same time.
2016-12-05 09:43:44 +01:00
Frederik Rietdijk
635b4fbce8 Python3: also create symlink pkgconfig/python.pc 2016-10-18 23:16:03 +02:00
Aneesh Agrawal
708822250e Python 3.x: Add python symlink
Add a symlink for "python" in the python3 derivation to provide a
default Python executable.
2016-10-18 23:14:31 +02:00
Frederik Rietdijk
107c035bf0 Python: remove pythonSmall
In #19309 a separate output for tkinter was added.

Several dependencies of Python depend indirectly on Python. We have the
following two paths:
```
‘python-2.7.12’ - ‘tk-8.6.6’ - ‘libXft-2.3.2’ - ‘libXrender-0.9.10’ -
‘libX11-1.6.4’ - ‘libxcb-1.12’ - ‘libxslt-1.1.29’- ‘libxml2-2.9.4’ -
‘python-2.7.12’

‘python-2.7.12’ - ‘tk-8.6.6’ - ‘libXft-2.3.2’ - ‘fontconfig-2.12.1’ -
‘dejavu-fonts-2.37’ - ‘fontforge-20160404’ - ‘python-2.7.12’
```
Because only `tkinter` needs this, I added
```
pythonSmall = python.override {x11Support = false;};
```
to break the infinite recursion. We also still have the output
`tkinter`.

However, we might as well build without x11Support by default. Then we build with x11Support as well so we get the tkinter module and put that in a separate package.
2016-10-16 14:31:26 +02:00
Frederik Rietdijk
80433e7030 Python: further unify expressions interpreters 2016-10-14 15:52:14 +02:00
Frederik Rietdijk
cffdffe1f6 Merge pull request #19309 from FRidh/outputs
Python: use separate output for tkinter
2016-10-13 10:40:14 +02:00
Louis Taylor
39e8623906
Python 3.6: 3.6b1 -> 3.6b2 2016-10-11 22:29:22 +01:00
Frederik Rietdijk
a2720a25b9 Python 3.6: separate output for tkinter 2016-10-10 10:33:24 +02:00
Frederik Rietdijk
8c30f3d962 python3.6: 3.6.0a3 -> 3.6.0b1
/Lib/plat* has been removed in this release.
http://bugs.python.org/issue28027
2016-09-20 15:48:32 +02:00
Frederik Rietdijk
63ec0068a7 Python on Nix is not manylinux1 compatible
Fixes https://github.com/NixOS/nixpkgs/issues/18484
2016-09-20 15:48:32 +02:00
Frederik Rietdijk
2b66563cde Python: make versions/prefixes more similar 2016-09-20 15:48:32 +02:00
Josef Kemetmueller
b7819e38c4 python3.x: Patch extra stack size on darwin
Compiling python with "-Wl,-stack_size,1000000" causes problems when
compiling for example pygobject3. pygobject3 uses "python3.x-config
--ldflags" during installation and then fails when
"-Wl,-stack_size,1000000" is present. Maybe we should investigate
removing this during the build of pyobject3, but this stack_size flag is
also not used on the popular darwin homebrew-core channel for python3.5,
so it seems safe to remove it.
2016-09-04 10:14:51 +02:00
Eelco Dolstra
0c3b1112af Revert "Python 3.5: add less"
This reverts commit e261818c68 and
others. Having Python propagate less really doesn't make sense.
2016-09-01 12:54:46 +02:00
Tuomas Tynkkynen
c3bcb4e1ce treewide: Use explicit 'dev' references to glibc 2016-08-30 03:11:09 +03:00
Frederik Rietdijk
1da6775775 Python: move interpreters
Move Python interpreters (CPython, PyPy) to same folder and share
layout.
2016-07-28 17:10:15 +02:00