Commit Graph

63 Commits

Author SHA1 Message Date
Vladimír Čunát
b7fed33057
python-3.3: fixup evaluation after #25916 2017-05-24 14:09: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
b588ed95b9 Python 3.4: fixup expat and libffi, fixes #23325 2017-03-02 13:17:40 +01:00
Frederik Rietdijk
079353e208 Python 2.7: increase priority - fixup
From the manual:

> This attribute should be a number, with a higher value denoting a
lower priority. The default priority is 0.

Just passing -5 or -10 wasn't sufficient, so let's make it -100.
2017-02-26 16:27:45 +01:00
Frederik Rietdijk
4bc1d02698 Python 2.7: increase priority
Higher priority than Python 3.x so that `/bin/python` points to
`/bin/python2` in case both 2 and 3 are installed.
2017-02-26 16:07:52 +01:00
Frederik Rietdijk
04b7a2791e Python 3.4: improve determinism 2017-02-26 14:51:26 +01:00
Frederik Rietdijk
57ded03833 Python 3.4: use system expat and ffi 2017-02-26 14:51:26 +01:00
Frederik Rietdijk
1bbf249bef Python 3.4: improve determinism 2017-02-26 14:51:26 +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
Frederik Rietdijk
14a88e76cf Python 3.5: use system expat and ffi 2017-02-26 14:50:09 +01:00
Frederik Rietdijk
8970a9c86e Python 3.5: improve determinism
- Windows installers are indeterministic and we don't need them.
- since Python 3 ensurepip is installed by default. pip is indeteministic and we don't need it.
- rebuild bytecode to ensure its deterministic
2017-02-26 14:50:09 +01:00
Frederik Rietdijk
09f6b03b2e Python 2.7: improve determinism
There is some randomness in the Windows installers. Since we don't need
them, we delete them.
2017-02-26 14:50:09 +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
Vladimír Čunát
cab0b445be
python-3.4: fixup with glibc-2.25 (/cc #22874)
Upstream won't support it, but let me trick the code into behaving
as if glibc was older.  It seems 3.3 branch should be unaffected.
2017-02-21 17:56:32 +01:00
Vladimír Čunát
110f136dc2
python*: upstream patches to fix with glibc-2.25
https://bugs.python.org/issue29157
The 3.6 release already contains the fix (from 3.5);
the branches in-between are claimed to be unaffected.
/cc #22874.
2017-02-16 23:13:38 +01:00
Frederik Rietdijk
c2e2a4d2c5 Python: remove 2.6 2017-02-13 14:42:24 +01:00
Frederik Rietdijk
b846a53d2a python34: 3.4.5 -> 3.4.6 2017-02-08 20:48:14 +01:00
Frederik Rietdijk
939f426906 python35: 3.5.2 -> 3.5.3 2017-02-08 20:48:14 +01:00
Frederik Rietdijk
a3018650a3 Merge pull request #21643 from symphorien/python-tix
Python tix module
2017-01-04 20:51:33 +01:00
Symphorien Gibol
a6e3d71361 python: support the tkinter.tix module 2017-01-04 19:39:33 +01:00
Daiderd Jordan
538d1b688a stdenv: bootstrap cmake and python on darwin 2017-01-03 18:01:47 +01:00
Frederik Rietdijk
b09000e785 python36: 3.6.0rc1 -> 3.6.0 2016-12-24 16:00:52 +01:00
Frederik Rietdijk
591eda8310 python27: 2.7.12 -> 2.7.13 2016-12-24 16:00:31 +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
Dmitry Kalinkin
46dd9dfc52 numpy: enable numpy.distutils patch only if it's also in distutils
Fixes: 095095c ('python: add C++ compiler support for distutils')
2016-10-26 21:29:55 +00:00
Frederik Rietdijk
fea23020fe Merge pull request #19585 from veprbl/distutils_fix
python: add C++ compiler support for distutils
2016-10-25 14:16:28 +02:00
Frederik Rietdijk
3b9d7260a3 python27: add missing parameter
that was accidentally removed during merging.
2016-10-22 22:33:15 +02:00
Frederik Rietdijk
e56832d730 Merge remote-tracking branch 'upstream/master' into HEAD 2016-10-22 17:23:24 +02:00
Vladimír Čunát
d26a6a87df Merge #19450: python: fix 'nproc not found' on darwin 2016-10-22 16:49:44 +02:00
Dmitry Kalinkin
95237f828b
python: fix 'nproc not found' on darwin
Fixes: 58b862b75 ('darwin purity: pythonPackages.pandas')
Cc: @pikajude
2016-10-19 19:29:17 -04: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
Dmitry Kalinkin
095095c479
python: add C++ compiler support for distutils
This should help with builds against clang
2016-10-17 11:23:13 -04: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
0a08fcd858 Python 3.5: separate output for tkinter 2016-10-10 10:33:24 +02:00
Frederik Rietdijk
0bd4b31f87 Python 3.4: separate output for tkinter 2016-10-10 10:33:24 +02:00
Frederik Rietdijk
cf0932ee84 Python 3.3: separate output for tkinter 2016-10-10 10:33:24 +02:00
Frederik Rietdijk
bee439207b Python 2.7: 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