!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

257 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.100 Servers

Load older messages


SenderMessageTime
21 Oct 2024
@kfears:matrix.orgKFears (tragedy arc)Thanks13:57:32
@kfears:matrix.orgKFears (tragedy arc)Okay I'm just not sure anymore. I spent multiple hours bashing (get it?) my head against the wall only to discover that tests that I'm working with make no sense conceptually, are extremely obfuscated by Bash nonsense, and only failed because they did a ridiculous string comparison instead of executing commands. And now they should logically fail, except they pass, because I think the person who wrote the original test got lost in the Bash woods just like I did and wrote a test that does nothing15:20:21
@kfears:matrix.orgKFears (tragedy arc) I think I'll try to see what's happening at tests/functional2 and what's next to make it the go-to approach because the experience I've had is maddening 15:22:29
@kfears:matrix.orgKFears (tragedy arc)It makes me feel like only around 25% of the tests are working to begin with, and it's horrifying15:25:02
@kfears:matrix.orgKFears (tragedy arc)I think that's something that I explicitly want to prioritize getting done ASAP because holy shit. I've just been porting a small PR that looked like it would take 10 minutes to do and I've already been at it for days because those tests are so broken, they just don't work at all. I'd rather just nuke the Bash tests and say "deal with it and write Python instead", that way I wouldn't have spent days debugging Bash nonsense15:32:27
@piegames:flausch.socialpiegamesYeah, they are awful15:50:13
@piegames:flausch.socialpiegamesThey are on my backlog, but I wouldn't mind if somebody else came first15:50:51
@piegames:flausch.socialpiegamesBasically I already did my nix-lang2 stuff on top of the old testing framework, so my motivation to touch the tests before that stuff gets merged is rather lowr15:51:41
@piegames:flausch.socialpiegames* Basically I already did my nix-lang2 stuff on top of the old testing framework, so my motivation to touch the tests before that stuff gets merged is rather low15:52:38
@kfears:matrix.orgKFears (tragedy arc)Yeah, I can port the tests bit by bit16:25:56
@kfears:matrix.orgKFears (tragedy arc)Really gotta wonder how CppNix hasn't completely collapsed under its weight with so much brokenness around16:28:39
@9999years:matrix.org9999years

when nix says:

error: 7 dependencies of derivation '...-hls-test-utils-2.9.0.0.drv' failed to build
error: 18 dependencies of derivation '...-haskell-language-server-2.9.0.0.drv' failed to build
error: 1 dependencies of derivation '...-haskell-language-server-2.9.0.0.drv' failed to build
error: 64 dependencies of derivation '..-ghc-shell-for-foo-0-0-env.drv' failed to build

does that mean that 64+1+18+7 (transitive) dependencies of ghc-shell-for-foo have failed to build, or that 64 (transitive) dependencies of ghc-shell-for-foo have failed to build, of which 1 is from haskell-language-server, 18 are from a different haskell-language-server, 7 are from hls-test-utils, etc.?

18:21:26
@kfears:matrix.orgKFears (tragedy arc)I think it's the latter?18:26:05
@ytg1234:matrix.org@ytg1234:matrix.org left the room.19:07:05
22 Oct 2024
@esperlily:matrix.orgEsperLily [she/her]

I've got a cl that adds a temp-dir setting https://gerrit.lix.systems/c/lix/+/2103. marked as a wip because it still needs a release note, though I think it's otherwise complete. I'm not all that thrilled about having to pass settings.tempDir as an argument to the tempdir functions though, but libutil can't see settings.tempDir otherwise. This function signature is pretty ugly

Path createTempDir(std::variant<std::reference_wrapper<const Path>, std::reference_wrapper<const PathsSetting<std::optional<Path>>>> tmpRoot,
    const Path & prefix = "nix", bool includePid = true, bool useGlobalCounter = true, mode_t mode = 0755);

but it does actually work.

10:34:08
@esperlily:matrix.orgEsperLily [she/her] also, how long does it take for lix-bot to import NixOS/nix issues after adding the lix-import label? I just added that to https://git.lix.systems/NixOS/nix/issues/7273 since I'm referencing the upstream issue in https://gerrit.lix.systems/c/lix/+/2100 10:36:18
@kfears:matrix.orgKFears (tragedy arc)
In reply to @esperlily:matrix.org

I've got a cl that adds a temp-dir setting https://gerrit.lix.systems/c/lix/+/2103. marked as a wip because it still needs a release note, though I think it's otherwise complete. I'm not all that thrilled about having to pass settings.tempDir as an argument to the tempdir functions though, but libutil can't see settings.tempDir otherwise. This function signature is pretty ugly

Path createTempDir(std::variant<std::reference_wrapper<const Path>, std::reference_wrapper<const PathsSetting<std::optional<Path>>>> tmpRoot,
    const Path & prefix = "nix", bool includePid = true, bool useGlobalCounter = true, mode_t mode = 0755);

but it does actually work.

Amazing, thank you! Looks like we might be able to ship case-sensitive store on MacOS by default since next release (lix-installer CL1503), very excited for it!
10:40:13
@esperlily:matrix.orgEsperLily [she/her]
In reply to @kfears:matrix.org
Amazing, thank you! Looks like we might be able to ship case-sensitive store on MacOS by default since next release (lix-installer CL1503), very excited for it!
I also filed the upstream issue requesting this in the first place =^^= for quite a while now I've had a wrapper for nix that sets TMPDIR to /nix/tmp but it's annoying (especially since that means nix run and nix shell end up with that TMPDIR) and I really do want us to get to a place where macOS just defaults to a case-sensitive store
10:42:00
@kfears:matrix.orgKFears (tragedy arc)I shudder thinking that the case hack was around for such a long time. Are there any other very broken things related to MacOS?10:50:22
@esperlily:matrix.orgEsperLily [she/her]the sandbox probably counts as rather broken10:52:24
@kfears:matrix.orgKFears (tragedy arc)How does sandbox work on MacOS, anyway?10:53:57
@kfears:matrix.orgKFears (tragedy arc)Does MacOS provide any APIs to implement it to begin with?10:54:13
@k900:0upti.meK900Barely10:55:22
@esperlily:matrix.orgEsperLily [she/her] macOS has a bespoke lisp-based syntax for specifying a sandbox, which is not officially documented (there's third-party documentation), a deprecated sandbox-exec command for running a command in the sandbox, a deprecated sandbox_init() function for doing the same programmatically, and some undocumented functions that are similar to sandbox_init() but allow for more control over the sandbox (lix is now using the latter, which is what Chrome and some other apps use too) 11:07:31
@esperlily:matrix.orgEsperLily [she/her] the sandbox has a lot of limitations, including a limit on the overall size of the compiled sandbox file, you can't nest sandboxes (if your process is sandboxed you can't re-init the sandbox, which is a problem when trying to invoke some tools from within a build that themselves want to use sandbox_init to sandbox themselves), there's no bind mounts, etc 11:08:40
@esperlily:matrix.orgEsperLily [she/her]all this stuff is deprecated because third-parties are supposed to use the App Sandbox now (which is controlled with code-signing entitlements), though fundamentally it's the same sandbox implementation11:09:16
@esperlily:matrix.orgEsperLily [she/her]
In reply to @esperlily:matrix.org

I've got a cl that adds a temp-dir setting https://gerrit.lix.systems/c/lix/+/2103. marked as a wip because it still needs a release note, though I think it's otherwise complete. I'm not all that thrilled about having to pass settings.tempDir as an argument to the tempdir functions though, but libutil can't see settings.tempDir otherwise. This function signature is pretty ugly

Path createTempDir(std::variant<std::reference_wrapper<const Path>, std::reference_wrapper<const PathsSetting<std::optional<Path>>>> tmpRoot,
    const Path & prefix = "nix", bool includePid = true, bool useGlobalCounter = true, mode_t mode = 0755);

but it does actually work.

i added a release note and marked the CL as ready
11:16:55
@raitobezarius:matrix.orgraitobezarius aloisw sorry for the mega delay, I answered on the overriden settings thingie 11:43:18
@raitobezarius:matrix.orgraitobezariusI think we should just move on and not let ourselves blocked in this sort of situation, especially on me :c11:43:28
@raitobezarius:matrix.orgraitobezariusit's also pretty cheap to revert imho11:43:33

Show newer messages


Back to Room ListRoom Version: 10