Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add LLVM to Flake #12229

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

RossComputerGuy
Copy link
Member

Motivation

Fixes #12228

Context

Builds Nix with pkgsLLVM, this allows for using Clang + libcxx and all dependencies needed for Nix are dependent on LLVM this way. Adding this in can help prevent regressions of Nix under pkgsLLVM.


Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

@github-actions github-actions bot added new-cli Relating to the "nix" command fetching Networking with the outside (non-Nix) world, input locking labels Jan 11, 2025
@RossComputerGuy RossComputerGuy mentioned this pull request Jan 11, 2025
2 tasks
Copy link
Member

@roberth roberth left a comment

Choose a reason for hiding this comment

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

This will expose us to LLVM-Linux regressions in Nixpkgs when updating, but we could try with your help, which I see you're already providing in Nixpkgs.
Would it be ok to list you as a co-maintainer for this attribute?
(I don't think we're doing that kind of thing yet - could be a comment or perhaps also something in meta.maintainers, although I suspect that attr doesn't get much attention here)

@@ -99,7 +99,7 @@ mkMesonExecutable (finalAttrs: {
mesonFlags = [
];

env = lib.optionalAttrs (stdenv.isLinux && !(stdenv.hostPlatform.isStatic && stdenv.system == "aarch64-linux")) {
env = lib.optionalAttrs (stdenv.isLinux && !(stdenv.hostPlatform.isStatic && stdenv.system == "aarch64-linux") && !(stdenv.hostPlatform.useLLVM)) {
Copy link
Member

Choose a reason for hiding this comment

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

Looks like these lines can all be moved to mesonBuildLayer

@@ -282,6 +283,7 @@
# These attributes go right into `packages.<system>`.
"${pkgName}" = nixpkgsFor.${system}.native.nixComponents.${pkgName};
"${pkgName}-static" = nixpkgsFor.${system}.static.nixComponents.${pkgName};
"${pkgName}-llvm" = nixpkgsFor.${system}.llvm.nixComponents.${pkgName};
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
"${pkgName}-llvm" = nixpkgsFor.${system}.llvm.nixComponents.${pkgName};
/** Nix and dependencies built with LLVM. */
"${pkgName}-llvm" = nixpkgsFor.${system}.llvm.nixComponents.${pkgName};

@RossComputerGuy
Copy link
Member Author

This will expose us to LLVM-Linux regressions in Nixpkgs when updating, but we could try with your help

Yeah, that's why I'm trying to work on this. I'm wanting a full LLVM NixOS system and having Nix working properly on that would be ideal.

Would it be ok to list you as a co-maintainer for this attribute?

Sure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fetching Networking with the outside (non-Nix) world, input locking new-cli Relating to the "nix" command
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add LLVM to Flake
2 participants