Commit Graph

148 Commits

Author SHA1 Message Date
superherointj
b3b4bc0052 Merge pull request #208636 from wegank/python-framework
python3: allow enabling framework on darwin
2023-03-04 07:31:34 -03:00
Martin Weinelt
ee90eca180 cpython: Migrate sha256 occurences to hash 2023-02-11 17:50:53 +01:00
superherointj
a411b337d6 Merge pull request #209622 from NickCao/python311-cross
python311: fix cross compilation
2023-02-04 18:04:43 -03:00
Minijackson
2b43490121 python: improve ABI name detection 2023-01-19 15:20:31 +01:00
github-actions[bot]
ceb05ad4bf Merge master into staging-next 2023-01-13 06:01:09 +00:00
Nick Cao
f742c6d443 python311: fix cross compilation 2023-01-08 12:39:02 +08:00
Martin Weinelt
e75f5e8efa python37: drop
The package set hasn't been working for a long time now, due to infinite
recursions, that nobody was going to fix.

The release is going to go EOL in 2023/06 and we don't want to ship it
in NixOS 23.05 anyway.
2023-01-05 13:20:49 +01:00
Weijia Wang
f6fd1b9a53 python312: fix build on darwin 2023-01-02 13:07:46 +01:00
Weijia Wang
a440e955e0 python3: allow enabling framework on darwin 2023-01-01 16:05:48 +01:00
github-actions[bot]
cfbecb45cc Merge staging-next into staging 2022-12-12 18:01:51 +00:00
Vladimír Čunát
1a5af95367 python311: revert asyncio changes done in 3.11.1
Almost same as in the parent commit.
2022-12-12 14:33:17 +01:00
Vladimír Čunát
9ee1d16c36 python310: revert asyncio changes done in 3.10.9
They brought significant regressions.  Upstream is now discussing
what to do, but we still want the security fixes from 3.10.9.
2022-12-12 14:23:49 +01:00
Robert Hensing
16f5747575 Merge pull request #175649 from Artturin/opt-in-structured-attrs
stdenv: support opt-in __structuredAttrs
2022-12-10 21:12:43 +01:00
Vladimír Čunát
9c497bb8d6 Merge branch 'staging-next' into staging 2022-12-09 10:27:46 +01:00
Artturin
adc8900df1 treewide: fix some core package structuredAttrs 2022-12-08 21:05:28 +02:00
Martin Weinelt
6dcc133aae cpython: Update meta and add changelog url 2022-12-07 16:31:39 +01:00
Martin Weinelt
72231c9177 cpython: Restore libxcrypt CFLAGS and LIBS in configureFlags 2022-12-02 22:50:55 +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
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
ajs124
017fd89527 Revert "python3: pin to openssl_1_1"
This reverts commit 8dfc998207.
2022-10-28 14:15:18 +02:00
Franz Pletz
194d852242 cpython: fix build with libxcrypt 2022-10-09 18:09:39 +02:00
cidkidnix
94d9904072 cpython: fix stdenv.cc.cc.libllvm 2022-09-29 09:05:13 -05: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