Skip to content

lixPackageSets.{lix_2_93,git}: init#398141

Merged
yuyuyureka merged 4 commits intoNixOS:masterfrom
alois31:push-qwwlwyylnqpt
May 16, 2025
Merged

lixPackageSets.{lix_2_93,git}: init#398141
yuyuyureka merged 4 commits intoNixOS:masterfrom
alois31:push-qwwlwyylnqpt

Conversation

@alois31
Copy link
Contributor

@alois31 alois31 commented Apr 12, 2025

Things done

  • Built on platform(s)
    • x86_64-linux
    • 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/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 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: teams Relating to team creation, updates, other management actions 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Apr 12, 2025
@alois31
Copy link
Contributor Author

alois31 commented Apr 12, 2025

The checks performed are as follows:

  • built on x86_64-linux up to: lixPackageSets.git.lix.passthru.tests, lixPackageSets.git.nix-fast-build, pkgsStatic.lixPackageSets.git.lix pkgsCross.aarch64-multiplatform.lixPackageSets.git.nix-fast-build
  • evaluated my entire configuration with it

Updates roughly once a week with the same testing are planned. Please tell me if I missed some things I should test and I can add it to the list. (Unfortunately anything Darwin is not possible for me since I do not have appropriate hardware.)

@alois31 alois31 marked this pull request as ready for review April 12, 2025 13:51
@Kranzes Kranzes requested review from 9999years and lf- and removed request for lf- April 18, 2025 11:46
@alois31 alois31 force-pushed the push-qwwlwyylnqpt branch from e2d8e3e to b5c0cb6 Compare April 26, 2025 14:55
Copy link
Member

@lf- lf- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall lgtm, I've pointed to a few tiny nits but we can get this going pretty soon!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, can you remind me why we depend on yq? i actually don't remember how that got in there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dependency was introduced in https://gerrit.lix.systems/c/lix/+/2190 for some parser tests so that the output is more readable.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah that's a little bit silly of us since we probably should just use PyYAML instead which we already depend on but oh well.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm, i suspect we will need a lix branded capnproto package really soon if not now, due to patches we're doing to it. need to check details though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The library is already used by Lix itself. This only adds the dependency to nix-eval-jobs which started depending on canproto headers due to the async changes. If a special capnproto build is needed that could be handled similar to boehmgc, aws-sdk-cpp and editline so that it is picked up by both.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah okay! that should be fine then. we could potentially address this need via propagated build inputs as well; the only reason i was a little shaky on wanting to do it as propagated is that it would also affect derivations using lix only for the cli.

either approach is fine.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, I think it might even have been me who suggested making it propagated. I decided to add it to nix-eval-jobs for now at least since that's also done in the vendored packaging.

@alois31 alois31 force-pushed the push-qwwlwyylnqpt branch from b5c0cb6 to 016506a Compare April 26, 2025 17:45
@github-actions github-actions bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. and removed 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Apr 26, 2025
Copy link
Member

@lf- lf- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me, and derisks 2.93 packaging issues. wins all around.

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one person. label Apr 26, 2025
@alois31 alois31 force-pushed the push-qwwlwyylnqpt branch 2 times, most recently from b24672a to ca5fd40 Compare May 7, 2025 04:04
@alois31 alois31 force-pushed the push-qwwlwyylnqpt branch from ca5fd40 to c889250 Compare May 10, 2025 09:34
@github-actions github-actions bot added the 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS label May 10, 2025
@alois31 alois31 changed the title lixPackageSets.git: init at 2.93.0-pre-20250410_81d476984901 lixPackageSets.{lix_2_93,git}: init May 10, 2025
@github-actions github-actions bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. and removed 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. labels May 10, 2025
@nix-owners nix-owners bot requested review from Qyriad and RaitoBezarius May 10, 2025 09:42
Copy link
Member

@getchoo getchoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be awesome to get this merged for 25.05. Maybe add a release note for it too?

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 398141


x86_64-linux

✅ 30 packages built:
  • lixPackageSets.git.aws-sdk-cpp (lixPackageSets.lix_2_93.aws-sdk-cpp)
  • lixPackageSets.git.aws-sdk-cpp.dev (lixPackageSets.lix_2_93.aws-sdk-cpp.dev)
  • lixPackageSets.git.boehmgc (lixPackageSets.lix_2_93.boehmgc)
  • lixPackageSets.git.boehmgc.debug (lixPackageSets.lix_2_93.boehmgc.debug)
  • lixPackageSets.git.boehmgc.dev (lixPackageSets.lix_2_93.boehmgc.dev)
  • lixPackageSets.git.boehmgc.doc (lixPackageSets.lix_2_93.boehmgc.doc)
  • lixPackageSets.git.editline (lixPackageSets.lix_2_93.editline)
  • lixPackageSets.git.editline.dev (lixPackageSets.lix_2_93.editline.dev)
  • lixPackageSets.git.editline.doc (lixPackageSets.lix_2_93.editline.doc)
  • lixPackageSets.git.editline.man (lixPackageSets.lix_2_93.editline.man)
  • lixPackageSets.git.lix
  • lixPackageSets.git.lix.debug
  • lixPackageSets.git.lix.dev
  • lixPackageSets.git.lix.devdoc
  • lixPackageSets.git.lix.doc
  • lixPackageSets.git.lix.man
  • lixPackageSets.git.nix-direnv
  • lixPackageSets.git.nix-eval-jobs
  • lixPackageSets.git.nix-fast-build
  • lixPackageSets.git.nix-fast-build.dist
  • lixPackageSets.latest.lix (lixPackageSets.lix_2_93.lix)
  • lixPackageSets.latest.lix.debug (lixPackageSets.lix_2_93.lix.debug)
  • lixPackageSets.latest.lix.dev (lixPackageSets.lix_2_93.lix.dev)
  • lixPackageSets.latest.lix.devdoc (lixPackageSets.lix_2_93.lix.devdoc)
  • lixPackageSets.latest.lix.doc (lixPackageSets.lix_2_93.lix.doc)
  • lixPackageSets.latest.lix.man (lixPackageSets.lix_2_93.lix.man)
  • lixPackageSets.latest.nix-direnv (lixPackageSets.lix_2_93.nix-direnv)
  • lixPackageSets.latest.nix-eval-jobs (lixPackageSets.lix_2_93.nix-eval-jobs)
  • lixPackageSets.latest.nix-fast-build (lixPackageSets.lix_2_93.nix-fast-build)
  • lixPackageSets.latest.nix-fast-build.dist (lixPackageSets.lix_2_93.nix-fast-build.dist)

Copy link
Member

@getchoo getchoo May 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both aarch64/x86_64-darwin are failing here and in the git package, but only the former is a regression from 2.92

It seems this is a repeat of #353576, as applying this diff fixed it:

diff --git a/pkgs/tools/package-management/lix/common-lix.nix b/pkgs/tools/package-management/lix/common-lix.nix
index 13f6d88828e6..635f52082140 100644
--- a/pkgs/tools/package-management/lix/common-lix.nix
+++ b/pkgs/tools/package-management/lix/common-lix.nix
@@ -254,7 +254,8 @@ stdenv.mkDerivation (finalAttrs: {
       # Enable LTO, since it improves eval performance a fair amount
       # LTO is disabled on:
       # - static builds (strange linkage errors)
-      (lib.mesonBool "b_lto" (!stdenv.hostPlatform.isStatic && (isLLVMOnly || stdenv.cc.isGNU)))
+      # - darwin builds (install test failures)
+      (lib.mesonBool "b_lto" (!stdenv.hostPlatform.isStatic && !stdenv.hostPlatform.isDarwin && (isLLVMOnly || stdenv.cc.isGNU)))
       (lib.mesonEnable "gc" true)
       (lib.mesonBool "enable-tests" true)
       (lib.mesonBool "enable-docs" enableDocumentation)

It might be best to keep this, as I'm unsure if it's UB from the test's code (from a quick look this seems unlikely) or the LTO-ized Lix binary. The only side effect it would have is retroactively disabling LTO on Lix 2.92 for Darwin (as that's the only place it's enabled currently) where tests do pass; though this might still be an issue for 2.92 and it just isn't being caught

Edit: reported upstream in https://git.lix.systems/lix-project/lix/issues/832

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we set this as stable too? AFAIK there are no upstream or third party blockers like 2.92, and @RaitoBezarius signaled towards skipping over that release anyways here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do think we have one major regression, which is the SSH wrapper stuff, atm, that I will be trying to fix in https://gerrit.lix.systems/c/lix/+/3159 and backport it. cc @lf-

@yuyuyureka
Copy link
Contributor

Can we go ahead with bumping lixVersions.latest to this while keeping lixVersions.stable at 2.91? Then we can sort out the remaining issues asynchronously.

@RaitoBezarius
Copy link
Member

Can we go ahead with bumping lixVersions.latest to this while keeping lixVersions.stable at 2.91? Then we can sort out the remaining issues asynchronously.

In agreement with this.

@yuyuyureka yuyuyureka merged commit 62536dc into NixOS:master May 16, 2025
17 of 21 checks passed
@alois31 alois31 deleted the push-qwwlwyylnqpt branch August 2, 2025 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: teams Relating to team creation, updates, other management actions 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants