| 28 Aug 2025 |
Alyssa Ross | hmm, it would be nicer if we could fix the infinite recursion | 10:00:19 |
Grimmauld (any/all) | The inf rec is because availableOn somehow does weird output logic which then depends on stdenv? | 10:00:49 |
Grimmauld (any/all) | at least as far as i understand | 10:01:03 |
Alyssa Ross | I'm wondering if we can get away with just delaying the isClang check | 10:01:22 |
Alyssa Ross | what even is this clangFixup thing | 10:02:03 |
Grimmauld (any/all) | i mean, buildPackages does not need pam to build stuff. Pam is only ever required on a real system. So doing targetPlatform == hostPlatform checks might work | 10:02:27 |
Alyssa Ross | Does mean a lot of rebuilds in buildPackages though | 10:02:38 |
Grimmauld (any/all) | that, yes | 10:02:46 |
Alyssa Ross | Yeah I think this is fixable in the FreeBSD mkDerivation | 10:03:37 |
Grimmauld (any/all) | delaying the isClang check might work too, but that is too deep in the LLVM stack for me to properly understand what is going on there | 10:03:49 |
dramforever | i'm looking at that as well but yes i think we should not disable pam support in buildPackages | 10:04:21 |
Grimmauld (any/all) | i am all for it if it can be fixed in the freebsd mkderivation, but i don't know enough freebsd/stdenv wizardry to fix it there. I knew how to fix it in util-linux, but i won't make a claim about that being the best fix | 10:05:45 |
Alyssa Ross | Yep, I have a fix. | 10:06:11 |
dramforever | In reply to @grimmauld:grapevine.grimmauld.de i am all for it if it can be fixed in the freebsd mkderivation, but i don't know enough freebsd/stdenv wizardry to fix it there. I knew how to fix it in util-linux, but i won't make a claim about that being the best fix okay i would like to clarify that i am saying that making util-linux depend on targetPlatform is not acceptable. that would make anyone cross compiling to rebuild everything in buildPackages that depends on util-linux | 10:07:23 |
Grimmauld (any/all) | right. | 10:07:50 |
dramforever | and random stuff will depend on util-linux | 10:07:55 |
Grimmauld (any/all) | this was llvm -> libxml2 -> python3 -> libuuid (which is util-linuxMinimal) | 10:08:18 |
dramforever | my personal opinion: hypothetically if a long time to fix freebsd cross, i would rather leave freebsd broken than make util-linux depend on targetPlatform | 10:09:00 |
dramforever | * my personal opinion: hypothetically if it took a long time to fix freebsd cross, i would rather leave freebsd broken than make util-linux depend on targetPlatform | 10:09:14 |
Grimmauld (any/all) | though i am also confused, because util-linuxMinimal has pamSupport = false;, it shouldn't even call that stuff in libuuid... | 10:12:08 |
Grimmauld (any/all) | of course the lastlog isn't dependent on pamSupport rn, i meant even with the following patch it still goes to inf-rec:
diff --git a/pkgs/by-name/ut/util-linux/package.nix b/pkgs/by-name/ut/util-linux/package.nix
index 1f2a43e18275..55b06ba019f4 100644
--- a/pkgs/by-name/ut/util-linux/package.nix
+++ b/pkgs/by-name/ut/util-linux/package.nix
@@ -29,7 +29,7 @@
writeSupport ? stdenv.hostPlatform.isLinux,
shadowSupport ? stdenv.hostPlatform.isLinux,
# Doesn't build on Darwin, only makes sense on systems which have pam
- withLastlog ? !stdenv.hostPlatform.isDarwin && lib.meta.availableOn stdenv.hostPlatform pam,
+ withLastlog ? !stdenv.hostPlatform.isDarwin && pamSupport,
gitUpdater,
nixosTests,
}:
| 10:13:30 |
Alyssa Ross | https://github.com/NixOS/nixpkgs/pull/437867 | 10:14:02 |
Artturin | In reply to @dramforever:matrix.org okay i would like to clarify that i am saying that making util-linux depend on targetPlatform is not acceptable. that would make anyone cross compiling to rebuild everything in buildPackages that depends on util-linux So staging? Everything in buildPackages has to be rebuild anyways since it can't be shared with native pkgs (not saying the change should be done but rebuilding isn't an issue) | 10:14:47 |
Grimmauld (any/all) | formatter complains, but other than that this looks like the better fix. No buildPackages/targetPlatform hacks, which is nice. Though this is also very far outside my expertise. | 10:22:10 |
dramforever |
Everything in buildPackages has to be rebuild anyways since it can't be shared with native pkgs
they are shared
nix-repl> pkgsCross.riscv64.buildPackages.llvm
«derivation /nix/store/1fflvvc3y3qv9pdjxf2j50wkxp8g4f8y-llvm-19.1.7.drv»
nix-repl> llvm
«derivation /nix/store/1fflvvc3y3qv9pdjxf2j50wkxp8g4f8y-llvm-19.1.7.drv»
| 11:08:25 |
dramforever | i suppose this is a bad example because llvm depends on util-linuxMinimal which doesn't depend on pam | 11:11:39 |
Artturin | In reply to @dramforever:matrix.org
Everything in buildPackages has to be rebuild anyways since it can't be shared with native pkgs
they are shared
nix-repl> pkgsCross.riscv64.buildPackages.llvm
«derivation /nix/store/1fflvvc3y3qv9pdjxf2j50wkxp8g4f8y-llvm-19.1.7.drv»
nix-repl> llvm
«derivation /nix/store/1fflvvc3y3qv9pdjxf2j50wkxp8g4f8y-llvm-19.1.7.drv»
Oh, I guess I've always missed that somehow and thought that we would reduce the amount of rebuilds of we used depsBuildBuild for target independent packages | 11:14:01 |
Artturin | * Oh, I guess I've always missed that somehow and thought that we would reduce the amount of rebuilds if we used depsBuildBuild for target independent packages | 11:14:13 |
Artturin | :p | 11:14:17 |
dramforever | but as a general rule this is why targetPlatform is bad | 11:14:17 |