!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

230 Members
75 Servers

Load older messages


SenderMessageTime
15 Nov 2024
@p14:matrix.orgp14I was originally going to stage this as moving it to the compiler wrapper, now I'm toying with just dropping it.11:42:18
@p14:matrix.orgp14But maybe staging it by moving it to the compiler wrapper would be better if it needs to be reintroduced.11:42:39
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)
In reply to @emilazy:matrix.org
actually patch up all the indirect references

Thoughts:

  1. we'd better take back control of how packages are provided to users from nix, especially in the nix3 shell and run
  2. pkgs is just one layer, but we can actually have several (or just two), and the bottom one is the unmodified build result, which is also stored in the cache.
  3. the process of wrapping or linking binaries can be written in an upper-level derivation, and these derivations should prefer local builds
11:47:16
@emilazy:matrix.orgemilyyou can do it at the fixed point level11:49:09
@emilazy:matrix.orgemilythe resulting package set interface could be the same11:49:14
@emilazy:matrix.orgemily you'd probably want some splicing-y .__stubs type stuff 🫣 11:49:24
@emilazy:matrix.orgemilyI think it's fine to do the relinking builds on Hydra though (probably)11:49:42
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)Yes, we can still provide the default one11:50:11
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)It's just that we have to save two copies now11:50:27
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)And probably necessary to split out checkPhase so that the library itself doesn't show up in the build closure of stub derivation11:52:44
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)Then with CA you can say it must be the same11:53:20
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC) So no rebuilds 11:53:26
@emilazy:matrix.orgemily checkPhase stuff was covered in the thread 11:53:27
@emilazy:matrix.orgemilybut really wants Nix changes too11:53:31
@p14:matrix.orgp14
In reply to @emilazy:matrix.org
definitely try 15
15 is fine as well
11:57:53
@emilazy:matrix.orgemily🤔11:58:00
@emilazy:matrix.orgemily we could just drop it. I imagine wrapped compilers in development shells looking at /usr/include might be upsetting to some, though, if that's a thing that will happen 11:58:33
@p14:matrix.orgp14Oh right, that could be a problem if someone uses nixpkgs on a on-nixos system. :(11:59:00
@emilazy:matrix.orgemily well, but, we do pass all sorts of -isystem and -sysroot stuff 12:00:11
@emilazy:matrix.orgemilyso I dunno if it comes up or not12:00:19
@p14:matrix.orgp14Still could be a problem if extra stuff is in the include search path12:00:31
@emilazy:matrix.orgemilyextra stuff like?12:00:48
@emilazy:matrix.orgemilynot denying it could be a problem, just want to understand the scenario better12:00:56
@p14:matrix.orgp14At least it could manifest as the underspecified dependency problem: user thinks it's working, but it's only working by accident because they have stuff in /usr/include.12:01:04
@p14:matrix.orgp14 And then separately I don't know if we can assume those things defer to the wrapper's -i-flags in precedence or not. 12:02:01
@emilazy:matrix.orgemilyhonestly the real solution is a proper sysroot or something (but there were issues with that too last time it was talked about in here)12:02:53
@p14:matrix.orgp14How do you define "proper sysroot" and how does it help if the compiler can look somewhere you don't want it to look?12:03:18
@emilazy:matrix.orgemilyreally though there's so many ways for impurities to leak in outside of the sandbox12:03:20
@p14:matrix.orgp14fair.12:03:29
@emilazy:matrix.orgemily
In reply to @p14:matrix.org
How do you define "proper sysroot" and how does it help if the compiler can look somewhere you don't want it to look?
it's not going to look outside of the sysroot if we provide one
12:03:36

Show newer messages


Back to Room ListRoom Version: 9