!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

228 Members
75 Servers

Load older messages


SenderMessageTime
1 Dec 2022
@hexa:lossy.networkhexa changed their display name from hexa (22.11 now) to hexa.14:38:17
4 Dec 2022
@artturin:matrix.orgArtturinRedacted or Malformed Event01:24:04
@artturin:matrix.orgArtturinhttps://github.com/NixOS/nixpkgs/pull/20438701:24:28
7 Dec 2022
@artturin:matrix.orgArtturin Rick (Mindavi): fixing this issue should make the pr mergeable https://github.com/NixOS/nixpkgs/pull/175649#issuecomment-1340159210 00:00:55
@artturin:matrix.orgArtturini pushed a couple of tests03:57:25
@artturin:matrix.orgArtturin tests.stdenv.test-structured-env-attrset-structuredAttrsByDefault fails 03:57:30
@roberthensing:matrix.orgRobert Hensing (roberth) joined the room.09:04:48
@artturin:matrix.orgArtturin
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index fb6e204b5d1..7df4e4a2b44 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -896,11 +896,13 @@ substituteAllStream() {
 # Substitute all environment variables that start with a lowercase character and
 # are valid Bash names.
 substituteAll() {
+    echo HERE
     local input="$1"
     local output="$2"
 
     local -a args=()
     _allFlags
+    declare -p args
 
     substitute "$input" "$output" "${args[@]}"
 }
16:25:03
@artturin:matrix.orgArtturin
test-cc-wrapper-substitutions-structuredAttrsByDefault> HERE
test-cc-wrapper-substitutions-structuredAttrsByDefault> declare -a args=([0]="--subst-var" [1]="named_cc" [2]="--subst-var" [3]="use_response_file_by_default" [4]="--subst-var" [5]="out" [6]="--subst-var" [7]="prog" [8]="--subst-var" [9]="named_cxx")
16:25:13
@artturin:matrix.orgArtturin
test-cc-wrapper-substitutions> HERE
test-cc-wrapper-substitutions> declare -a args=([0]="--subst-var" [1]="expandResponseParams" [2]="--subst-var" [3]="cc" [4]="--subst-var" [5]="depsTargetTargetPropagated" [6]="--subst-var" [7]="cmakeFlags" [8]="--
subst-var" [9]="coreutils_bin" [10]="--subst-var" [11]="strictDeps" [12]="--subst-var" [13]="bintools" [14]="--subst-var" [15]="version" [16]="--subst-var" [17]="doInstallCheck" [18]="--subst-var" [19]="depsBuildB
uild" [20]="--subst-var" [21]="out" [22]="--subst-var" [23]="enableParallelChecking" [24]="--subst-var" [25]="dontConfigure" [26]="--subst-var" [27]="darwinMinVersionVariable" [28]="--subst-var" [29]="wrapperName"
 [30]="--subst-var" [31]="enableParallelBuilding" [32]="--subst-var" [33]="libc_bin" [34]="--subst-var" [35]="depsBuildTarget" [36]="--subst-var" [37]="nativeBuildInputs" [38]="--subst-var" [39]="dontBuild" [40]="
--subst-var" [41]="darwinPlatformForCC" [42]="--subst-var" [43]="outputs" [44]="--subst-var" [45]="stdenv" [46]="--subst-var" [47]="wrapper" [48]="--subst-var" [49]="libc_lib" [50]="--subst-var" [51]="depsHostHost
Propagated" [52]="--subst-var" [53]="buildInputs" [54]="--subst-var" [55]="shell" [56]="--subst-var" [57]="postFixup" [58]="--subst-var" [59]="depsBuildBuildPropagated" [60]="--subst-var" [61]="installPhase" [62]=
"--subst-var" [63]="darwinMinVersion" [64]="--subst-var" [65]="prog" [66]="--subst-var" [67]="system" [68]="--subst-var" [69]="preferLocalBuild" [70]="--subst-var" [71]="gnugrep_bin" [72]="--subst-var" [73]="meson
Flags" [74]="--subst-var" [75]="libc_dev" [76]="--subst-var" [77]="depsBuildTargetPropagated" [78]="--subst-var" [79]="configureFlags" [80]="--subst-var" [81]="propagatedNativeBuildInputs" [82]="--subst-var" [83]=
"propagatedBuildInputs" [84]="--subst-var" [85]="depsTargetTarget" [86]="--subst-var" [87]="named_cxx" [88]="--subst-var" [89]="depsHostHost" [90]="--subst-var" [91]="builder" [92]="--subst-var" [93]="suffixSalt"
[94]="--subst-var" [95]="doCheck" [96]="--subst-var" [97]="patches" [98]="--subst-var" [99]="named_cc" [100]="--subst-var" [101]="pname" [102]="--subst-var" [103]="name" [104]="--subst-var" [105]="setupHooks" [106
]="--subst-var" [107]="unpackPhase" [108]="--subst-var" [109]="use_response_file_by_default")
16:25:57
@artturin:matrix.orgArtturin_allFlags https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L789-L79616:30:37
@artturin:matrix.orgArtturin
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index fb6e204b5d1..934af6001ce 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -878,6 +878,8 @@ substituteInPlace() {
 }
 
 _allFlags() {
+    echo HERE1 >&2
+    env >&2
     for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); do
         if (( "${NIX_DEBUG:-0}" >= 1 )); then
             printf "@%s@ -> %q\n" "${varName}" "${!varName}"
@@ -896,11 +898,13 @@ substituteAllStream() {
 # Substitute all environment variables that start with a lowercase character and
 # are valid Bash names.
 substituteAll() {
+    echo HERE
     local input="$1"
     local output="$2"
 
     local -a args=()
     _allFlags
+    declare -p args
 
     substitute "$input" "$output" "${args[@]}"
 }

env doesn't contain the variables

16:37:03
@artturin:matrix.orgArtturin like suffixSalt even though it works in the test 16:38:23
@artturin:matrix.orgArtturin *
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index fb6e204b5d1..934af6001ce 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -878,6 +878,8 @@ substituteInPlace() {
 }
 
 _allFlags() {
+    echo HERE1 >&2
+    env >&2
     for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); do
         if (( "${NIX_DEBUG:-0}" >= 1 )); then
             printf "@%s@ -> %q\n" "${varName}" "${!varName}"
@@ -896,11 +898,13 @@ substituteAllStream() {
 # Substitute all environment variables that start with a lowercase character and
 # are valid Bash names.
 substituteAll() {
+    echo HERE
     local input="$1"
     local output="$2"
 
     local -a args=()
     _allFlags
+    declare -p args
 
     substitute "$input" "$output" "${args[@]}"
 }

the output of env doesn't contain the variables

16:38:42
@artturin:matrix.orgArtturin its in set 16:45:55
@artturin:matrix.orgArtturin * its in set so a local variable 17:28:29
@artturin:matrix.orgArtturinaha!17:56:44
@artturin:matrix.orgArtturini had copied the exporting from https://github.com/nixos/nixpkgs/commit/c168f128af888cb347faf2dde89fefb58f30481a17:58:11
@artturin:matrix.orgArtturinthe setup.sh part17:58:30
@artturin:matrix.orgArtturinbut i did not copy the make-derivation part17:58:36
@artturin:matrix.orgArtturinso the env dict was not being created17:58:42
@artturin:matrix.orgArtturin🤦‍♂️18:01:07
@artturin:matrix.orgArtturinRedacted or Malformed Event18:21:27
@artturin:matrix.orgArtturin
--- /nix/store/4kiy2jkqinfmkjps8p7ahjgj1d106990-compare-env-vars/not-structured
+++ /nix/store/4kiy2jkqinfmkjps8p7ahjgj1d106990-compare-env-vars/structured
@@ -1,26 +1,25 @@
-"
-"
-"
 declare -x CC="gcc"
 declare -x CONFIG_SHELL="bootstrap-tools/bin/bash"
 declare -x CXX="g++"
 declare -x HOME="/homeless-shelter"
+declare -x NIX_ATTRS_JSON_FILE="/build/.attrs.json"
+declare -x NIX_ATTRS_SH_FILE="/build/.attrs.sh"
 declare -x NIX_BINTOOLS="bootstrap-stage0-binutils-wrapper-"
 declare -x NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu="1"
 declare -x NIX_BUILD_CORES="24"
 declare -x NIX_BUILD_TOP="/build"
 declare -x NIX_CC="bootstrap-stage1-gcc-wrapper-"
 declare -x NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu="1"
-declare -x NIX_CFLAGS_COMPILE=" -frandom-seed=7256km5rkx"
+declare -x NIX_CFLAGS_COMPILE=" -frandom-seed=dpqf701mqa"
 declare -x NIX_ENFORCE_NO_NATIVE="1"
 declare -x NIX_ENFORCE_PURITY="1"
 declare -x NIX_HARDENING_ENABLE="fortify stackprotector pic strictoverflow format relro bindnow"
 declare -x NIX_INDENT_MAKE="1"
-declare -x NIX_LDFLAGS="-rpath expand-response-params/lib64 -rpath expand-response-params/lib "
+declare -x NIX_LDFLAGS="-rpath expand-response-params-structured/lib64 -rpath expand-response-params-structured/lib "
 declare -x NIX_LOG_FD="2"
 declare -x NIX_SSL_CERT_FILE="/no-cert-file.crt"
 declare -x NIX_STORE="/nix/store"
 declare -x OLDPWD="/build"
 declare -x PATH="bootstrap-stage1-gcc-wrapper-/bin:bootstrap-tools/bin:bootstrap-stage0-binutils-wrapper-/bin:bootstrap-tools/bin"
 declare -x PWD="/build"
 declare -x SHELL="bootstrap-tools/bin/bash"
@@ -30,45 +29,10 @@
 declare -x TEMP="/build"
 declare -x TEMPDIR="/build"
 declare -x TERM="xterm-256color"
 declare -x TMP="/build"
 declare -x TMPDIR="/build"
 declare -x TZ="UTC"
 declare -x XDG_DATA_DIRS=""
-declare -x __structuredAttrs=""
-declare -x buildInputs=""
-declare -x buildPhase="cp \$NIX_BUILD_TOP/env-vars \$out
-declare -x builder="bootstrap-tools/bin/bash"
-declare -x cmakeFlags=""
-declare -x configureFlags="--prefix=expand-response-params "
-declare -x depsBuildBuild=""
-declare -x depsBuildBuildPropagated=""
-declare -x depsBuildTarget=""
-declare -x depsBuildTargetPropagated=""
-declare -x depsHostHost=""
-declare -x depsHostHostPropagated=""
-declare -x depsTargetTarget=""
-declare -x depsTargetTargetPropagated=""
-declare -x doCheck=""
-declare -x doInstallCheck=""
-declare -x enableParallelBuilding="1"
-declare -x enableParallelChecking="1"
-declare -x installPhase="mkdir -p \$prefix/bin
 declare -x lt_cv_deplibs_check_method="pass_all"
-declare -x mesonFlags=""
-declare -x name="expand-response-params"
-declare -x nativeBuildInputs=""
-declare -x out="expand-response-params"
-declare -x outputs="out"
-declare -x patches=""
-declare -x propagatedBuildInputs=""
-declare -x propagatedNativeBuildInputs=""
+declare -x out="expand-response-params-structured"
 declare -x shell="bootstrap-tools/bin/bash"
-declare -x src="/build"
-declare -x stdenv="bootstrap-stage1-stdenv-linux"
-declare -x strictDeps="1"
-declare -x system="x86_64-linux"
-declare -x unpackPhase="cp \"\$src\" expand-response-params.c
-exit
-mv expand-response-params \$prefix/bin/
-src=\$PWD
-true 1

18:50:38
@artturin:matrix.orgArtturin
let
  pkgs = ((builtins.getFlake "nixpkgs").legacyPackages.${builtins.currentSystem});
  pkgsNoStructured = import ./. { config = { structuredAttrsByDefault = false; }; };
  pkgsStructured = import ./. { config = { structuredAttrsByDefault = true; }; };

  expand-response-params = pkgsNoStructured.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.cc.expand-response-params.overrideAttrs (previousAttrs: {
    buildPhase = ''
      cp $NIX_BUILD_TOP/env-vars $out
      true 1
      exit
    '';
  });
  expand-response-params-structured = pkgsStructured.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.cc.expand-response-params.overrideAttrs (previousAttrs: {
    name = "expand-response-params-structured";
    buildPhase = ''
      dumpVars
      cp $NIX_BUILD_TOP/env-vars $out
      true
      exit
    '';
  });
in
pkgs.runCommand "compare-env-vars"
{ nativeBuildInputs = [ pkgs.diffoscope ]; passthru = { inherit expand-response-params expand-response-params-structured;}; } ''
  mkdir -p $out
  cp ${expand-response-params} $out/not-structured
  cp ${expand-response-params-structured} $out/structured
  chmod -R +w $out
  sort -o $out/not-structured{,}
  sort -o $out/structured{,}
  # remove hashes so diff works better
  sed 's|/nix/store/.\{33\}||g' -i $out/not-structured
  sed 's|/nix/store/.\{33\}||g' -i $out/structured
  diffoscope $out/not-structured $out/structured
''

18:50:47
@artturin:matrix.orgArtturin *
--- /nix/store/4kiy2jkqinfmkjps8p7ahjgj1d106990-compare-env-vars/not-structured
+++ /nix/store/4kiy2jkqinfmkjps8p7ahjgj1d106990-compare-env-vars/structured
@@ -1,26 +1,25 @@
-"
-"
-"
 declare -x CC="gcc"
 declare -x CONFIG_SHELL="bootstrap-tools/bin/bash"
 declare -x CXX="g++"
 declare -x HOME="/homeless-shelter"
+declare -x NIX_ATTRS_JSON_FILE="/build/.attrs.json"
+declare -x NIX_ATTRS_SH_FILE="/build/.attrs.sh"
 declare -x NIX_BINTOOLS="bootstrap-stage0-binutils-wrapper-"
 declare -x NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu="1"
 declare -x NIX_BUILD_CORES="24"
 declare -x NIX_BUILD_TOP="/build"
 declare -x NIX_CC="bootstrap-stage1-gcc-wrapper-"
 declare -x NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu="1"
-declare -x NIX_CFLAGS_COMPILE=" -frandom-seed=7256km5rkx"
+declare -x NIX_CFLAGS_COMPILE=" -frandom-seed=dpqf701mqa"
 declare -x NIX_ENFORCE_NO_NATIVE="1"
 declare -x NIX_ENFORCE_PURITY="1"
 declare -x NIX_HARDENING_ENABLE="fortify stackprotector pic strictoverflow format relro bindnow"
 declare -x NIX_INDENT_MAKE="1"
-declare -x NIX_LDFLAGS="-rpath expand-response-params/lib64 -rpath expand-response-params/lib "
+declare -x NIX_LDFLAGS="-rpath expand-response-params-structured/lib64 -rpath expand-response-params-structured/lib "
 declare -x NIX_LOG_FD="2"
 declare -x NIX_SSL_CERT_FILE="/no-cert-file.crt"
 declare -x NIX_STORE="/nix/store"
 declare -x OLDPWD="/build"
 declare -x PATH="bootstrap-stage1-gcc-wrapper-/bin:bootstrap-tools/bin:bootstrap-stage0-binutils-wrapper-/bin:bootstrap-tools/bin"
 declare -x PWD="/build"
 declare -x SHELL="bootstrap-tools/bin/bash"
@@ -30,45 +29,10 @@
 declare -x TEMP="/build"
 declare -x TEMPDIR="/build"
 declare -x TERM="xterm-256color"
 declare -x TMP="/build"
 declare -x TMPDIR="/build"
 declare -x TZ="UTC"
 declare -x XDG_DATA_DIRS=""
-declare -x __structuredAttrs=""
-declare -x buildInputs=""
-declare -x buildPhase="cp \$NIX_BUILD_TOP/env-vars \$out
-declare -x builder="bootstrap-tools/bin/bash"
-declare -x cmakeFlags=""
-declare -x configureFlags="--prefix=expand-response-params "
-declare -x depsBuildBuild=""
-declare -x depsBuildBuildPropagated=""
-declare -x depsBuildTarget=""
-declare -x depsBuildTargetPropagated=""
-declare -x depsHostHost=""
-declare -x depsHostHostPropagated=""
-declare -x depsTargetTarget=""
-declare -x depsTargetTargetPropagated=""
-declare -x doCheck=""
-declare -x doInstallCheck=""
-declare -x enableParallelBuilding="1"
-declare -x enableParallelChecking="1"
-declare -x installPhase="mkdir -p \$prefix/bin
 declare -x lt_cv_deplibs_check_method="pass_all"
-declare -x mesonFlags=""
-declare -x name="expand-response-params"
-declare -x nativeBuildInputs=""
-declare -x out="expand-response-params"
-declare -x outputs="out"
-declare -x patches=""
-declare -x propagatedBuildInputs=""
-declare -x propagatedNativeBuildInputs=""
+declare -x out="expand-response-params-structured"
 declare -x shell="bootstrap-tools/bin/bash"
-declare -x src="/build"
-declare -x stdenv="bootstrap-stage1-stdenv-linux"
-declare -x strictDeps="1"
-declare -x system="x86_64-linux"
-declare -x unpackPhase="cp \"\$src\" expand-response-params.c
-exit
-mv expand-response-params \$prefix/bin/
-src=\$PWD
-true 1

18:51:00
@artturin:matrix.orgArtturin
In reply to @artturin:matrix.org
--- /nix/store/4kiy2jkqinfmkjps8p7ahjgj1d106990-compare-env-vars/not-structured
+++ /nix/store/4kiy2jkqinfmkjps8p7ahjgj1d106990-compare-env-vars/structured
@@ -1,26 +1,25 @@
-"
-"
-"
 declare -x CC="gcc"
 declare -x CONFIG_SHELL="bootstrap-tools/bin/bash"
 declare -x CXX="g++"
 declare -x HOME="/homeless-shelter"
+declare -x NIX_ATTRS_JSON_FILE="/build/.attrs.json"
+declare -x NIX_ATTRS_SH_FILE="/build/.attrs.sh"
 declare -x NIX_BINTOOLS="bootstrap-stage0-binutils-wrapper-"
 declare -x NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu="1"
 declare -x NIX_BUILD_CORES="24"
 declare -x NIX_BUILD_TOP="/build"
 declare -x NIX_CC="bootstrap-stage1-gcc-wrapper-"
 declare -x NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu="1"
-declare -x NIX_CFLAGS_COMPILE=" -frandom-seed=7256km5rkx"
+declare -x NIX_CFLAGS_COMPILE=" -frandom-seed=dpqf701mqa"
 declare -x NIX_ENFORCE_NO_NATIVE="1"
 declare -x NIX_ENFORCE_PURITY="1"
 declare -x NIX_HARDENING_ENABLE="fortify stackprotector pic strictoverflow format relro bindnow"
 declare -x NIX_INDENT_MAKE="1"
-declare -x NIX_LDFLAGS="-rpath expand-response-params/lib64 -rpath expand-response-params/lib "
+declare -x NIX_LDFLAGS="-rpath expand-response-params-structured/lib64 -rpath expand-response-params-structured/lib "
 declare -x NIX_LOG_FD="2"
 declare -x NIX_SSL_CERT_FILE="/no-cert-file.crt"
 declare -x NIX_STORE="/nix/store"
 declare -x OLDPWD="/build"
 declare -x PATH="bootstrap-stage1-gcc-wrapper-/bin:bootstrap-tools/bin:bootstrap-stage0-binutils-wrapper-/bin:bootstrap-tools/bin"
 declare -x PWD="/build"
 declare -x SHELL="bootstrap-tools/bin/bash"
@@ -30,45 +29,10 @@
 declare -x TEMP="/build"
 declare -x TEMPDIR="/build"
 declare -x TERM="xterm-256color"
 declare -x TMP="/build"
 declare -x TMPDIR="/build"
 declare -x TZ="UTC"
 declare -x XDG_DATA_DIRS=""
-declare -x __structuredAttrs=""
-declare -x buildInputs=""
-declare -x buildPhase="cp \$NIX_BUILD_TOP/env-vars \$out
-declare -x builder="bootstrap-tools/bin/bash"
-declare -x cmakeFlags=""
-declare -x configureFlags="--prefix=expand-response-params "
-declare -x depsBuildBuild=""
-declare -x depsBuildBuildPropagated=""
-declare -x depsBuildTarget=""
-declare -x depsBuildTargetPropagated=""
-declare -x depsHostHost=""
-declare -x depsHostHostPropagated=""
-declare -x depsTargetTarget=""
-declare -x depsTargetTargetPropagated=""
-declare -x doCheck=""
-declare -x doInstallCheck=""
-declare -x enableParallelBuilding="1"
-declare -x enableParallelChecking="1"
-declare -x installPhase="mkdir -p \$prefix/bin
 declare -x lt_cv_deplibs_check_method="pass_all"
-declare -x mesonFlags=""
-declare -x name="expand-response-params"
-declare -x nativeBuildInputs=""
-declare -x out="expand-response-params"
-declare -x outputs="out"
-declare -x patches=""
-declare -x propagatedBuildInputs=""
-declare -x propagatedNativeBuildInputs=""
+declare -x out="expand-response-params-structured"
 declare -x shell="bootstrap-tools/bin/bash"
-declare -x src="/build"
-declare -x stdenv="bootstrap-stage1-stdenv-linux"
-declare -x strictDeps="1"
-declare -x system="x86_64-linux"
-declare -x unpackPhase="cp \"\$src\" expand-response-params.c
-exit
-mv expand-response-params \$prefix/bin/
-src=\$PWD
-true 1

dumpVars only shows env variables which are exported
18:51:27
@artturin:matrix.orgArtturinand substituteAll only substitutes with global vars18:51:40
@artturin:matrix.orgArtturin(because awk is used to get the vars) https://github.com/NixOS/nixpkgs/blob/a3c1a4abc78df37b537cb08414efa8eac38211b6/pkgs/stdenv/generic/setup.sh#L79018:59:32
@artturin:matrix.orgArtturinit was made to use awk in https://github.com/NixOS/nixpkgs/pull/2879919:02:43

Show newer messages


Back to Room ListRoom Version: 9