!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

220 Members
70 Servers

Load older messages


SenderMessageTime
10 Aug 2022
@luxus:furiosa.orgluxus joined the room.09:55:36
17 Aug 2022
@trofi:matrix.org@trofi:matrix.org Quiz question: for a final glibc used in nixpkgs all over the place which gcc you think is used to build it on linux? a) Possible answers: gcc from bootstrap tools b) gcc from nixpkgs. 17:36:21
@trofi:matrix.org@trofi:matrix.orgYou knew :)17:39:09
@artturin:matrix.orgArtturinobviously it is the more ridiculous answer 🙃17:40:03
@trofi:matrix.org@trofi:matrix.orgYeah :) Spoiler: https://dpaste.com/DMD34BUN9.txt17:40:23
@trofi:matrix.org@trofi:matrix.org * Quiz question: for a final glibc used in nixpkgs all over the place which gcc you think is used to build it on linux? Possible answers: a) gcc from bootstrap tools b) gcc from nixpkgs. 17:42:06
@vcunat:matrix.orgvcunatAFAIK it isn't easy to do better. gcc links against glibc. So either somehow try replacing it later (rather hacky, probably) or build gcc twice during bootstrapping (will remain persistently annoying). Or as you suggest, update the bootstrapping tools more often.17:49:27
@vcunat:matrix.orgvcunatI might've missed some options. Or perhaps even confuse something.17:49:48
@vcunat:matrix.orgvcunat * I might've missed some options. Or perhaps even confused something.17:49:52
@vcunat:matrix.orgvcunat * AFAIK it isn't easy to do better. gcc links against glibc. So either somehow try replacing gcc's glibc later (rather hacky, probably) or build gcc twice during bootstrapping (will remain persistently annoying). Or as you suggest, update the bootstrapping tools more often.17:50:20
@trofi:matrix.org@trofi:matrix.org

[The other day I found stdenv.__bootPackages as a way to refer to each stage's package set. Now I use it and nix-store --query --graph all the time to find out what gets built when and why.]

nod. Your description matches my understanding. Today we build glibc and gcc once during bootstrap (and 3 times binutils?). In this setup at least one of them will have to be built by bootstrapTools.

17:58:53
@rick:matrix.ciphernetics.nl@rick:matrix.ciphernetics.nlThis maybe: https://github.com/NixOS/nixpkgs/pull/13234317:58:54
@trofi:matrix.org@trofi:matrix.org AFAIU splitting libraries out does not fully solve the reliance on code generated directly by bootstrapTools toolchain. glibc would still have to be rebuilt once again. But the split might ease adding extra lightweight stages to rebuild some parts of stdenv. I dread of the thought maintaining such patches downstream though :) 18:06:57
@greaka:greaka.degreaka joined the room.20:21:08
20 Aug 2022
@kayla.fire:matrix.orgkayla (she/they) joined the room.17:25:29
21 Aug 2022
@greaka:greaka.degreaka changed their display name from greaka ⚡️ to greaka .09:25:58
24 Aug 2022
@hexa:lossy.networkhexa

John Ericson: can I have your opinion on this diff (staging-next -> staging)

diff --cc pkgs/development/compilers/llvm/git/libcxxabi/default.nix
index 441aba65166,2d4fe974c01..00000000000
--- a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
@@@ -61,7 -80,7 +80,11 @@@ stdenv.mkDerivation rec 
  
    postInstall = ''
      mkdir -p "$dev/include"
++<<<<<<< HEAD
 +    install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
++=======
+     install -m 644 ../../${pname}/include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
++>>>>>>> origin/staging-next
    '';
  
    meta = llvm_meta // {
22:16:01
@hexa:lossy.networkhexa moved into #staging:nixos.org 🙂 22:17:11
@tinybronca:sibnsk.netunderpantsgnome changed their display name from tinybronca to underpantsgnome.23:00:14
26 Aug 2022
@pennae:matrix.eno.spacepennae joined the room.13:45:35
@pennae:matrix.eno.spacepennae currently playing around with a mkDerivation' :: (Attrs -> Attrs) -> Attrs -> Drv. could be useful to solve eg the rust overrideAttrs problem (where rust would use mkDerivation' to do rust-specific processing to the args before passing them on, and regular mkDerivation would just pass id). is this something? is there something other than stdenv adapters that could turn into a problem? 13:48:02
@pennae:matrix.eno.spacepennae this hinges on overlayable mkDerivation, so the signature should really be mkDerivation' :: (Attrs -> Attrs) -> (Either Attrs (Attrs -> Attrs)) -> Drv i guess 🤔 13:50:42
@artturin:matrix.orgArtturin
In reply to @pennae:matrix.eno.space
currently playing around with a mkDerivation' :: (Attrs -> Attrs) -> Attrs -> Drv. could be useful to solve eg the rust overrideAttrs problem (where rust would use mkDerivation' to do rust-specific processing to the args before passing them on, and regular mkDerivation would just pass id). is this something? is there something other than stdenv adapters that could turn into a problem?
I have rust overriding working in https://github.com/NixOS/nixpkgs/pull/179392
16:04:34
@pennae:matrix.eno.spacepennaeokay, let's use that :)16:23:22
30 Aug 2022
@aruzeta:matrix.orgaru joined the room.14:41:45
@aruzeta:matrix.orgaru left the room.15:54:41
7 Sep 2022
@winterqt:nixos.devWinter (she/her)what part of stdenv actually adds libraries to ldflags? i see where binaries are added to path and rpath is set, but not libraries... am i missing something obvious here?07:23:29
@vcunat:matrix.orgvcunat bintoolsWrapper_addLDVars I think. 07:30:19
@winterqt:nixos.devWinter (she/her)ahhh, i was thinking it would be in a different setup hook like that, no clue why grepping around wasn't helping there07:43:12
@winterqt:nixos.devWinter (she/her)thanks, i think you're right07:43:20

Show newer messages


Back to Room ListRoom Version: 9