From 8e35002bc2be4e76d6056d35b3932b4fd9bcdc77 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 16 Jan 2023 19:29:40 +0100 Subject: [PATCH] make-bootstrap-tools.nix: don't pull in pkgs.glibc in test (#210038) `builtins.baseNameOf` retains any string context, causing the test derivation to incorrectly depend on `pkgs.glibc`. All we really want is to know what the dynamicLinker is called, but we don't need it to be present in store. Thanks to Adam Joseph for spotting this. --- pkgs/stdenv/linux/make-bootstrap-tools.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index c6112766781e..e98ba0c08595 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -272,7 +272,7 @@ in with pkgs; rec { gcc --version '' + lib.optionalString (stdenv.hostPlatform.libc == "glibc") '' - ldlinux=$(echo ${bootstrapTools}/lib/${builtins.baseNameOf binutils.dynamicLinker}) + ldlinux=$(echo ${bootstrapTools}/lib/${builtins.unsafeDiscardStringContext /* only basename */ (builtins.baseNameOf binutils.dynamicLinker)}) export CPP="cpp -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools}" export CC="gcc -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${bootstrapTools}/lib" export CXX="g++ -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${bootstrapTools}/lib"