Commit Graph

325 Commits

Author SHA1 Message Date
Thiago Kenji Okada
283ecac082 resholve: strip unused libraries from python27
Strip unused libraries from resholve's own python27 derivation, further
reducing its size and reducing its attack surface.
2022-12-15 00:07:02 +00:00
Thiago Kenji Okada
2e943fc060 resholve: use stripped-down python27
This PR strips down the modified `python27` derivation used by `resholve`. The
idea is to reduce the possible security issues, and also to make it easier to
bootstrap.
2022-12-13 14:37:00 +00:00
Martin Weinelt
6dcc133aae
cpython: Update meta and add changelog url 2022-12-07 16:31:39 +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
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
ajs124
017fd89527 Revert "python3: pin to openssl_1_1"
This reverts commit 8dfc998207.
2022-10-28 14:15:18 +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
Franz Pletz
194d852242
cpython: fix build with libxcrypt 2022-10-09 18:09:39 +02:00
John Ericson
0427e5eca8
Merge pull request #193528 from cidkidnix/android-cpyth
android: cpython: fix stdenv.cc.cc.libllvm
2022-09-29 10:42:44 -04:00
cidkidnix
94d9904072 cpython: fix stdenv.cc.cc.libllvm 2022-09-29 09:05:13 -05:00
K900
641f6dd3d1 pythonDocs: fix eval 2022-09-24 10:21:54 +03:00
Sandro Jäckel
dfc6e194bc
pythonDocs: bring back pname+version, allow script to be executed from anywhere 2022-09-23 18:43:50 +02:00
Spencer Baugh
52117cce92 pythonDocs: 3.7 -> 3.10
Also include texinfo docs for Python 3 (they aren't generated for
Python 2)

A few minor fixes had to be made to generate.sh as well.
2022-09-23 15:18:59 +02:00
ajs124
8dfc998207 python3: pin to openssl_1_1 2022-08-17 20:16:44 +02:00
Sergei Trofimovich
b3b672d5a1 setup-hooks/separate-debug-info.sh: don't inhibit strip hook
Before the change separate-debug-info.sh did the stripping itself.
This scheme has a few problems:
1. Stripping happens only on ELF files. *.a and *.o files are skipped.
   Derivations have to do it manually. Usually incorrectly
   as they don't run $RANLIB (true for `glibc` and `musl`).
2. Stripping happens on all paths. Ideally only `stripDebugList` paths
   should be considered.
3. Host strip is called on Target files.

This change offloads stripping logic to strip hook. This strips more
files for `glibc` and `musl`. Now we can remove most $STRIP calls
from individual derivations.

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-08-07 12:49:37 +01:00
Frederik Rietdijk
2270b66d75 pythonPackagesExtensions: override all Python package sets at once
Python package sets can be overridden by overriding an interpreter
and passing in `packageOverrides = self: super: {...};`. This is fine
in case you need a single interpreter, however, it does not help you
when you want to override all sets.

With this change it is possible to override all sets at once by
appending a list of "extensions" to `pythonPackagesExtensions`.

From reading the implementation you might wonder why a list is used, and
not
`lib.composeExtensions`? The reason is the latter requires knowledge of
the library function. This approach should be easier for most users
as it is similar to how we append to lists of e.g. inputs or patches
when overriding a derivation.
2022-08-06 09:39:39 +02:00
Adam Joseph
b21933faab cpython: have powerpc64le use "ppc64le" to follow PEP600
The PEP600 standard gives Python's naming scheme for various
architectures; it follows the convention which was in use by Fedora in
2014.  According to PEP600, the architecture name for Power PC is
`ppc64le`, not `powerpc64le`.  This is also how python3 declares its
"supported wheels" under Debian on PowerPC, as checked with `pip debug
--verbose`

  $ pip debug --verbose | grep powerpc
  $ pip debug --verbose | grep ppc | head
  cp39-cp39-manylinux_2_31_ppc64le
  cp39-cp39-manylinux_2_30_ppc64le
  cp39-cp39-manylinux_2_29_ppc64le
  cp39-cp39-manylinux_2_28_ppc64le
  cp39-cp39-manylinux_2_27_ppc64le
  cp39-cp39-manylinux_2_26_ppc64le
  cp39-cp39-manylinux_2_25_ppc64le
  cp39-cp39-manylinux_2_24_ppc64le
  cp39-cp39-manylinux_2_23_ppc64le

Let's adjust the `pythonHostPlatform` expression in
cpython/default.nix to pass the architecture using the naming scheme
Python expects.

Verified on a Raptor Computing Systems Talos II.  Without this commit,
PyQt5 fails to build, failing with "unsupported wheel".  With this
commit, it builds successfully.
2022-06-19 07:46:29 +02:00
Artturin
843b988680 python3: fix wrong platform libs when cross-compiling
see https://github.com/NixOS/nixpkgs/pull/169475#issuecomment-1129517328

patch by adisbladis

Co-authored-by: adisbladis <adisbladis@gmail.com>
2022-06-16 16:49:18 +03:00
Martin Weinelt
0b63d22aab
Merge pull request #173998 from mweinelt/cpython311 2022-06-15 01:28:11 +02:00
Martin Weinelt
a5c5302ddd
python311: 3.11.0b1 -> 3.11.0b3
https://www.python.org/downloads/release/python-3110b2/
https://pythoninsider.blogspot.com/2022/05/python-3110b2-is-now-available.html

With updated darwin-libutil.patch provided by Randy Eckenrode.

Co-Authored-By: Randy Eckenrode <randy@largeandhighquality.com>
2022-06-15 01:18:26 +02:00
github-actions[bot]
ebcaa0d01c
Merge master into staging-next 2022-06-01 12:01:27 +00:00
Martin Weinelt
a9377b6919
Merge pull request #164174 from ReplayCoding/fix/python-llvm-pgo 2022-06-01 11:07:54 +02:00
github-actions[bot]
f82caaee74
Merge staging-next into staging 2022-05-26 00:02:58 +00:00
Tobias Mayer
1e447d7898 pkgsStatic.python3: fix build
GCC does not come with a `libgcc_eh.a` for the target platform if
it was built without `--enable-shared`. That flag was removed with
c6dd11ca39, meaning we should no longer
attempt to link against that lib.
2022-05-24 18:03:33 +02:00
Martin Weinelt
85dfb11907
python311: 3.11.0a7 -> 3.11.0b1
https://www.python.org/downloads/release/python-3110b1/
https://blog.python.org/2022/05/python-3110b1-is-now-available.html
2022-05-22 16:14:33 +02:00
Artturin
6b46fa896e python3Minimal: enable strictDeps
remove unused let binding from the main expr

verified that cross-compiling still works
2022-05-22 16:40:36 +03:00
adisbladis
881ea516cf python3: Whitelist config options when overriding interpreter
In the case of cross compilation we don't want pass through build
inputs from the cross platform, but we do want to pass on config options.
2022-04-21 14:50:28 +02:00
Frederik Rietdijk
ba02fd0434 python3: fix overriding of interpreters, closes #163639
Overriding the interpreters did not work correctly. When overriding
packages would end up twice in the build time closure: one corresponding
to the overridden interpreter and one corresponding to the original
interpreter. The reason is that the override was not applied to the
interpreters in the spliced package sets.
2022-04-21 14:50:28 +02:00
Vladimír Čunát
d5d94127fd
Merge branch 'staging-next' into staging
Minor conflicts; I hope I didn't mess up:
	pkgs/development/tools/misc/binutils/default.nix
	pkgs/games/openjk/default.nix
2022-04-14 09:53:21 +02:00
Martin Weinelt
66beaa9225
cpython: update patches for 3.11a7 on darwin 2022-04-14 01:33:33 +02:00
Nicolas Benes
2f027dff0b python: remove ncurses flag
It seems the additional linker flags were added in 9d3b0a2 (May 2008) as
a workaround for readline support. They were kept since then, but it
also means that `python3-config` outputs these flags

```console
$ python3-config --libs
 -lpthread -ldl -lcrypt -lncurses -lutil -lm -lm
```

while other GNU/Linux distros do not. For example, Debian 11:

```console
$ sudo apt install python3-dev
$ python3-config --libs
 -lcrypt -lpthread -ldl  -lutil -lm -lm
```

This change removes the `-lncurses` flag and aligns Nix/NixOS with other
distros.
2022-03-29 13:39:33 +02:00
ReplayCoding
42f6c2c7ed python: fix enableOptimizations with clang 2022-03-14 15:57:16 -07:00
Frederik Rietdijk
e3ae569a2c
Merge pull request #157775 from veprbl/pr/darwin_python310_fix
python3: revert some old darwin hacks
2022-02-06 13:33:59 +01:00
Dmitry Kalinkin
68d828f64c
python3: don't hardcode -msse2 on darwin
The -msse2 flag was hardcoded back when python32 was added in
47d86a83 ('Adding Python 3.2').
2022-02-02 18:22:09 -05:00
Dmitry Kalinkin
c7c3187d98
python3: don't patch out -Wl,-stack_size,1000000
The original motivation behind removing that was to appease a consumer
of python-config's output. That issue was probably resolved by now, so
let's bring the build in sync with what python is doing by default.

This reverts b7819e38 ('python3.x: Patch extra stack size on darwin')
2022-02-02 18:21:55 -05:00
Dmitry Kalinkin
49a0059a59
python3: unset MACOSX_DEPLOYMENT_TARGET
Setting an old target conflicts with the -stack_size,1000000 linker
flag. This fixes build of python310.

This reverts ce59dec5 ('python34: as a workaround, explicitly set MACOSX_DEPLOYMENT_TARGET')
2022-02-02 18:21:30 -05:00
Jonathan Ringer
69382d41d5 python311: 3.11a2 -> 3.11a4 2022-01-31 06:47:51 -08:00
Sandro Jäckel
be1fef9258 cpython: mime-types -> mailcap 2022-01-26 14:30:10 -08:00
Emily
cafbe8171c
python: conditionalize redundant Darwin patch (#137858) 2021-12-25 17:11:35 -05:00
Ryan Burns
925bbece2f cpython: remove upstreamed patch
This patch has been merged in python 3.9.7.

4b55837e7c
2021-12-03 13:18:38 -08:00
Martin Weinelt
59cd736ec2 python39: backport patch to accomodate system library changes in Big Sur
(cherry picked from commit 9738723b2486cfe9988abbff0c873cce5cba1849)
2021-12-02 18:00:12 -08:00
Jörg Thalheim
96956d7682
Merge pull request #145265 from Stunkymonkey/development-pname-version-3
pkgs/development: rename name to pname&version part 3
2021-12-02 14:56:34 +00:00
Felix Buehler
7678aa30b4 pkgs/development: rename name to pname&version 2021-11-30 21:32:28 +01:00