Skip to content

buildPython*: migrate from buildPython* { inherit stdenv; ...; } to (buildPython*.override { inherit stdenv; }) { ... }#271947

Closed
ShamrockLee wants to merge 12 commits intoNixOS:masterfrom
ShamrockLee:python-function-override-migrate
Closed

buildPython*: migrate from buildPython* { inherit stdenv; ...; } to (buildPython*.override { inherit stdenv; }) { ... }#271947
ShamrockLee wants to merge 12 commits intoNixOS:masterfrom
ShamrockLee:python-function-override-migrate

Conversation

@ShamrockLee
Copy link
Contributor

@ShamrockLee ShamrockLee commented Dec 3, 2023

Description of changes

The buildPython* { inherit stdenv; ...; } will be impossible/unfeasible when taking fixed-point arguments (buildPython* (finalAttrs: { ...; })).

This PR does tree-wide migration to the (buildPython*.override { inherit stdenv; ...; }) { ... } style of customize stdenv specification, and print out a warning when stdenv = ; is passed directly into buildPython*.

Depends on #271762, will be shorter once that PR gets merged.

Things done

  • Built on platform(s)
    • x86_64-linux (No changed path aside from nixos-install-tools)
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: documentation This PR adds or changes documentation 8.has: changelog This PR adds or changes release notes labels Dec 3, 2023
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Dec 4, 2023
@ShamrockLee ShamrockLee force-pushed the python-function-override-migrate branch 4 times, most recently from b853bd0 to c848291 Compare December 6, 2023 13:28
@ofborg ofborg bot requested a review from abbradar December 6, 2023 14:22
@ofborg ofborg bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. labels Dec 6, 2023
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 20, 2024
@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jul 4, 2024
Fix `makeOverridablePythonPackage` in python-package-base.nix
and unshadow `buildPython*.override`.

This makes it possible to override the dependencies of buildPython*.
E.g., `buildPythonPackage.override { unzip = unzip-custom; }`
returns a derived version of `buildPythonPackage` with
the `unzip` package overridden with `unzip-custom`.
Guide users to use `buildPython*.override` to customize stdenv
instead of `buildPython*`
with a warning message.

Users can remedy the warning
by using an overridden versi,on of `buildPython*`.
@ShamrockLee ShamrockLee force-pushed the python-function-override-migrate branch from c848291 to 57edbc9 Compare January 23, 2025 08:25
@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 23, 2025
@github-actions github-actions bot removed 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog This PR adds or changes release notes labels Jan 23, 2025
@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Jan 23, 2025
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Apr 2, 2025
@nixpkgs-ci nixpkgs-ci bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jul 23, 2025
@ShamrockLee
Copy link
Contributor Author

Surpassed by PR #476401

@ShamrockLee ShamrockLee closed this Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: python Python is a high-level, general-purpose programming language. 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants