| 24 Aug 2025 |
Artturin | Then you can use mkScopeWithSplicing because the set will be available top-level | 12:24:03 |
Artturin | * Then you can use makeScopeWithSplicing' because the set will be available top-level | 12:24:50 |
Artturin | You don't necessarily need a scope | 12:28:13 |
Artturin | Use overlays and callPackage to get deps, then you don't have to do anything non-cross specific unless the package itself needs something | 12:28:39 |
Artturin | * Use overlays and callPackage to get deps, then you don't have to do anything cross specific unless the package itself needs something | 12:28:55 |
André Lima | That's very helpful, thanks | 12:33:44 |
Artturin | * Define your packages in an overlay and use callPackage in the overlay to get deps, then you don't have to do anything cross specific unless the package itself needs something | 12:34:05 |
emily | I think you can use it without an overlay if you use splice.nix right? | 12:56:45 |
Artturin | splice.nix doesn't help with that | 12:59:48 |
Artturin | You can get otherSplices without an overlay if you use all the different callPackages yourself | 13:00:15 |
emily | it provides a generateSplicesForMkScope you can use with makeScopeWithSplicing' right? but I guess the problem is mixing in stuff from the main package set… | 13:00:19 |
Artturin | generateSplicesForMkScope gets from pkgsBuildBuild and so on | 13:00:39 |
Artturin | selfBuildBuild = lib.attrByPath (split "pkgsBuildBuild") bad pkgs;
selfBuildHost = lib.attrByPath (split "pkgsBuildHost") bad pkgs;
selfBuildTarget = lib.attrByPath (split "pkgsBuildTarget") bad pkgs;
selfHostHost = lib.attrByPath (split "pkgsHostHost") bad pkgs;
selfHostTarget = lib.attrByPath (split "pkgsHostTarget") bad pkgs;
selfTargetTarget = lib.attrByPath (split "pkgsTargetTarget") { } pkgs;
| 13:00:48 |
emily | I really wish we could have generic builder functions for compiler scopes that can be used out-of-tree to produce correct cross results without an overlay | 13:00:50 |
Artturin | Used like this otherSplices = generateSplicesForMkScope "xfce"; | 13:01:58 |
Artturin | * For example, the xfce set uses it like this otherSplices = generateSplicesForMkScope "xfce"; | 13:04:10 |
Sergei Zimmerman (xokdvium) | In reply to @emilazy:matrix.org I really wish we could have generic builder functions for compiler scopes that can be used out-of-tree to produce correct cross results without an overlay I think there are sort of? https://github.com/NixOS/nixpkgs/pull/426889
CppNix flake does cross without overlays now. | 14:05:24 |
Artturin | https://github.com/NixOS/nixpkgs/pull/426984
https://github.com/NixOS/nixpkgs/pull/267792 | 14:08:50 |
emily | you can certainly just roll your own yeah, but I'm talking about things like mkLLVMPackages | 14:12:37 |
emily | where it would be nice to offer a clean interface to instantiate your own LLVM version that can do cross, outside of Nixpkgs, without an overlay | 14:12:50 |
emily | interesting thanks | 14:13:07 |
emily | to be clear I wouldn't even be that upset if it doesn't work with splicing :P | 14:13:35 |
emily | just so long as you can actually reasonably access it across platforms | 14:13:49 |
tpw_rules | i'm getting fc-cache> /nix/store/qil3nqnisxb8kmpjfp3i50wgfgdbhh76-qemu-user-10.0.3/bin/qemu-aarch64: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory when trying to cross build my ISO now. looks like hostPlatform.emulator might be broken somehow? https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/fontconfig/make-fonts-cache.nix | 15:49:55 |
tpw_rules | now as in after yesterday's staging merge | 15:50:06 |
tpw_rules | (it could also be that suddenly my iso needs fontconfig which is broken, it really shouldn't, but it's broken regardless) | 15:50:25 |
Artturin | Same issue here | 15:51:37 |
tpw_rules | okay so maybe it's just my deps changed and that's been broken for a while | 15:52:54 |
Grimmauld (any/all) | no, i think i did my build on staging-next that time | 15:53:15 |
Grimmauld (any/all) | cross doesn't get much caching, so might as well build against staging-next | 15:53:35 |