summaryrefslogtreecommitdiff
path: root/pkgs/development/interpreters/python/cpython (follow)
Commit message (Expand)AuthorAgeFilesLines
* python39: drop before the 25.05 branch-off•••End of security support is scheduled for 2025-10-31, which does not cover the complete 25.05 release cycle. Martin Weinelt2025-04-131-16/+3
* Revert "treewide: replace `rev` with `tag`"•••This reverts commit 65a333600d5c88a98d674f637d092807cfc12253. This wasn't tested for correctness with something like fodwatch [0], and should not have been (self-)merged so quickly, especially without further review. It also resulted in the breakage of at least one package [1] (and that's the one we know of and was caught). A few packages that were updated in between this commit and this revert were not reverted back to using `rev`, but other than that, this is a 1:1 revert. [0]: https://codeberg.org/raphaelr/fodwatch [1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e4587d75882aebc21a04bee960418f8ce9 Winter2025-04-081-1/+1
* treewide: replace `rev` with `tag`Pol Dellaiera2025-04-071-1/+1
* python3: Fixing excessive memory usage for overriden python in cross-compile ...Martin Weinelt2025-04-041-8/+27
|\
| * python3: Fixing excessive memory usage for overriden python•••An attempt to address #338231. The current release of nixpkgs takes over 20GB of memory to evaluate python when the interpreter is overriden. This adds memoization to the spliced python packages to avoid evaluating all the commbinations of overrides. Timothy Gallion2025-04-021-8/+27
* | python3: disable static darwin buildsJörg Thalheim2025-04-021-1/+6
|/
* treewide: Format all Nix files•••Format all Nix files using the officially approved formatter, making the CI check introduced in the previous commit succeed: nix-build ci -A fmt.check This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153) of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166). This commit will lead to merge conflicts for a number of PRs, up to an estimated ~1100 (~33%) among the PRs with activity in the past 2 months, but that should be lower than what it would be without the previous [partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537). Merge conflicts caused by this commit can now automatically be resolved while rebasing using the [auto-rebase script](https://github.com/NixOS/nixpkgs/tree/8616af08d915377bd930395f3b700a0e93d08728/maintainers/scripts/auto-rebase). If you run into any problems regarding any of this, please reach out to the [formatting team](https://nixos.org/community/teams/formatting/) by pinging @NixOS/nix-formatting. Silvan Mosberger2025-04-0111-689/+915
* python311: fix _ctypes build on darwin•••In Python 3.12+, the -DUSING_APPLE_OS_LIBFFI=1 macro is always set: https://github.com/python/cpython/commit/25590eb5dee5176f3ac60916b19450f8198e7ffc Fixes #390348 Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com> Ihar Hrachyshka2025-03-161-0/+3
* python310/python311: fix failing tests with openssl >= 3.4Luka Blašković2025-02-182-0/+37
* Merge master into staging-nextnixpkgs-ci[bot]2025-02-171-0/+5
|\
| * python3{9,10}.doc: fix buildSandro Jäckel2025-02-161-0/+5
* | python314: 3.14.0a4 -> 3.14.0a5•••https://docs.python.org/3.14/whatsnew/changelog.html#python-3-14-0-alpha-5 Martin Weinelt2025-02-132-48/+1
* | bash: Make interactive by default (#379368)K9002025-02-091-4/+4
|\ \
| * | bash: Make interactive the default•••The status quo of `bash` not being interactive is frustrating for many users, because trying to use it interactively is just messed up, and `bashInteractive` is not intuitive and barely discoverable. This was brought to my (and many others) attention by @stahnma in his [talk at CfgMgmtCamp 2025](https://cfp.cfgmgmtcamp.org/ghent2025/talk/YUVUTN/), where he highlighted this as one of the frustrations he ran into when learning Nix. Why this is fine: - No reason for not making interactive the default was given in the original commit (6c6ff6f36ff26932aa730875bd237c8e37210f0e), but probably it was due to the increase in closure size - The closure size only increases by 6.9MiB (19.5%) today, with the added dependency on the store paths for readline and ncurses, which are needed on systems in almost all cases anyways - If somebody really needs to get a more minimal system, they can use the newly-introduced `bashNonInteractive` instead now - Though to apply it consistently, they'll need to do that in an overlay like ``` final: prev: { bash = self.bashNonInteractive; } ``` Or alternatively using the `system.replaceDependencies.replacements` NixOS option approach. While there's also other such `*Interactive` packages that could use the same treatment, `bash` is a great start. This was already attempted before in https://github.com/NixOS/nixpkgs/pull/151227, but was not continued for unknown reason. To avoid stdenv becoming bigger, all uses of bash in the (working) stdenv's are changed to the explicitly non-interactive version here. This commit will however still cause a mass rebuild for all packages (and reverse deps) making use of the default bash. Silvan Mosberger2025-02-051-4/+4
| |/
* | cpython: provide libuuid for the _uuid module (#377458)•••* util-linuxMinimal: build without pam and shadow These depend on python via audit preventing the use of libuuid from util-linux in python builds. * cpython: provide libuuid for the _uuid module Relying on libuuid offers synchronization primitives, so that "no two processes can obtain the same UUID"¹. [1] https://docs.python.org/3/library/uuid.html#module-uuidMartin Weinelt2025-02-081-0/+2
|\ \
| * | cpython: provide libuuid for the _uuid module•••Relying on libuuid offers synchronization primitives, so that "no two processes can obtain the same UUID"¹. [1] https://docs.python.org/3/library/uuid.html#module-uuid Martin Weinelt2025-01-291-0/+2
| |/
* | python312: 3.12.8 -> 3.12.9•••https://docs.python.org/release/3.12.9/whatsnew/changelog.html Martin Weinelt2025-02-041-2/+2
* | python313: 3.13.1 -> 3.13.2•••https://docs.python.org/release/3.13.2/whatsnew/changelog.html Martin Weinelt2025-02-041-1/+2
* | cpython: patch CVE-2025-0938•••https://www.cve.org/CVERecord?id=CVE-2025-0938 Martin Weinelt2025-02-012-0/+202
|/
* python314: 3.14.0a2 -> 3.14.0a3•••https://docs.python.org/3.14/whatsnew/changelog.html#python-3-14-0-alpha-3 Martin Weinelt2025-01-171-1/+8
* python311: fix mingwW64 cross, mark as broken for other versionsFliegendeWurst2025-01-081-0/+4
* Merge master into staging-nextgithub-actions[bot]2024-12-151-2/+2
|\
| * Fix cross eval issues (#362546)sternenseemann2024-12-141-2/+2
| |\
| | * python2: Fix alias usage on crossArtturin2024-12-081-2/+2
| * | treewide: format all inactive Nix files•••After final improvements to the official formatter implementation, this commit now performs the first treewide reformat of Nix files using it. This is part of the implementation of RFC 166. Only "inactive" files are reformatted, meaning only files that aren't being touched by any PR with activity in the past 2 months. This is to avoid conflicts for PRs that might soon be merged. Later we can do a full treewide reformat to get the rest, which should not cause as many conflicts. A CI check has already been running for some time to ensure that new and already-formatted files are formatted, so the files being reformatted here should also stay formatted. This commit was automatically created and can be verified using nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \ --argstr baseRev b32a0943687d2a5094a6d92f25a4b6e16a76b5b7 result/bin/apply-formatting $NIXPKGS_PATH Silvan Mosberger2024-12-101-1/+5
| |/
* | treewide: format all inactive Nix files•••After final improvements to the official formatter implementation, this commit now performs the first treewide reformat of Nix files using it. This is part of the implementation of RFC 166. Only "inactive" files are reformatted, meaning only files that aren't being touched by any PR with activity in the past 2 months. This is to avoid conflicts for PRs that might soon be merged. Later we can do a full treewide reformat to get the rest, which should not cause as many conflicts. A CI check has already been running for some time to ensure that new and already-formatted files are formatted, so the files being reformatted here should also stay formatted. This commit was automatically created and can be verified using nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \ --argstr baseRev 78e9caf153f5a339bf1d4c000ff6f0a503a369c8 result/bin/apply-formatting $NIXPKGS_PATH Silvan Mosberger2024-12-101-1/+5
* | python312: fix memory exhaustion vulnerability in asyncio.protocols (#362523)Martin Weinelt2024-12-082-0/+47
|\ \
| * | python312: fix memory exhaustion vulnerability in asyncio.protocols•••https://mail.python.org/archives/list/security-announce@python.org/thread/H4O3UBAOAQQXGT4RE3E4XQYR5XLROORB/ Fixes:CVE-2024-12254 Martin Weinelt2024-12-062-0/+47
* | | Merge remote-tracking branch 'origin/master' into staging-nextK9002024-12-081-5/+21
|\ \ \ | |/ / |/| / | |/
| * python3: proper syntax for Windows patches (#351010)Wolfgang Walther2024-12-071-5/+21
| |\
| | * python3: proper syntax for Windows patches•••Windows patches were being added with a shell glob, which was dying with an error. See #351007. Use filesystem methods to walk the patch set and retrieve the patch names. Also, update the patches from the Fedora project to the latest for Python 3.11.9 and add filtering for any that are already applied to the 3.11.10 in the current cycle. python312 still fails to cross-compile after this patch, but at least 3.11 will again be available Greg Hellings2024-10-251-5/+21
| * | Revert "python{27,39,310,311,312,313,314}: use a bootstrap SDK on Darwin"•••No longer necessary to mask an unwanted Python rebuild. This reverts commit c455166b5f3e62357fd0c40be2721dd78c36cfca. Emily2024-11-071-1/+1
| * | python{27,39,310,311,312,313,314}: use a bootstrap SDK on Darwin•••Not sure why this is necessary now, since it should already be handled as part of the bootstrap. This might not be the right fix but it does fix eval. Emily2024-11-071-1/+1
* | | python3: remove code for macOS < 11Emily2024-11-181-4/+0
|/ /
* | python{27,39,310,311,312,313,314}: drop Darwin `libutil` patchEmily2024-11-064-45/+0
* | Merge staging-next into staginggithub-actions[bot]2024-10-272-6/+6
|\ \
| * \ Merge remote-tracking branch 'origin/master' into staging-nextK9002024-10-262-6/+6
| |\ \
| | * | treewide: move tcl libraries under tclPackagesFrancesco Gazzetta2024-10-262-6/+6
| | |/
* | / python314: init at 3.14.0a1•••https://docs.python.org/3.14/whatsnew/changelog.html#python-3-14-0-alpha-1 Martin Weinelt2024-10-161-0/+40
|/ /
* | python3: fix stdenv bootstrap on x86_64-darwin•••The bootstrap tools linker sometimes crashes when trying to link the sqlite3 tests, which causes the bootstrap Python not to have the sqlite3 module. This causes the freezegun module to fail to build later in the bootstrap. Using the 11.0 SDK fixes the problem. Upstream Python supports building with a newer SDK and back-deploying, so this change should not negatively affect users on pre-11.0 releases. Randy Eckenrode2024-10-101-0/+4
* | python3: drop configd•••configd is an alias for the SystemConfiguration framework, which is now always part of the SDK. Removing this parameter because it effectively does nothing now, which could be misleading to users. Randy Eckenrode2024-10-101-6/+0
* | python27: drop configd•••configd is an alias for the SystemConfiguration framework, which is now always part of the SDK. Removing this parameter because it effectively does nothing now, which could be misleading to users. Randy Eckenrode2024-10-101-3/+2
|/
* Merge master into staging-nextgithub-actions[bot]2024-09-301-0/+1
|\
| * cpython: add python team as maintainersMartin Weinelt2024-09-301-0/+1
* | Merge branch 'master' into staging-nextArtturin2024-09-252-21/+21
|\|
| * treewide: replace `stdenv.is` with `stdenv.hostPlatform.is`•••In preparation for the deprecation of `stdenv.isX`. These shorthands are not conducive to cross-compilation because they hide the platforms. Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way One example of why this is bad and especially affects compiler packages https://www.github.com/NixOS/nixpkgs/pull/343059 There are too many files to go through manually but a treewide should get users thinking when they see a `hostPlatform.isX` in a place where it doesn't make sense. ``` fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is" fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is" fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is" fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is" fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is" fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is" fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is" fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is" fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is" ``` Artturin2024-09-252-21/+21
* | python3: get the triple from the build system•••We don't need the sysconfigdata name at eval time, so trying to reimplement platform_triplet.c in Nix is unnecessarily painful compared to just getting it from the build system after the fact. Alyssa Ross2024-09-101-76/+47
|/
* Merge staging-next into staginggithub-actions[bot]2024-08-301-1/+1
|\
| * Merge master into staging-nextgithub-actions[bot]2024-08-301-1/+1
| |\
| | * python313FreeThreading: fix build•••The build uses a `t` suffix on the lib prefix. Martin Weinelt2024-08-281-1/+1