| 29 Jul 2025 |
emily | I'll leave what I have up since it's an improvement over HEAD, but it seems like it would be good to minimize the drift between those two to avoid redundant work. | 20:16:09 |
Marie | hi, I do a applyPatches thing to apply PR's to my nixpkgs and I've been getting really annoyed that lix copies nixpkgs into the store on every invocation, even though it is already in the store.
From googling around this seems to be a known issue. If I call my patched thing "source" the problem goes away.
Does anyone know if there is a good reason to only allow "source" here: https://git.lix.systems/lix-project/lix/src/commit/93acdd40f6c3eab1a25ea03d7a160433ed551677/lix/libfetchers/path.cc#L138 | 21:57:17 |
Marie | Seems to work fine when I remove the restriction, but I don't know much about the codebase, so no idea if this could break something | 22:11:36 |
jade_ | i think there is an issue about this somewhere | 23:56:34 |
jade_ | i am not sure lol | 23:56:40 |
jade_ | i think you should just change your derivation to be named "source" tbh | 23:56:58 |
jade_ | iirc if you put an input-addressed path into the path:... flake fetcher it throws an assert in lix internals. flakes, man. | 23:57:27 |
| 30 Jul 2025 |
jade_ | * i think there is an issue about this somewhere because i filed it in cppnix 5 years ago | 00:16:00 |
jade_ | * i think there is an issue about this somewhere because i filed it in cppnix nearly 5 years ago | 00:16:06 |
jade_ | * i think there is an issue about this somewhere because i filed it in cppnix nearly 5 years ago and we probably imported it | 00:16:12 |
llakala | In reply to @jade_:matrix.org was i working on a new one? i don't remember having done so you mentioned wanting to do it in the "You don't have to use Nix to manage your dotfiles" blogpost | 10:53:43 |
llakala |  Download Screenshot_2025-07-30-06-54-19-29_3aea4af51f236e4932235fdada7d1643.jpg | 10:54:25 |
WeetHet | auto prefix = useChroot ? chrootRootDir : tmpDir; is incorrect on macOS | 15:50:17 |
WeetHet | This is correct however:
#if __linux__
/* If we are using no sandboxing, we still need to use the physical prefix. */
useChroot ? logicalTargetPath : prefix + logicalTargetPath;
#else
prefix + logicalTargetPath;
#endif
| 15:50:51 |
WeetHet | I think this patch works for me:
diff --git a/lix/libstore/build/local-derivation-goal.cc b/lix/libstore/build/local-derivation-goal.cc
index e0e14b09f..33f46dc93 100644
--- a/lix/libstore/build/local-derivation-goal.cc
+++ b/lix/libstore/build/local-derivation-goal.cc
@@ -918,7 +918,11 @@ void LocalDerivationGoal::setupConfiguredCertificateAuthority()
{
if (settings.caFile != "") {
if (pathAccessible(settings.caFile)) {
+#if __linux__
auto prefix = useChroot ? chrootRootDir : tmpDir;
+#else
+ auto prefix = tmpDir;
+#endif
debug(
"rendering visible configured CA '%s' in the builder (prefix directory: '%s')",
settings.caFile,
@@ -1249,8 +1253,6 @@ void LocalDerivationGoal::runChild()
"non-functional."
);
}
-
- setupConfiguredCertificateAuthority();
}
for (auto & i : ss) pathsInChroot.emplace(i, i);
@@ -1406,11 +1408,8 @@ void LocalDerivationGoal::runChild()
}
#endif
- if (!useChroot) {
- /* When chroot is not used, FODs still requires a CA to be available as well. */
- if (!derivationType->isSandboxed()) {
- setupConfiguredCertificateAuthority();
- }
+ if (!derivationType->isSandboxed()) {
+ setupConfiguredCertificateAuthority();
}
if (chdir(tmpDirInSandbox.c_str()) == -1)
| 15:51:36 |
WeetHet | chrootRootDir is "" on macOS even with sandbox enabled | 15:52:19 |
raitobezarius (DECT: 7248) | can you submit this? | 15:53:40 |
WeetHet | My laptop is dead and will be for the next couple hours but after that sure | 16:05:46 |
WeetHet | You can also beat me to it and submit it yourself | 16:05:57 |
WeetHet | I don't care about attribution | 16:06:20 |
emily | what am I holding wrong that just setup fails with lix/lix-doc/meson.build:1:7: ERROR: Subproject exists but has no Cargo.toml file. | 16:52:06 |
emily | (yes I have been doing non-incremental builds all this time) | 16:52:44 |
jade_ | oh it's related yes. one of the things i want to know is "how long did this eval spend copying to the store and why/where" | 17:46:55 |
jade_ | i have no idea. is this some gitignored nonsense state? | 17:47:28 |
emily | I don't believe so. but it is Jujutsu :) | 17:56:27 |
emily | lix/lix-doc/Cargo.toml does in fact exist. | 17:56:37 |
emily | but it's complaining about rnix | 17:56:55 |
emily | sorry I should have included more output | 17:57:00 |
emily | Run-time dependency rnix-0.12-rs found: NO (tried pkgconfig, framework and cmake)
Looking for a fallback subproject for the dependency rnix-0.12-rs
Executing subproject rnix-0.12-rs method cargo
lix/lix-doc/meson.build:1: WARNING: Cargo subproject is an experimental feature and has no backwards compatibility guarantees.
rnix-0.12-rs| WARNING: Binary entry all-packages has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry dump-ast has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry error-report has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry from-stdin has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry list-fns has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry preserve has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry test-nixpkgs has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry tidy has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry math has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
rnix-0.12-rs| WARNING: Binary entry s_expressions has unexpected keys "path". This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.
lix/lix-doc/meson.build:1:7: ERROR: Subproject exists but has no Cargo.toml file.
| 17:57:20 |
Katalin 🔪 | did you somehow manage to get an empty or partial subproject directory, if this is some dependency downloaded using a wrap file? | 17:59:02 |