Skip to content

stdenv: cleanup after bump of minver#433055

Merged
philiptaron merged 1 commit intoNixOS:stagingfrom
wolfgangwalther:minver-cleanups
Aug 12, 2025
Merged

stdenv: cleanup after bump of minver#433055
philiptaron merged 1 commit intoNixOS:stagingfrom
wolfgangwalther:minver-cleanups

Conversation

@wolfgangwalther
Copy link
Contributor

@wolfgangwalther wolfgangwalther commented Aug 12, 2025

In #428076, we raised lib/minver.nix to 2.18. This allows some cleanup around stdenv's structuredAttrs handling.

More discussion about the attrs.sh change in #357053.

Things done


Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Aug 12, 2025
@nixpkgs-ci nixpkgs-ci bot added 6.topic: stdenv Standard environment 6.topic: testing Tooling for automated testing of packages and modules 6.topic: lib The Nixpkgs function library labels Aug 12, 2025
@flokli

This comment was marked as resolved.

@wolfgangwalther wolfgangwalther changed the base branch from master to staging August 12, 2025 10:33
@nixpkgs-ci nixpkgs-ci bot closed this Aug 12, 2025
@nixpkgs-ci nixpkgs-ci bot reopened this Aug 12, 2025
@github-project-automation github-project-automation bot moved this to Done in Stdenv Aug 12, 2025
This was eventually fixed in Nix 2.16+. More discussion in NixOS#357053.
@nix-owners

This comment was marked as resolved.

@wolfgangwalther wolfgangwalther moved this from Done to Todo in Stdenv Aug 12, 2025
@wolfgangwalther

This comment was marked as outdated.

@philiptaron

This comment was marked as resolved.

@wolfgangwalther wolfgangwalther changed the title lib,stdenv: cleanup after bump of minver stdenv: cleanup after bump of minver Aug 12, 2025
@wolfgangwalther
Copy link
Contributor Author

I'd like to split 899c40e out into its own PR to staging; the rest, unless I misread them, can target master.

Did so in #433101.

@nixpkgs-ci nixpkgs-ci bot removed the 6.topic: lib The Nixpkgs function library label Aug 12, 2025
@philiptaron
Copy link
Contributor

I'll get a build of the stdenv tests going.

@philiptaron
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 433055 --package bash.tests --package tests.stdenv
Commit: 899c40e6f8ed0baee363a7a5d3be39241a40a1b7


x86_64-linux

✅ 86 packages built:
  • bash.tests.static
  • bash.tests.static.debug (bash.tests.static.debug.debug, bash.tests.static.debug.dev, bash.tests.static.debug.doc, bash.tests.static.debug.info, bash.tests.static.debug.man)
  • bash.tests.static.dev (bash.tests.static.dev.debug, bash.tests.static.dev.dev, bash.tests.static.dev.doc, bash.tests.static.dev.info, bash.tests.static.dev.man)
  • bash.tests.static.doc (bash.tests.static.doc.debug, bash.tests.static.doc.dev, bash.tests.static.doc.doc, bash.tests.static.doc.info, bash.tests.static.doc.man)
  • bash.tests.static.info (bash.tests.static.info.debug, bash.tests.static.info.dev, bash.tests.static.info.doc, bash.tests.static.info.info, bash.tests.static.info.man)
  • bash.tests.static.man (bash.tests.static.man.debug, bash.tests.static.man.dev, bash.tests.static.man.doc, bash.tests.static.man.info, bash.tests.static.man.man)
  • tests.stdenv.ensure-no-execve-in-setup-sh
  • tests.stdenv.hooks.compress-man-pages
  • tests.stdenv.hooks.make-symlinks-relative
  • tests.stdenv.hooks.make-symlinks-relative.man (tests.stdenv.hooks.make-symlinks-relative.man.man)
  • tests.stdenv.hooks.move-docs
  • tests.stdenv.hooks.move-lib64
  • tests.stdenv.hooks.move-sbin
  • tests.stdenv.hooks.no-broken-symlinks.fail-broken-symlinks-absolute
  • tests.stdenv.hooks.no-broken-symlinks.fail-broken-symlinks-relative
  • tests.stdenv.hooks.no-broken-symlinks.fail-dangling-symlink-absolute
  • tests.stdenv.hooks.no-broken-symlinks.fail-dangling-symlink-relative
  • tests.stdenv.hooks.no-broken-symlinks.fail-reflexive-symlink-absolute
  • tests.stdenv.hooks.no-broken-symlinks.fail-reflexive-symlink-relative
  • tests.stdenv.hooks.no-broken-symlinks.pass-all-broken-symlinks-absolute-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-all-broken-symlinks-relative-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-broken-symlinks-absolute-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-broken-symlinks-relative-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-dangling-symlink-absolute-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-dangling-symlink-relative-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-reflexive-symlink-absolute-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-reflexive-symlink-relative-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-unreadable-symlink-absolute-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-unreadable-symlink-relative-allowed
  • tests.stdenv.hooks.no-broken-symlinks.pass-valid-symlink-absolute
  • tests.stdenv.hooks.no-broken-symlinks.pass-valid-symlink-outside-nix-store-absolute
  • tests.stdenv.hooks.no-broken-symlinks.pass-valid-symlink-outside-nix-store-relative
  • tests.stdenv.hooks.no-broken-symlinks.pass-valid-symlink-relative
  • tests.stdenv.hooks.patch-shebangs
  • tests.stdenv.hooks.prune-libtool-files
  • tests.stdenv.hooks.reproducible-builds
  • tests.stdenv.hooks.set-source-date-epoch-to-latest
  • tests.stdenv.outputs-no-out
  • tests.stdenv.structuredAttrsByDefault.hooks.compress-man-pages
  • tests.stdenv.structuredAttrsByDefault.hooks.make-symlinks-relative
  • tests.stdenv.structuredAttrsByDefault.hooks.make-symlinks-relative.man (tests.stdenv.structuredAttrsByDefault.hooks.make-symlinks-relative.man.man)
  • tests.stdenv.structuredAttrsByDefault.hooks.move-docs
  • tests.stdenv.structuredAttrsByDefault.hooks.move-lib64
  • tests.stdenv.structuredAttrsByDefault.hooks.move-sbin
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.fail-broken-symlinks-absolute
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.fail-broken-symlinks-relative
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.fail-dangling-symlink-absolute
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.fail-dangling-symlink-relative
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.fail-reflexive-symlink-absolute
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.fail-reflexive-symlink-relative
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-all-broken-symlinks-absolute-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-all-broken-symlinks-relative-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-broken-symlinks-absolute-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-broken-symlinks-relative-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-dangling-symlink-absolute-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-dangling-symlink-relative-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-reflexive-symlink-absolute-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-reflexive-symlink-relative-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-unreadable-symlink-absolute-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-unreadable-symlink-relative-allowed
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-valid-symlink-absolute
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-valid-symlink-outside-nix-store-absolute
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-valid-symlink-outside-nix-store-relative
  • tests.stdenv.structuredAttrsByDefault.hooks.no-broken-symlinks.pass-valid-symlink-relative
  • tests.stdenv.structuredAttrsByDefault.hooks.patch-shebangs
  • tests.stdenv.structuredAttrsByDefault.hooks.prune-libtool-files
  • tests.stdenv.structuredAttrsByDefault.hooks.reproducible-builds
  • tests.stdenv.structuredAttrsByDefault.hooks.set-source-date-epoch-to-latest
  • tests.stdenv.structuredAttrsByDefault.test-cc-wrapper-substitutions
  • tests.stdenv.structuredAttrsByDefault.test-cc-wrapper-substitutions.info (tests.stdenv.structuredAttrsByDefault.test-cc-wrapper-substitutions.info.info, tests.stdenv.structuredAttrsByDefault.test-cc-wrapper-substitutions.info.man)
  • tests.stdenv.structuredAttrsByDefault.test-cc-wrapper-substitutions.man (tests.stdenv.structuredAttrsByDefault.test-cc-wrapper-substitutions.man.info, tests.stdenv.structuredAttrsByDefault.test-cc-wrapper-substitutions.man.man)
  • tests.stdenv.structuredAttrsByDefault.test-concat-strings-sep
  • tests.stdenv.structuredAttrsByDefault.test-concat-to
  • tests.stdenv.structuredAttrsByDefault.test-golden-example-structuredAttrs
  • tests.stdenv.structuredAttrsByDefault.test-prepend-append-to-var
  • tests.stdenv.structuredAttrsByDefault.test-structured-env-attrset
  • tests.stdenv.test-cc-wrapper-substitutions
  • tests.stdenv.test-cc-wrapper-substitutions.info (tests.stdenv.test-cc-wrapper-substitutions.info.info, tests.stdenv.test-cc-wrapper-substitutions.info.man)
  • tests.stdenv.test-cc-wrapper-substitutions.man (tests.stdenv.test-cc-wrapper-substitutions.man.info, tests.stdenv.test-cc-wrapper-substitutions.man.man)
  • tests.stdenv.test-concat-strings-sep
  • tests.stdenv.test-concat-to
  • tests.stdenv.test-env-attrset
  • tests.stdenv.test-inputDerivation
  • tests.stdenv.test-inputDerivation-fixed-output
  • tests.stdenv.test-prepend-append-to-var
  • tests.stdenv.test-structured-env-attrset

@github-project-automation github-project-automation bot moved this from Todo to In Progress in Stdenv Aug 12, 2025
@philiptaron philiptaron merged commit 6ed3b21 into NixOS:staging Aug 12, 2025
26 of 28 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Stdenv Aug 12, 2025
@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Aug 12, 2025
sternenseemann added a commit to sternenseemann/nix that referenced this pull request Aug 14, 2025
See NixOS/nixpkgs@fa0cba1.

We'll see how dependent nixpkgs will grow on newer and features and how
feasible it is to continue using Nix 2.3.

The compat code that will be immediately removed looks like it doesn't
actually affect Nix 2.3.18 which already had some fixes backported:

- NixOS/nixpkgs#433101. Some features of fileset
  won't work anymore, but fileset is disallowed in nixpkgs anyways.
  The documentation workaround only affects Nix < 2.3.5.
- NixOS/nixpkgs#433055. The fix for NIX_ATTRS_*
  has been backported to Nix 2.3.18.
@wolfgangwalther wolfgangwalther deleted the minver-cleanups branch August 19, 2025 15:22
sternenseemann added a commit to sternenseemann/nix that referenced this pull request Sep 1, 2025
See NixOS/nixpkgs@fa0cba1.

We'll see how dependent nixpkgs will grow on newer and features and how
feasible it is to continue using Nix 2.3.

The compat code that will be immediately removed looks like it doesn't
actually affect Nix 2.3.18 which already had some fixes backported:

- NixOS/nixpkgs#433101. Some features of fileset
  won't work anymore, but fileset is disallowed in nixpkgs anyways.
  The documentation workaround only affects Nix < 2.3.5.
- NixOS/nixpkgs#433055. The fix for NIX_ATTRS_*
  has been backported to Nix 2.3.18.
tazjin pushed a commit to tvlfyi/nix that referenced this pull request Sep 2, 2025
See NixOS/nixpkgs@fa0cba1.

We'll see how dependent nixpkgs will grow on newer and features and how
feasible it is to continue using Nix 2.3.

The compat code that will be immediately removed looks like it doesn't
actually affect Nix 2.3.18 which already had some fixes backported:

- NixOS/nixpkgs#433101. Some features of fileset
  won't work anymore, but fileset is disallowed in nixpkgs anyways.
  The documentation workaround only affects Nix < 2.3.5.
- NixOS/nixpkgs#433055. The fix for NIX_ATTRS_*
  has been backported to Nix 2.3.18.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: stdenv Standard environment 6.topic: testing Tooling for automated testing of packages and modules 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants