Commit Graph

2158 Commits

Author SHA1 Message Date
github-actions[bot]
5dcaefe5c4 Merge staging-next into staging 2022-12-01 18:02:04 +00:00
github-actions[bot]
237453e7f7 Merge master into staging-next 2022-12-01 18:01:25 +00:00
Martin Weinelt
bcb6dbbe30 manylinux: use libxcrypt for libcrypt.so.1 2022-12-01 14:09:42 +01:00
Martin Weinelt
adae7334e4 python312: init at 3.12.0a2
https://blog.python.org/2022/10/python-3120-alpha-1-released.html
https://blog.python.org/2022/11/python-3120-alpha-2-released.html
2022-11-29 01:55:35 +01:00
Martin Weinelt
b5a4d7760d cpython: drop leftover 3.5/3.6 logic and patches 2022-11-29 01:34:59 +01:00
Thiago Kenji Okada
d345fb2500 python27: fix CVE-2021-3733 2022-11-28 11:45:40 +00:00
Thiago Kenji Okada
b3d02fb8b5 python27: add thiagokokada as maintainer 2022-11-28 09:41:57 +00:00
Thiago Kenji Okada
14334cb683 python27: switch to ActiveState's fork for Python 2
ActiveState is a company that is maintaining a fork of Python 2 to fixes
its security issues. Their support is paid, however the code is
open-source. See the details here:
https://www.activestate.com/products/python/python-2-end-of-life-security-updates/

This enable us to drop a bunch of CVE's patches for Python 2.7 and also
it should be easier to maintain, since we can just bump the version once
ActiveState tags a new version.
2022-11-28 09:41:57 +00:00
Martin Weinelt
acb119aeac Merge pull request #203362 from thiagokokada/add-patches-to-python27-cves 2022-11-28 01:56:07 +01:00
Thiago Kenji Okada
e7d9b0b19d python27: add patches for known security issues
Add patches from Arch Linux package (that itself source its patches from
Gentoo) to the following known security issues in Python 2.7:

- CVE-2020-26116
- CVE-2020-27619
- CVE-2020-8492

This should cover all security issues currently listed in
https://www.activestate.com/products/python/python-2-end-of-life-security-updates/.
2022-11-27 22:46:20 +00:00
ajs124
2b3c729654 python3: use openssl_legacy 2022-11-21 13:46:00 +01:00
ajs124
f06f950183 Revert "Revert "python3: pin to openssl_1_1""
This reverts commit 017fd89527.
2022-11-21 13:46:00 +01:00
Lassulus
15a42961b6 Merge pull request #196906 from helsinki-systems/feat/less-openssl_1_1 2022-11-11 00:21:52 +01:00
Jörg Thalheim
7eccc4973c Merge pull request #195055 from Mic92/buildPythonPackage
buildPythonPackage: fix regression if no setuptools is used
2022-11-06 20:37:18 +01:00
Sergei Trofimovich
3c65029d0d Merge pull request #198672 from trofi/pythonFull-without-xlibsWrapper
pythonFull: drop unused xlibsWrapper input
2022-11-05 10:18:25 +00:00
Pierre Bourdon
4fe74d5257 Merge pull request #198802 from delroth/relax-deps-hook-regexp
pythonRelaxDepsHook: improve Requires-Dist parsing
2022-11-01 15:10:07 +01:00
Pierre Bourdon
1f197e240e pythonRelaxDepsHook: improve Requires-Dist parsing
Prior to this commit, pythonRelaxDeps would only support removing
version constraints from "Requires-Dist" lines formatted in a particular
way ("foo (>= 1.2.3)"). This way is deprecated as per PyPA Core Metadata
Specs v2.1 [1]:

> Tools parsing the format should accept optional parentheses around
> this, but tools generating it should not use parentheses.

Additionally, a "Requires-Dist" dependency specification can contain
other metadata than just package name and version (extra names,
environment marker). These were being silently dropped by the prior
version of pythonRelaxDeps, or the version could not be relaxed.

The actual grammar is defined in PEP 508 [2]. Our tool of choice here is
sed extended regexps, so there's only so much we can do to be correct
with this parser. The regexp implemented in this commit makes an attempt
at supporting [extra] names, ; env_markers, as well as version specs
without parentheses. There are still unsupported features (URL specs) as
well as unhandled edge cases, but at some point trying to make the
regexp better is bound to awake ZALGO [3].

[1] https://packaging.python.org/en/latest/specifications/core-metadata/#requires-dist-multiple-use
[2] https://peps.python.org/pep-0508/#grammar
[3] https://stackoverflow.com/a/1732454/179806
2022-10-31 17:05:12 +01:00
Sergei Trofimovich
845c39bab5 pythonFull: drop unused xlibsWrapper input
Tested as no material change in `out` output with `diffoscope`.
2022-10-30 16:47:30 +00:00
github-actions[bot]
6e5f43a5bd Merge master into staging-next 2022-10-28 18:01:29 +00:00
Frederik Rietdijk
cb445d527b python3Packages: stdenv does not have to be a Python module
stdenv is included in the package set. It does not provide a Python
module however and was therefore catched by the test. Because we do need
it we provide an exception for it.
2022-10-28 19:11:31 +02:00
ajs124
017fd89527 Revert "python3: pin to openssl_1_1"
This reverts commit 8dfc998207.
2022-10-28 14:15:18 +02:00
Frederik Rietdijk
d3ca664b6a Merge staging-next into staging 2022-10-27 10:06:54 +02:00
Frederik Rietdijk
33d12e5f0b pythonPackages: ensure all derivations provide python modules
This adds a test to ensure no new uses of `buildPythonApplication` can
be added to `python-packages.nix`.

Python packages can be grouped into two groups: 1) applications and 2)
packages providing importable modules. In `python-packages.nix` we only
want to have 2). 1) should be in the top-level package set.

To achieve this, all setup hooks need to be marked as being a setup hook.
For the setup hooks in the Python packages set this is done by creating
a new builder, `makePythonHook`.

Because there were issues with splicing, the file importing all the hooks
is converted to an extension. All non-packages were moved out of `python-packages.nix`
into `python-packages-base.nix`. The `keep` argument to `makeScopeWithSplicing
was cleaned up as well; there is no need to keep this one manually in sync
reducing the risk of breaking cross-compilation.
2022-10-27 10:03:16 +02:00
github-actions[bot]
81a6c5a54c Merge staging-next into staging 2022-10-25 18:16:24 +00:00
Martin Weinelt
4932ed92a4 python311: 3.11.0-rc2 -> 3.11.0
https://www.python.org/downloads/release/python-3110/
https://discuss.python.org/t/python-3-11-0-final-is-now-available/20291
2022-10-25 00:30:25 +02:00
github-actions[bot]
70da3334cf Merge staging-next into staging 2022-10-17 18:16:14 +00:00
github-actions[bot]
3834216ec6 Merge master into staging-next 2022-10-17 18:10:17 +00:00
Jörg Thalheim
0d7a8e28d0 pypy: fix executable name for 3.9 2022-10-17 14:23:01 +02:00
github-actions[bot]
bcfb4956fd Merge staging-next into staging 2022-10-17 12:01:57 +00:00
github-actions[bot]
969a1796ef Merge master into staging-next 2022-10-17 12:01:24 +00:00
Jörg Thalheim
ea13f7cd4c pypy: 7.3.7 -> 7.3.9 2022-10-17 10:21:06 +02:00
Jörg Thalheim
12f9d8e730 buildPythonPackage: better error message if no setuptools is used.
Before packages did not had to set `format = "other";` if had a custom
installPhase and would not produce a dist folder.
The current error message is hard to understand by new users:

> Executing pythonOutputDistPhase
> mv: cannot stat 'dist': No such file or directory

This commit improves the error message.
2022-10-17 10:12:34 +02:00
github-actions[bot]
ec95041d85 Merge staging-next into staging 2022-10-16 00:04:36 +00:00
Martin Weinelt
51fcbf5bb7 Merge remote-tracking branch 'origin/master' into staging-next 2022-10-16 00:18:40 +02:00
Artturin
c86122e5bd pythonInterpreters: get self from __splicedPackages
BEFORE:

the python derivation did not contain .nativeDrv and .crossDrv because
it was not from the __splicedPackages set

the python used in mk-python-derivation.nix was for host

```
nix-repl> pkgsCross.aarch64-multiplatform.python3Packages.xpybutil.nativeBuildInputs
[ «derivation /nix/store/bhz39ds4v02hn6x4py4mzjyilw4a589h-python3-aarch64-unknown-linux-gnu-3.10.7.drv» «derivation /nix/store/v880cnh4ml7czmivfbk3cdh93hz9yvbn-hook.drv» «derivation /nix/store/f243ab7wv92gqsmc9h7gr0qcnj0xcgdb-hook.drv» «derivation /nix/store/880lf8895bzn8d94lrr2y7ilgkxq0lc4-python-remove-tests-dir-hook.drv» «derivation /nix/store/fzjnhawfs1wpw58hcd1vxd9y750dc08y-python-remove-bin-bytecode-hook.drv» «derivation /nix/store/n8l59iparx98yfw8g5ydqmzmk3fdic75-setuptools-setup-hook.drv» «deri→
```

AFTER:

the python derivation does contain .nativeDrv and .crossDrv because
it is from the __splicedPackages set

those 2 are what makes nativeBuildInputs and buildInputs function
properly

the python used in mk-python-derivation.nix is for build

```
nix-repl> pkgsCross.aarch64-multiplatform.python3Packages.xpybutil.nativeBuildInputs
[ «derivation /nix/store/hvb9yxgv1133cfhxxd869sibldvv2vdx-python3-3.10.7.drv» «derivation /nix/store/v880cnh4ml7czmivfbk3cdh93hz9yvbn-hook.drv» «derivation /nix/store/f243ab7wv92gqsmc9h7gr0qcnj0xcgdb-hook.drv» «derivation /nix/store/880lf8895bzn8d94lrr2y7ilgkxq0lc4-python-remove-tests-dir-hook.drv» «derivation /nix/store/fzjnhawfs1wpw58hcd1vxd9y750dc08y-python-remove-bin-bytecode-hook.drv» «derivation /nix/store/n8l59iparx98yfw8g5ydqmzmk3fdic75-setuptools-setup-hook.drv» «derivation /nix/store/7vyhynla→
```
2022-10-15 09:35:29 +02:00
Artturin
19d04b5f47 pythonInterpreters: don't use with pkgs 2022-10-15 09:35:29 +02:00
github-actions[bot]
92e8a46d79 Merge staging-next into staging 2022-10-15 06:08:33 +00:00
github-actions[bot]
4f07e7f326 Merge master into staging-next 2022-10-15 06:07:54 +00:00
Martin Weinelt
87761da934 python37: 3.7.14 -> 3.7.15
https://docs.python.org/release/3.7.15/whatsnew/changelog.html
2022-10-14 22:50:59 +02:00
Martin Weinelt
997b80d632 python39: 3.9.14 -> 3.9.15
http://docs.python.org/release/3.9.15/whatsnew/changelog.html
2022-10-14 19:03:55 +02:00
Martin Weinelt
a88ce6dc0b python310: 3.10.7 -> 3.10.8
https://docs.python.org/release/3.10.8/whatsnew/changelog.html
2022-10-14 19:03:50 +02:00
Martin Weinelt
8444183652 python38: 3.8.14 -> 3.8.15
http://docs.python.org/release/3.8.15/whatsnew/changelog.html
2022-10-14 18:13:25 +02:00
Vladimír Čunát
00a757ed3f Merge branch 'master' into staging 2022-10-13 08:27:55 +02:00
Alyssa Ross
3dae05bb91 update-python-libraries: enable nix command
Since the Nix command used is an implementation detail of the script,
it's the script that will have to be updated if the command changes,
it's the script that should be opting into this, rather than making
the user do it globally.
2022-10-12 11:38:55 +00:00
Alyssa Ross
6425011efe update-python-libraries: remove old Nix fallback
Since c0972c16dc ("update-python-libraries: add missing dependency nix"),
Nix will be provided as a dependency, so we know we'll always be using
a modern version and no longer need the fallback.
2022-10-12 11:38:55 +00:00
Pascal Bach
17c13ef886 rustpython: unstable-2021-12-09 -> unstable-2022-10-11 2022-10-11 22:59:44 +02:00
Artturin
7e49471316 treewide: optional -> optionals where the argument is a list
the argument to optional should not be list
2022-10-10 15:40:21 +03:00
Artturin
f4ea1208ec treewide: *Flags convert to list from str
*Flags implies a list

slightly relevant:
> stdenv: start deprecating non-list configureFlags https://github.com/NixOS/nixpkgs/pull/173172

the makeInstalledTests function in `nixos/tests/installed-tests/default.nix` isn't available outside of nixpkgs so
it's not a breaking change
2022-10-10 15:30:59 +03:00
Martin Weinelt
829f89581a Merge pull request #181764 from mweinelt/glibc-without-libcrypt 2022-10-09 21:07:26 +02:00
github-actions[bot]
3b37795067 Merge staging-next into staging 2022-10-09 18:02:10 +00:00