Jonas Rembser
fa6a2e8f1f
python3: include ABI debug suffix d in executable (fixes FT+debug)
...
When instantiating an environment with the Python interpreter built
with both free threading (aka. without GIL) and `pydebug`, the value
of `passthru.executable` doesn't match any installed file. This was
noticed when building CI pipelines that require the Python interpreter
built with both debug features and free threading.
The cause is that `executable` was built from `libPrefix`, which only
tracks the `t` suffix from `--without-gil` and not the `d` suffix from
`--with-pydebug`. `libPrefix` doubles as the stdlib install directory,
and cpython deliberately shares that directory between debug and
non-debug builds of a given version, so the `d` is intentionally
absent there.
This slipped through because cpython only ever installs a
`python$VERSION -> python$LDVERSION` symlink (e.g. `python3.13 ->
python3.13d`). For debug-only builds the old code happened to ask for
`python3.13`, which is that symlink, so it worked by accident. For
FT+debug, `libPrefix` is `python3.13t`, but cpython installs no such
file; only `python3.13` (symlink) and `python3.13td` (binary).
Fix: append `d` to `executable` (and to the `cp<ver>` wheel ABI tag in
`pythonABITags`) when `enableDebug` is true.
Reproducer for the problem as a bash script:
```bash
set -euo pipefail
nixpkgs="${1:-<nixpkgs>}" # Either custom path if provided, or just <nixpkgs>
read -r -d '' expr <<EOF || true
let
pkgs = import ${nixpkgs} { };
py = pkgs.python313FreeThreading.override {
enableDebug = true;
self = py;
pythonAttr = "python313FreeThreading";
};
in py
EOF
executable=$(nix-instantiate --eval --json --expr "($expr).executable" | tr -d '"')
echo "passthru.executable = ${executable}"
out=$(nix-build --no-out-link --expr "$expr")
echo "store path: ${out}"
if [[ -e "${out}/bin/${executable}" ]]; then
echo "result: OK (binary exists)"
exit 0
fi
echo "result: FAIL (${out}/bin/${executable} not found)"
echo "actually installed:"
ls "${out}/bin/" | grep '^python3\.' | sed 's/^/ /'
exit 1
```
2026-06-03 13:22:42 +02:00
Martin Weinelt
2f6fa7d7fb
pythonDocs: init at 3.14, drop 3.10 ( #526551 )
2026-06-04 22:40:13 +00:00
Nicolas Benes
cb40bc2538
pythonDocs: drop 3.10
2026-06-03 00:44:06 +02:00
Nicolas Benes
2f031afd37
pythonDocs: init at 3.14, add panicgh as maintainer
2026-06-03 00:40:09 +02:00
Martin Weinelt
b04a32132e
python315: 3.15.0b1 -> 3.15.0b2
...
https://docs.python.org/3.15/whatsnew/changelog.html#python-3-15-0-beta-2
2026-06-02 22:21:41 +02:00
Martin Weinelt
002ad5f042
python3Packages.buildPythonPackage: Don't copy input list when checking inputs ( #519252 )
2026-06-02 19:51:26 +00:00
Aliaksandr
574bf7de39
treewide: remove isPy27 and isPy2 flags
2026-05-31 15:15:50 +03:00
Aliaksandr
e6871d9800
python2: move cpython, mkPythonDerivation into resholve
2026-05-31 15:14:59 +03:00
Aliaksandr
2c87389c6f
python2-packages: move into resholve
2026-05-31 15:14:58 +03:00
Ethan Carter Edwards
0f11b5770b
python3: set meta.donationPage
...
Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com >
2026-05-27 15:40:31 -07:00
adisbladis
54bea898fa
python3Packages.buildPythonPackage: Don't copy input list when checking inputs
2026-05-21 15:08:32 +12:00
nixpkgs-ci[bot]
42e06c8075
Merge master into staging-next
2026-05-19 13:06:20 +00:00
adisbladis
887fe9af74
python3Packages.mkPythonEditablePackage: use structuredAttrs instead of passAsFile ( #515851 )
2026-05-19 12:46:27 +00:00
nixpkgs-ci[bot]
1bd182852d
Merge master into staging-next
2026-05-12 07:00:02 +00:00
Eman Resu
bc3ca125eb
python/wrapper: use the python that's already added
...
requiredPythonModules always adds a python element.
2026-05-11 21:54:30 -04:00
Eman Resu
0f027769b2
buildPythonPackage: use nullable attr keys instead
2026-05-11 21:54:29 -04:00
Eman Resu
b57eb40ea7
buildPythonPackage: avoid validating python itself
2026-05-11 21:38:03 -04:00
Eman Resu
ce3dc05a4c
buildPythonPackage: save a function call
2026-05-11 21:38:03 -04:00
K900
7a535c8c93
Merge remote-tracking branch 'origin/master' into staging-next
2026-05-08 09:27:15 +03:00
Martin Weinelt
de92bac908
python315: 3.15.0a7 -> 3.15.0b1
...
https://docs.python.org/3.15/whatsnew/changelog.html#python-3-15-0-beta-1
2026-05-07 23:13:33 +02:00
Stefan Frijters
8df0eff0a2
python3Packages.mkPythonEditablePackage: keep attrs structured
2026-05-03 23:52:17 +02:00
Stefan Frijters
d5c79513d9
python3Packages.mkPythonEditablePackage: use structuredAttrs instead of passAsFile
2026-05-02 13:38:54 +02:00
nixpkgs-ci[bot]
690b686828
Merge staging-next into staging
2026-04-30 00:37:57 +00:00
Matt Sturgeon
e712497e5d
python2Packages.buildPytonPackage: restructure with lib.extendMkDerivation ( #481423 )
2026-04-29 21:51:33 +00:00
nixpkgs-ci[bot]
f8f95c9be8
Merge staging-next into staging
2026-04-28 12:37:48 +00:00
Arne Keller
37a293265f
pypy: Fix changelog URL ( #514182 )
2026-04-28 09:55:53 +00:00
Anders Kaseorg
7088c26f44
pypy: Fix changelog URL
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2026-04-27 13:30:14 -07:00
nixpkgs-ci[bot]
189c6bd465
Merge staging-next into staging
2026-04-27 06:55:30 +00:00
Yueh-Shun Li
82da9cf45c
python3Packages.buildPythonPackage: ban pytestFlagsArray
2026-04-27 03:59:04 +08:00
nixpkgs-ci[bot]
3897d11ea5
Merge staging-next into staging
2026-04-26 18:16:05 +00:00
Martin Weinelt
1658480360
overridePythonAttrs: support extension-style newArgs (finalAttrs: previousArgs: { }) ( #479258 )
2026-04-26 13:47:23 +00:00
nixpkgs-ci[bot]
b23e6c6674
Merge staging-next into staging
2026-04-26 12:16:51 +00:00
Yueh-Shun Li
521c09a80b
buildPythonPackage: overrideStdenvCompat: show position in its warning message ( #481980 )
2026-04-26 10:46:40 +00:00
Yueh-Shun Li
e7eb6868d5
overridePythonAttrs: support extension-style newArgs
...
Allow overridePythonAttrs to take `finalAttrs: args: { }`.
2026-04-26 17:44:11 +08:00
Yueh-Shun Li
397f1ecdb0
python2Packages.buildPythonPackage: format expression after lib.extendMkDerivation restructuring
2026-04-26 15:06:54 +08:00
Yueh-Shun Li
ea28d03e33
python2Packages.buildPytonPackage: restructure with lib.extendMkDerivation
...
Port to python2/mk-python-derivation.nix commit 0969c66247
(buildPython*: support fixed-point arguments via lib.extendMkDerivation")
Postpone formatting to minimize diff.
2026-04-26 15:05:42 +08:00
Yueh-Shun Li
66e4524989
python2Packages.buildPythonPackage: remove ineffective outputs cleanAttrs
...
Port to python2/mk-python-derivation.nix commit bc122a602a
("python3Packages.buildPythonPackage:
remove ineffective outputs cleanAttrs").
2026-04-26 15:05:42 +08:00
Yueh-Shun Li
e05bc0af96
python2Packages.buildPythonPackage: preserve disabled after <pkg>.overrideAttrs
...
Port to python2/mk-python-derivation.nix commit bb3a41f312
("buildPython*: fix the disabled functionality for overrideAttrs-")
2026-04-26 15:05:42 +08:00
Yueh-Shun Li
bd2285a8a5
python2Packages.buildPythonPackage: passthru disabled
...
Port to python2/mk-python-derivation.nix commit 8fd082ed7f
("mk-python-derivation: passthru disabled").
Co-authored-by: Peder Bergebakken Sundt <pbsds@hotmail.com >
2026-04-26 15:05:42 +08:00
Yueh-Shun Li
f2efb32a79
python2Packages.buildPythonPackage: port respect user-specified passthru attrs
...
Port to python2/mk-python-derivation.nix commit d6a757bb01
("buildPython*: prioritize user-specified passthru attrs").
2026-04-26 15:05:41 +08:00
Yueh-Shun Li
57c0190caf
python2Packages.buildPythonPackage: handle passthru with mkDerivation
...
Port to python2/mk-python-derivation.nix commit 21a1cf9686
("mkPythonPackage, mkPythonApplication:
handle passthru with mkDerivation").
2026-04-26 15:05:41 +08:00
nixpkgs-ci[bot]
0a57913992
Merge staging-next into staging
2026-04-21 00:32:45 +00:00
nixpkgs-ci[bot]
dcaefd38ef
Merge master into staging-next
2026-04-21 00:32:14 +00:00
Ben Siraphob
5fadc89f02
treewide: remove empty buildInputs assignments
2026-04-20 10:34:26 -07:00
Martin Weinelt
634df81a6b
python313: 3.13.12 -> 3.13.13
...
https://docs.python.org/release/3.13.13/whatsnew/changelog.html
Fixes: CVE-2026-4224, CVE-2026-3644, CVE-2026-2297
2026-04-08 23:32:08 +02:00
Martin Weinelt
e5a825f3cb
python314: 3.14.3 -> 3.14.4
...
https://docs.python.org/release/3.14.4/whatsnew/changelog.html
Fixes: CVE-2026-4224, CVE-2026-3644, CVE-2026-2297
2026-04-08 02:51:10 +02:00
Martin Weinelt
51c6e5d2b4
python315: 3.15.0a7 -> 3.15.0a8
...
https://docs.python.org/3.15/whatsnew/changelog.html#python-3-15-0-alpha-8
Fixes: CVE-2026-4224, CVE-2026-3644
2026-04-08 02:49:46 +02:00
Ihar Hrachyshka
b624ca79ab
python: apply hacl patch unconditionally
2026-03-22 14:16:04 -04:00
Martin Weinelt
bbfd20b61d
pkgsStatic.python314: fix build ( #502058 )
2026-03-22 13:11:33 +00:00
Ihar Hrachyshka
5e45722b67
pkgsStatic.python314: fix build
2026-03-21 19:12:33 -04:00