!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

234 Members
75 Servers

Load older messages


SenderMessageTime
15 Nov 2024
@emilazy:matrix.orgemilyand the executable rebuilds are really cheap11:24:08
@emilazy:matrix.orgemilyjust some patching11:24:10
@emilazy:matrix.orgemilyso if you eliminate OpenSSL from your build tools, that means that OpenSSL updates become ~free11:24:15
@emilazy:matrix.orgemily a few thousand seds, basically 11:24:20
@p14:matrix.orgp14Sketch makes sense.11:24:32
@emilazy:matrix.orgemilyI wouldn't be opposed to helping trying to implement it, at least in the form of "oh, this is how you should handle X"11:24:53
@emilazy:matrix.orgemilyI doubt Nixpkgs will ever adopt this system, though11:24:59
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)
In reply to @emilazy:matrix.org
here's the sketch: for every derivation producing a shared library, you want to use llvm-ifs to generate stubs from the libraries. you put those in dev, say
Looks like libgl or vulkan-loader
11:25:01
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)Makes sense11:25:04
@emilazy:matrix.orgemilysufficiently ambitious projects like this go in my "for the Nix successor" folder :)11:25:15
@emilazy:matrix.orgemily
In reply to @aleksana:mozilla.org
Looks like libgl or vulkan-loader
yeah, except we patch in the final location at build-time
11:25:23
@emilazy:matrix.orgemilyso everything is still as early-bound, we just skip a lot of building when we know it would produce the same result11:25:34
@p14:matrix.orgp14
In reply to @emilazy:matrix.org
sufficiently ambitious projects like this go in my "for the Nix successor" folder :)
Right, so, where do we start boiling the ocean from? ;-)
11:25:41
@emilazy:matrix.orgemily this is really key to exploiting ca-derivations, because it's not very useful to know a library didn't really change if the actual library you build against changes 11:25:52
@emilazy:matrix.orgemilyand it's really silly that Unix merges the interface and implementation into one file11:26:02
@emilazy:matrix.orgemilybuilds don't look at the object code of the dynamic libraries they link against. why is it in the same file?11:26:19
@emilazy:matrix.orgemily
In reply to @p14:matrix.org
Right, so, where do we start boiling the ocean from? ;-)
I've got a five year plan…
11:26:40
@emilazy:matrix.orgemily(probably an underestimate)11:26:55
@p14:matrix.orgp14Best time to plant tree twenty years ago... :D11:27:06
@p14:matrix.orgp14[second best, now, as they say]11:27:20
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)
In reply to @emilazy:matrix.org
so everything is still as early-bound, we just skip a lot of building when we know it would produce the same result
Oh so we don't rebuild in the end, we just re...link
11:27:29
@emilazy:matrix.orgemily
In reply to @aleksana:mozilla.org
Oh so we don't rebuild in the end, we just re...link
yep!
11:27:38
@emilazy:matrix.orgemilyor as fzakaria showed us, we can actually do what the dynamic loader would normally do at runtime11:27:50
@emilazy:matrix.orgemilyactually patch up all the indirect references11:27:54
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)This means that we just need to add an intermediate derivation?11:28:02
@emilazy:matrix.orgemilythe stuff that would normally happen in-memory can happen to the binary11:28:07
@p14:matrix.orgp14
In reply to @emilazy:matrix.org
actually patch up all the indirect references
https://fzakaria.com/2024/07/21/scaling-past-1-million-elf-symbol-relocations.html
11:28:11
@emilazy:matrix.orgemilyit's pretty fast, because it normally happens at runtime anyway11:28:14
@emilazy:matrix.orgemilybut it means that executable loading time goes down!11:28:18
@emilazy:matrix.orgemily
In reply to @p14:matrix.org
https://fzakaria.com/2024/07/21/scaling-past-1-million-elf-symbol-relocations.html
yeah I linked these in the thread :)
11:28:23

Show newer messages


Back to Room ListRoom Version: 9