| 1 Dec 2022 |
| hexa changed their display name from hexa (22.11 now) to hexa. | 14:38:17 |
| 4 Dec 2022 |
Artturin | Redacted or Malformed Event | 01:24:04 |
Artturin | https://github.com/NixOS/nixpkgs/pull/204387 | 01:24:28 |
| 7 Dec 2022 |
Artturin | Rick (Mindavi): fixing this issue should make the pr mergeable https://github.com/NixOS/nixpkgs/pull/175649#issuecomment-1340159210 | 00:00:55 |
Artturin | i pushed a couple of tests | 03:57:25 |
Artturin | tests.stdenv.test-structured-env-attrset-structuredAttrsByDefault fails | 03:57:30 |
| Robert Hensing (roberth) joined the room. | 09:04:48 |
Artturin | 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 | 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 | 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 | _allFlags
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L789-L796 | 16:30:37 |
Artturin | 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 | like suffixSalt even though it works in the test | 16:38:23 |
Artturin | * 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 | its in set | 16:45:55 |
Artturin | * its in set so a local variable | 17:28:29 |
Artturin | aha! | 17:56:44 |
Artturin | i had copied the exporting from https://github.com/nixos/nixpkgs/commit/c168f128af888cb347faf2dde89fefb58f30481a | 17:58:11 |
Artturin | the setup.sh part | 17:58:30 |
Artturin | but i did not copy the make-derivation part | 17:58:36 |
Artturin | so the env dict was not being created | 17:58:42 |
Artturin | 🤦♂️ | 18:01:07 |
Artturin | Redacted or Malformed Event | 18:21:27 |
Artturin | --- /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 | 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 | * --- /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 | 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 | and substituteAll only substitutes with global vars | 18:51:40 |
Artturin | (because awk is used to get the vars) https://github.com/NixOS/nixpkgs/blob/a3c1a4abc78df37b537cb08414efa8eac38211b6/pkgs/stdenv/generic/setup.sh#L790 | 18:59:32 |
Artturin | it was made to use awk in https://github.com/NixOS/nixpkgs/pull/28799 | 19:02:43 |