!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

226 Members
74 Servers

Load older messages


SenderMessageTime
19 Nov 2024
@emilazy:matrix.orgemilyideally those would be split out into separate derivations or something and we'd integrate emulators at the Nix level though15:56:38
@emilazy:matrix.orgemilybut that's a tall order when we haven't even separated out tests :/15:56:46
@sternenseemann:systemli.orgsterni for that I think you can just depend on yourself from buildPackages 15:56:49
@sternenseemann:systemli.orgsterniif your completions are target specific you deserve it15:57:11
@emilazy:matrix.orgemilydoesn't really work for tests though (but admittedly emulation is complicated there too)15:57:39
@emilazy:matrix.orgemily I don't love the buildPackages solution since it basically doubles all your builds 15:58:00
@sternenseemann:systemli.orgsterniyou build that anyways…15:58:59
@emilazy:matrix.orgemily what do you mean? jujutsu certainly doesn't depend on buildPackages.jujutsu 16:01:02
@emilazy:matrix.orgemilythough if you mean in the sense that Hydra builds most things for common platforms then sure16:01:10
@emilazy:matrix.orgemily looks like the native emulator has been there since 9c8fd412248ad907eee7547b19bf3f7583d2c411, when the function was added in the first place 16:06:02
@emilazy:matrix.orgemily anyway, hopefully everyone should be happy with the shell script, since it doesn't touch execline, doesn't add a C file, and doesn't add any non-trivial builds 16:07:11
@emilazy:matrix.orgemily still seems like the man pages ought to be split out of execline for the unrelated reasons that were brought up, but it's not my package 16:07:31
@sternenseemann:systemli.orgsterniyeah the execline situation is well…17:50:18
@sternenseemann:systemli.orgsternione maintainer more or less unilaterally integrated them, but I guess no one felt strongly enough to start a row about it so far17:50:53
@emilazy:matrix.orgemily my patches are there if anyone wants them, but I guess they no longer have stdenv-related motivation 😅 17:53:50
@sternenseemann:systemli.orgsterni
In reply to @emilazy:matrix.org
though if you mean in the sense that Hydra builds most things for common platforms then sure
yeah…
18:00:39
@sternenseemann:systemli.orgsternisorry if I've been difficult :)18:01:14
@emilazy:matrix.orgemilyeh, it's just a bunch of understandable but colliding priorities I think :)18:05:23
@emilazy:matrix.orgemily execline wants to not worry about its own closure size too obsessively, Nixpkgs tests want to be as cheap as possible to run, cross wants to not depend on execution of the host platform, tests need running, binaries want to dynamically generate things 18:06:11
@emilazy:matrix.orgemilyit's all an ugly mess but at least the simple decoupling should reduce some of the pressure points there18:06:39
@emilazy:matrix.orgemilyI think in an ideal world we would have a cross setup where tests and generation of completions/introspection data/etc. are always in separate derivations that can be opted out of, and can run at the Nix level either through emulation or remotely on a (presumably underpowered for building) native machine18:07:50
@emilazy:matrix.orgemilybut that's a massive project18:08:07
@sternenseemann:systemli.orgsterni also for that we would need to solve the binary cache problem™ since you'd probably need to have intermediate artifacts (post buildPhase) as a generic mechanism 18:38:41
@sternenseemann:systemli.orgsterniwhich obviously causes somewhat of a space problem18:38:51
@emilazy:matrix.orgemilyyes18:39:37
@emilazy:matrix.orgemilyI just file every improvement above a certain level of architectural ambition as "TODO in my Nix redesign"18:39:57
@emilazy:matrix.orgemilywhich allows me to remain ruthlessly pragmatic without feeling like I'm betraying my fundamental values :p18:40:17
@p14:matrix.orgp14

emily: I’ve been thinking a bit about what you were saying about separation of interface vs implementation for CA builds. One concern is: if you switch out the implementation, should that not also require a rebuild of downstream software which uses the implementation during the build at least?

I was thinking of the openssl case where ideally updating openssl doesn’t require a rebuild of the world, but as soon as you have a package which in checkPhase exercised the implementation of openssl, that package could be broken by the new implementation but would not have its tests run.

I guess if you depend on the implementation in order to build (or test) then that would require passing the implementation in; and therefore would condition the build on the implementation. I also wonder if I am talking myself into the concept that testing would have to happen in a separate derivation, essentially, which consumes the implementation.

19:32:34
@emilazy:matrix.orgemilyit would have its tests run – tests would happen after the relinking stage19:33:06
@emilazy:matrix.orgemilyyou could avoid these being in serial by using something like Ninja's "validations"19:33:17

Show newer messages


Back to Room ListRoom Version: 9