summaryrefslogtreecommitdiff
path: root/pkgs/development/interpreters/python
AgeCommit message (Collapse)Author
2025-04-08Merge remote-tracking branch 'origin/master' into staging-nextK900
2025-04-08Revert "treewide: replace `rev` with `tag`"Winter
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
2025-04-07Merge remote-tracking branch 'origin/master' into staging-nextK900
2025-04-07treewide: replace `rev` with `tag`Pol Dellaiera
2025-04-05Merge master into staging-nextnixpkgs-ci[bot]
2025-04-04python3: Fixing excessive memory usage for overriden python in cross-compile ↵Martin Weinelt
(#394541)
2025-04-03Merge staging-next into stagingnixpkgs-ci[bot]
2025-04-03pythonInterpreters.pypy39_prebuilt: put deprecation behinde allowAliasesjopejoe1
2025-04-02Merge staging-next into stagingnixpkgs-ci[bot]
2025-04-02Merge remote-tracking branch 'upstream/staging-next' into stagingSilvan Mosberger
2025-04-02python3: Remove unneeded override in `passthruFun`Timothy Gallion
`pythonOnBuildForHost` is already overriden when it is passed to `passthruFun` remove redundant override. Performace is slightly better ~200MB less memory.
2025-04-02python3: Fixing excessive memory usage for overriden pythonTimothy Gallion
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.
2025-04-02python3: disable static darwin buildsJörg Thalheim
2025-04-01treewide: Format all Nix filesSilvan Mosberger
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.
2025-03-24pytestCheckHook: support inclusion and exclusion of path globs, test items, ↵Yueh-Shun Li
keywords, and markers (#386513)
2025-03-23python3Packages.pytestCheckHook: support enabledTestMarks and disabledTestMarksYueh-Shun Li
2025-03-23python3Packages.pytestCheckHook: support enabledTestsYueh-Shun Li
2025-03-23python3Packages.pytestCheckHook: Make disabledTests support sub-expressionsYueh-Shun Li
Wrap each elements of disabledTests with parenthesis so that when __structuredAttrs = true, people could use sub-expressions an element. E.g. ```nix { disabledTests = [ "ClassFoo and test_foo" "test_bar" ]; }
2025-03-23python3Packages.pytestCheckHook: support enabledTestPathsYueh-Shun Li
2025-03-21Merge master into staging-nextnixpkgs-ci[bot]
2025-03-16python311: fix _ctypes build on darwinIhar Hrachyshka
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>
2025-03-15Merge master into staging-nextnixpkgs-ci[bot]
2025-03-15python314: 3.14.0a5 -> 3.14.0a6Martin Weinelt
https://docs.python.org/3.14/whatsnew/changelog.html#python-3-14-0-alpha-6
2025-03-09python3Packages.pytestCheckHook: support deselecting tests via disabledTestPathsYueh-Shun Li
Pass disabledTestPaths elements containing double colons (::) to --deselect instead of --ignore-glob.
2025-03-09python3Packages.pytestCheckHook: append disableTests flags after ↵Yueh-Shun Li
disabledTestPaths flags
2025-03-07buildPythonPackage: simplify check-related attribute inheritanceYueh-Shun Li
2025-03-07python3Packages.pytestCheckHook: add testsYueh-Shun Li
2025-03-07python3Packages.pytestCheckHook: fix disabledTestPaths glob matching assertionYueh-Shun Li
Errors in Bash's process substitution doesn't get propagated outside. Replace the process substitution with Python's `-` as /dev/stdin and Bash's heredoc stdin redirection.
2025-03-02buildPythonPackage: add and use lib inheritanceYueh-Shun Li
2025-03-02buildPythonPackage: sort lib inheritanceYueh-Shun Li
2025-03-02buildPythonPackage: remove obsolete lib inheritanceYueh-Shun Li
2025-03-02buildPythonPackage: format expressionYueh-Shun Li
2025-02-18python310/python311: fix failing tests with openssl >= 3.4Luka Blašković
2025-02-17Merge master into staging-nextnixpkgs-ci[bot]
2025-02-16python3{9,10}.doc: fix buildSandro Jäckel
2025-02-13python314: 3.14.0a4 -> 3.14.0a5Martin Weinelt
https://docs.python.org/3.14/whatsnew/changelog.html#python-3-14-0-alpha-5
2025-02-10treewide: replace substituteAll with replaceVarsWolfgang Walther
2025-02-09bash: Make interactive by default (#379368)K900
2025-02-08buildPython*: make name-related attributes overridable via overrideAttrs ↵Martin Weinelt
(#376714)
2025-02-08buildPython*: Enable direct attribute overriding via overrideAttrs (the ↵Martin Weinelt
staging ones) (#377057)
2025-02-08cpython: provide libuuid for the _uuid module (#377458)Martin Weinelt
* 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-uuid
2025-02-05bash: Make interactive the defaultSilvan Mosberger
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.
2025-02-04python312: 3.12.8 -> 3.12.9Martin Weinelt
https://docs.python.org/release/3.12.9/whatsnew/changelog.html
2025-02-04python313: 3.13.1 -> 3.13.2Martin Weinelt
https://docs.python.org/release/3.13.2/whatsnew/changelog.html
2025-02-04cpython: add isPy313, isPy314 helpersMartin Weinelt
2025-02-04buildPython*: always specify attributes catchConflicts and ↵Yueh-Shun Li
dontWrapPythonPrograms Always specify catchConflicts and dontWrapPythonPrograms. Make them overrideAttrs-overridable.
2025-02-04buildPython*: make name-relaed attributes overridable via overrideAttrsYueh-Shun Li
Make name, pname and version overridable via overrideAttrs for Python packgaes constructed with buildPython*.
2025-02-03Merge staging-next into stagingnixpkgs-ci[bot]
2025-02-03buildPython*: fix mismergeK900
2025-02-03Merge staging-next into stagingnixpkgs-ci[bot]