diff --git a/.direnv/flake-inputs/1xqxr1v6zrnvh22084127343pykvrjbi-source b/.direnv/flake-inputs/1xqxr1v6zrnvh22084127343pykvrjbi-source deleted file mode 120000 index 7c888b4..0000000 --- a/.direnv/flake-inputs/1xqxr1v6zrnvh22084127343pykvrjbi-source +++ /dev/null @@ -1 +0,0 @@ -/nix/store/1xqxr1v6zrnvh22084127343pykvrjbi-source \ No newline at end of file diff --git a/.direnv/flake-inputs/4w4b4mxfhdc9lf3rsf4qqa9z8xnijbxl-source b/.direnv/flake-inputs/4w4b4mxfhdc9lf3rsf4qqa9z8xnijbxl-source deleted file mode 120000 index 7b7d5e1..0000000 --- a/.direnv/flake-inputs/4w4b4mxfhdc9lf3rsf4qqa9z8xnijbxl-source +++ /dev/null @@ -1 +0,0 @@ -/nix/store/4w4b4mxfhdc9lf3rsf4qqa9z8xnijbxl-source \ No newline at end of file diff --git a/.direnv/flake-inputs/61gw1axgxrvx0bnxv2dla6zhkgwv45zr-source b/.direnv/flake-inputs/61gw1axgxrvx0bnxv2dla6zhkgwv45zr-source deleted file mode 120000 index b6db4fd..0000000 --- a/.direnv/flake-inputs/61gw1axgxrvx0bnxv2dla6zhkgwv45zr-source +++ /dev/null @@ -1 +0,0 @@ -/nix/store/61gw1axgxrvx0bnxv2dla6zhkgwv45zr-source \ No newline at end of file diff --git a/.direnv/flake-inputs/z394vfm4xw2sd40c4qm428qhi4rmpn1s-source b/.direnv/flake-inputs/z394vfm4xw2sd40c4qm428qhi4rmpn1s-source deleted file mode 120000 index b5a22b1..0000000 --- a/.direnv/flake-inputs/z394vfm4xw2sd40c4qm428qhi4rmpn1s-source +++ /dev/null @@ -1 +0,0 @@ -/nix/store/z394vfm4xw2sd40c4qm428qhi4rmpn1s-source \ No newline at end of file diff --git a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa index 0cd07ad..8f05fbc 120000 --- a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa +++ b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa @@ -1 +1 @@ -/nix/store/9h3sip52v44rmqykfjyirn4ih3sislxw-nix-shell-env \ No newline at end of file +/nix/store/3zv4qkyn3yqzksv0kbrbqy73yfpqi152-nix-shell-env \ No newline at end of file diff --git a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc index 7f8b57b..646bb54 100644 --- a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc +++ b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc @@ -5,25 +5,25 @@ XDG_DATA_DIRS=${XDG_DATA_DIRS:-} nix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS" AR='ar' export AR -AR_FOR_BUILD='ar' -export AR_FOR_BUILD +AR_FOR_TARGET='ar' +export AR_FOR_TARGET AS='as' export AS -AS_FOR_BUILD='as' -export AS_FOR_BUILD -BASH='/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin/bash' +AS_FOR_TARGET='as' +export AS_FOR_TARGET +BASH='/nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37/bin/bash' CC='gcc' export CC -CC_FOR_BUILD='gcc' -export CC_FOR_BUILD -CONFIG_SHELL='/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin/bash' +CC_FOR_TARGET='gcc' +export CC_FOR_TARGET +CONFIG_SHELL='/nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37/bin/bash' export CONFIG_SHELL CXX='g++' export CXX -CXX_FOR_BUILD='g++' -export CXX_FOR_BUILD +CXX_FOR_TARGET='g++' +export CXX_FOR_TARGET HOSTTYPE='x86_64' -HOST_PATH='/nix/store/zx8aqgdy735qzk81glfwil6mbi6ddqb1-coreutils-9.4/bin:/nix/store/sq0w0jchkjqbxl47h52kfwa33qp1adfh-findutils-4.9.0/bin:/nix/store/f3g84l92p0njh0gyk1z7cp2k4qnh91ha-diffutils-3.10/bin:/nix/store/7fqp73ncnbwr5bxxszqicf6r33d9yhkw-gnused-4.9/bin:/nix/store/by6918gg7srjyixqk8kbcdlz82d5pcwx-gnugrep-3.11/bin:/nix/store/1713hchhyzawkxfhk9srxklv03bqj55y-gawk-5.2.2/bin:/nix/store/1y7cqy8y76gsx037mhs3cvb33srj4c7g-gnutar-1.35/bin:/nix/store/21drzcpzpi485f9m6ihspg4kayly5425-gzip-1.13/bin:/nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin/bin:/nix/store/452v8bl3sjaq4kil1d9vqxc5vns4cvpp-gnumake-4.4.1/bin:/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin:/nix/store/l6s9gwsallxxgz3qy7xk6410y842m6dn-patch-2.7.6/bin:/nix/store/pp7yamsghaprdxq94vr2iqx1hd5xn2qf-xz-5.4.5-bin/bin:/nix/store/hnz8p5w9xc0ivsiyrgky6f6h7sjb28a5-file-5.45/bin' +HOST_PATH='/nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0/bin:/nix/store/9bacph866qhmr2zfib1h49jixq5hhd01-binutils-wrapper-2.43.1/bin:/nix/store/40yym8srkji787nrml52v4v160z41v65-openssl-3.3.2-bin/bin:/nix/store/f1gamyykr0f8n4afy910ass2jx2g9zkv-pkg-config-wrapper-0.29.2/bin:/nix/store/y3swnj6xfbbmjawi524v12j69k9g35ds-cargo-deny-0.16.2/bin:/nix/store/9kw90wqbaj0nz618yy6dar012mpz8ik1-cargo-edit-0.13.0/bin:/nix/store/66kz62g4cd72b44crkqlhsy1p60w9hga-cargo-watch-8.5.3/bin:/nix/store/8ky932dblp2vb2khjyhb92xwsy4ah859-rust-analyzer-2024-11-11/bin:/nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02/bin:/nix/store/k48bha2fjqzarg52picsdfwlqx75aqbb-coreutils-9.5/bin:/nix/store/lfhmpajzgfmgl8xrdvp2r9hdi2rf17wy-findutils-4.10.0/bin:/nix/store/xrpvl6c1pyq7zazqnb41kgshmkr85da1-diffutils-3.10/bin:/nix/store/gvivnz7rb2gz1vy7d9mdxgzj9didz7w2-gnused-4.9/bin:/nix/store/14aswfz6pm8zvyyy927xzmi8x4rnvlc8-gnugrep-3.11/bin:/nix/store/45jb5s18799g8day8zjixrvknj4chp6r-gawk-5.3.1/bin:/nix/store/sdljgkhcmlflr785i4jffg1rvm294i1k-gnutar-1.35/bin:/nix/store/pg1n8f8zlwh4q4bsbnm9gwhx7cbix1m6-gzip-1.13/bin:/nix/store/y59bxw99pbld247dznzv352cqdhlybqi-bzip2-1.0.8-bin/bin:/nix/store/a08385589ajv3ahmp81nml9bh5dsi55n-gnumake-4.4.1/bin:/nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37/bin:/nix/store/0knrdpnzi5s4igcvzw8yhkj8daq84a2v-patch-2.7.6/bin:/nix/store/g6rf9zyrz8hrgz4r7sd2hab3j1afxdkr-xz-5.6.3-bin/bin:/nix/store/83jpg0nha0gp1pggdvsk7zh6wn5lgm00-file-5.45/bin' export HOST_PATH IFS=' ' @@ -31,95 +31,96 @@ IN_NIX_SHELL='impure' export IN_NIX_SHELL LD='ld' export LD -LD_FOR_BUILD='ld' -export LD_FOR_BUILD +LD_FOR_TARGET='ld' +export LD_FOR_TARGET LINENO='76' MACHTYPE='x86_64-pc-linux-gnu' -NIX_BINTOOLS='/nix/store/lwqnazddv8037sin49482dnzc9iwgg8l-binutils-wrapper-2.40' +NIX_BINTOOLS='/nix/store/9bacph866qhmr2zfib1h49jixq5hhd01-binutils-wrapper-2.43.1' export NIX_BINTOOLS -NIX_BINTOOLS_FOR_BUILD='/nix/store/lwqnazddv8037sin49482dnzc9iwgg8l-binutils-wrapper-2.40' -export NIX_BINTOOLS_FOR_BUILD -NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu='1' -export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu +NIX_BINTOOLS_FOR_TARGET='/nix/store/9bacph866qhmr2zfib1h49jixq5hhd01-binutils-wrapper-2.43.1' +export NIX_BINTOOLS_FOR_TARGET NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu +NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu='1' +export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu NIX_BUILD_CORES='8' export NIX_BUILD_CORES -NIX_CC='/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' +NIX_CC='/nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0' export NIX_CC -NIX_CC_FOR_BUILD='/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' -export NIX_CC_FOR_BUILD -NIX_CC_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu='1' -export NIX_CC_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu +NIX_CC_FOR_TARGET='/nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0' +export NIX_CC_FOR_TARGET NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' export NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu -NIX_CFLAGS_COMPILE=' -frandom-seed=9h3sip52v4 -isystem /nix/store/7yx2i1wm89zhypky0l0lmmpl10yf0bh7-openssl-3.0.12-dev/include -isystem /nix/store/7yx2i1wm89zhypky0l0lmmpl10yf0bh7-openssl-3.0.12-dev/include' +NIX_CC_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu='1' +export NIX_CC_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu +NIX_CFLAGS_COMPILE=' -frandom-seed=3zv4qkyn3y -isystem /nix/store/4r4ig3y8xm9zwvra4m3kimn133m24dnv-openssl-3.3.2-dev/include -isystem /nix/store/4r4ig3y8xm9zwvra4m3kimn133m24dnv-openssl-3.3.2-dev/include -isystem /nix/store/4r4ig3y8xm9zwvra4m3kimn133m24dnv-openssl-3.3.2-dev/include -isystem /nix/store/4r4ig3y8xm9zwvra4m3kimn133m24dnv-openssl-3.3.2-dev/include' export NIX_CFLAGS_COMPILE -NIX_CFLAGS_COMPILE_FOR_BUILD=' -isystem /nix/store/7yx2i1wm89zhypky0l0lmmpl10yf0bh7-openssl-3.0.12-dev/include -isystem /nix/store/7yx2i1wm89zhypky0l0lmmpl10yf0bh7-openssl-3.0.12-dev/include -isystem /nix/store/7yx2i1wm89zhypky0l0lmmpl10yf0bh7-openssl-3.0.12-dev/include' -export NIX_CFLAGS_COMPILE_FOR_BUILD +NIX_CFLAGS_COMPILE_FOR_TARGET=' -isystem /nix/store/4r4ig3y8xm9zwvra4m3kimn133m24dnv-openssl-3.3.2-dev/include' +export NIX_CFLAGS_COMPILE_FOR_TARGET NIX_ENFORCE_NO_NATIVE='1' export NIX_ENFORCE_NO_NATIVE -NIX_HARDENING_ENABLE='fortify fortify3 stackprotector pic strictoverflow format relro bindnow' +NIX_HARDENING_ENABLE='bindnow format fortify fortify3 pic relro stackprotector strictoverflow zerocallusedregs' export NIX_HARDENING_ENABLE -NIX_LDFLAGS='-rpath /home/spectre/code/aocrust/outputs/out/lib -L/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0/lib -L/nix/store/c7rf6w8xvxc4423m9rsgq5nsqhknshvy-openssl-3.0.12/lib -L/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0/lib -L/nix/store/c7rf6w8xvxc4423m9rsgq5nsqhknshvy-openssl-3.0.12/lib' +NIX_LDFLAGS='-rpath /home/spectre/code/aocrust/outputs/out/lib -L/nix/store/5dlhinba4wbr5ijy0vcmyzh4i678z94w-openssl-3.3.2/lib -L/nix/store/5dlhinba4wbr5ijy0vcmyzh4i678z94w-openssl-3.3.2/lib -L/nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02/lib -L/nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02/lib -L/nix/store/5dlhinba4wbr5ijy0vcmyzh4i678z94w-openssl-3.3.2/lib -L/nix/store/5dlhinba4wbr5ijy0vcmyzh4i678z94w-openssl-3.3.2/lib -L/nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02/lib -L/nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02/lib' export NIX_LDFLAGS -NIX_LDFLAGS_FOR_BUILD=' -L/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0/lib -L/nix/store/c7rf6w8xvxc4423m9rsgq5nsqhknshvy-openssl-3.0.12/lib -L/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0/lib -L/nix/store/c7rf6w8xvxc4423m9rsgq5nsqhknshvy-openssl-3.0.12/lib -L/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0/lib -L/nix/store/c7rf6w8xvxc4423m9rsgq5nsqhknshvy-openssl-3.0.12/lib' -export NIX_LDFLAGS_FOR_BUILD +NIX_LDFLAGS_FOR_TARGET=' -L/nix/store/5dlhinba4wbr5ijy0vcmyzh4i678z94w-openssl-3.3.2/lib -L/nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02/lib' +export NIX_LDFLAGS_FOR_TARGET NIX_NO_SELF_RPATH='1' -NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' -export NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu +NIX_PKG_CONFIG_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu='1' +export NIX_PKG_CONFIG_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu NIX_STORE='/nix/store' export NIX_STORE NM='nm' export NM -NM_FOR_BUILD='nm' -export NM_FOR_BUILD +NM_FOR_TARGET='nm' +export NM_FOR_TARGET OBJCOPY='objcopy' export OBJCOPY -OBJCOPY_FOR_BUILD='objcopy' -export OBJCOPY_FOR_BUILD +OBJCOPY_FOR_TARGET='objcopy' +export OBJCOPY_FOR_TARGET OBJDUMP='objdump' export OBJDUMP -OBJDUMP_FOR_BUILD='objdump' -export OBJDUMP_FOR_BUILD +OBJDUMP_FOR_TARGET='objdump' +export OBJDUMP_FOR_TARGET OLDPWD='' export OLDPWD OPTERR='1' OSTYPE='linux-gnu' -PATH='/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0/bin:/nix/store/qfqjymymsd2x29yknsgllfiq1h64s3f4-gcc-12.3.0/bin:/nix/store/bh4lz3c2n3qfbm2hhwjhnqcaxcjs2sm8-glibc-2.38-27-bin/bin:/nix/store/zx8aqgdy735qzk81glfwil6mbi6ddqb1-coreutils-9.4/bin:/nix/store/lwqnazddv8037sin49482dnzc9iwgg8l-binutils-wrapper-2.40/bin:/nix/store/fzlkaj1ax7gl655blfcr6zzvml1vx3bj-binutils-2.40/bin:/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0/bin:/nix/store/sr9ka27mzwb3mpvmh1k9180k9rrzlrky-openssl-3.0.12-bin/bin:/nix/store/1nvm1a9a9mlwyy7d0hapkzchxgjgpw19-pkg-config-wrapper-0.29.2/bin:/nix/store/9k9x2l50chwklcnzksr1dsvdakrjyjii-cargo-deny-0.14.3/bin:/nix/store/rvw4mnfpvfl3p6jxv53fh2ns95f8vijd-cargo-edit-0.12.2/bin:/nix/store/dggqys77plh2lv2xkq12973q7g42ay4p-cargo-watch-8.4.1/bin:/nix/store/z7aihjs62zxyi8hkl6pspabhs13lmpr4-rust-analyzer-2023-11-13/bin:/nix/store/pyq6gyhgck1nkfyjs6842ysxkxzjxkaj-patchelf-0.15.0/bin:/nix/store/zx8aqgdy735qzk81glfwil6mbi6ddqb1-coreutils-9.4/bin:/nix/store/sq0w0jchkjqbxl47h52kfwa33qp1adfh-findutils-4.9.0/bin:/nix/store/f3g84l92p0njh0gyk1z7cp2k4qnh91ha-diffutils-3.10/bin:/nix/store/7fqp73ncnbwr5bxxszqicf6r33d9yhkw-gnused-4.9/bin:/nix/store/by6918gg7srjyixqk8kbcdlz82d5pcwx-gnugrep-3.11/bin:/nix/store/1713hchhyzawkxfhk9srxklv03bqj55y-gawk-5.2.2/bin:/nix/store/1y7cqy8y76gsx037mhs3cvb33srj4c7g-gnutar-1.35/bin:/nix/store/21drzcpzpi485f9m6ihspg4kayly5425-gzip-1.13/bin:/nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin/bin:/nix/store/452v8bl3sjaq4kil1d9vqxc5vns4cvpp-gnumake-4.4.1/bin:/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin:/nix/store/l6s9gwsallxxgz3qy7xk6410y842m6dn-patch-2.7.6/bin:/nix/store/pp7yamsghaprdxq94vr2iqx1hd5xn2qf-xz-5.4.5-bin/bin:/nix/store/hnz8p5w9xc0ivsiyrgky6f6h7sjb28a5-file-5.45/bin' +PATH='/nix/store/xjlvb8x7z3f5rxxswa3c6ghay74a58jm-patchelf-0.15.0/bin:/nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0/bin:/nix/store/xzfmarrq8x8s4ivpya24rrndqsq2ndiz-gcc-13.3.0/bin:/nix/store/26dy2y29fhissya64ygahwpidpvs3bm3-glibc-2.40-36-bin/bin:/nix/store/k48bha2fjqzarg52picsdfwlqx75aqbb-coreutils-9.5/bin:/nix/store/9bacph866qhmr2zfib1h49jixq5hhd01-binutils-wrapper-2.43.1/bin:/nix/store/va7kw1i822h95im4jacci19v0cqajfyf-binutils-2.43.1/bin:/nix/store/40yym8srkji787nrml52v4v160z41v65-openssl-3.3.2-bin/bin:/nix/store/f1gamyykr0f8n4afy910ass2jx2g9zkv-pkg-config-wrapper-0.29.2/bin:/nix/store/y3swnj6xfbbmjawi524v12j69k9g35ds-cargo-deny-0.16.2/bin:/nix/store/9kw90wqbaj0nz618yy6dar012mpz8ik1-cargo-edit-0.13.0/bin:/nix/store/66kz62g4cd72b44crkqlhsy1p60w9hga-cargo-watch-8.5.3/bin:/nix/store/8ky932dblp2vb2khjyhb92xwsy4ah859-rust-analyzer-2024-11-11/bin:/nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02/bin:/nix/store/k48bha2fjqzarg52picsdfwlqx75aqbb-coreutils-9.5/bin:/nix/store/lfhmpajzgfmgl8xrdvp2r9hdi2rf17wy-findutils-4.10.0/bin:/nix/store/xrpvl6c1pyq7zazqnb41kgshmkr85da1-diffutils-3.10/bin:/nix/store/gvivnz7rb2gz1vy7d9mdxgzj9didz7w2-gnused-4.9/bin:/nix/store/14aswfz6pm8zvyyy927xzmi8x4rnvlc8-gnugrep-3.11/bin:/nix/store/45jb5s18799g8day8zjixrvknj4chp6r-gawk-5.3.1/bin:/nix/store/sdljgkhcmlflr785i4jffg1rvm294i1k-gnutar-1.35/bin:/nix/store/pg1n8f8zlwh4q4bsbnm9gwhx7cbix1m6-gzip-1.13/bin:/nix/store/y59bxw99pbld247dznzv352cqdhlybqi-bzip2-1.0.8-bin/bin:/nix/store/a08385589ajv3ahmp81nml9bh5dsi55n-gnumake-4.4.1/bin:/nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37/bin:/nix/store/0knrdpnzi5s4igcvzw8yhkj8daq84a2v-patch-2.7.6/bin:/nix/store/g6rf9zyrz8hrgz4r7sd2hab3j1afxdkr-xz-5.6.3-bin/bin:/nix/store/83jpg0nha0gp1pggdvsk7zh6wn5lgm00-file-5.45/bin' export PATH -PKG_CONFIG='pkg-config' -export PKG_CONFIG -PKG_CONFIG_PATH='/nix/store/7yx2i1wm89zhypky0l0lmmpl10yf0bh7-openssl-3.0.12-dev/lib/pkgconfig' -export PKG_CONFIG_PATH +PKG_CONFIG_FOR_TARGET='pkg-config' +export PKG_CONFIG_FOR_TARGET +PKG_CONFIG_PATH_FOR_TARGET='/nix/store/4r4ig3y8xm9zwvra4m3kimn133m24dnv-openssl-3.3.2-dev/lib/pkgconfig' +export PKG_CONFIG_PATH_FOR_TARGET PS4='+ ' RANLIB='ranlib' export RANLIB -RANLIB_FOR_BUILD='ranlib' -export RANLIB_FOR_BUILD +RANLIB_FOR_TARGET='ranlib' +export RANLIB_FOR_TARGET READELF='readelf' export READELF -READELF_FOR_BUILD='readelf' -export READELF_FOR_BUILD +READELF_FOR_TARGET='readelf' +export READELF_FOR_TARGET SIZE='size' export SIZE -SIZE_FOR_BUILD='size' -export SIZE_FOR_BUILD +SIZE_FOR_TARGET='size' +export SIZE_FOR_TARGET SOURCE_DATE_EPOCH='315532800' export SOURCE_DATE_EPOCH STRINGS='strings' export STRINGS -STRINGS_FOR_BUILD='strings' -export STRINGS_FOR_BUILD +STRINGS_FOR_TARGET='strings' +export STRINGS_FOR_TARGET STRIP='strip' export STRIP -STRIP_FOR_BUILD='strip' -export STRIP_FOR_BUILD -XDG_DATA_DIRS='/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0/share:/nix/store/1nvm1a9a9mlwyy7d0hapkzchxgjgpw19-pkg-config-wrapper-0.29.2/share:/nix/store/pyq6gyhgck1nkfyjs6842ysxkxzjxkaj-patchelf-0.15.0/share' +STRIP_FOR_TARGET='strip' +export STRIP_FOR_TARGET +XDG_DATA_DIRS='/nix/store/xjlvb8x7z3f5rxxswa3c6ghay74a58jm-patchelf-0.15.0/share' export XDG_DATA_DIRS __structuredAttrs='' export __structuredAttrs -buildInputs='' +_substituteStream_has_warned_replace_deprecation='false' +buildInputs='/nix/store/4r4ig3y8xm9zwvra4m3kimn133m24dnv-openssl-3.3.2-dev /nix/store/f1gamyykr0f8n4afy910ass2jx2g9zkv-pkg-config-wrapper-0.29.2 /nix/store/y3swnj6xfbbmjawi524v12j69k9g35ds-cargo-deny-0.16.2 /nix/store/9kw90wqbaj0nz618yy6dar012mpz8ik1-cargo-edit-0.13.0 /nix/store/66kz62g4cd72b44crkqlhsy1p60w9hga-cargo-watch-8.5.3 /nix/store/8ky932dblp2vb2khjyhb92xwsy4ah859-rust-analyzer-2024-11-11 /nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02' export buildInputs buildPhase='{ echo "------------------------------------------------------------"; echo " WARNING: the existence of this path is not guaranteed."; @@ -131,14 +132,14 @@ buildPhase='{ echo "------------------------------------------------------------ } >> "$out" ' export buildPhase -builder='/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin/bash' +builder='/nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37/bin/bash' export builder cmakeFlags='' export cmakeFlags configureFlags='' export configureFlags defaultBuildInputs='' -defaultNativeBuildInputs='/nix/store/pyq6gyhgck1nkfyjs6842ysxkxzjxkaj-patchelf-0.15.0 /nix/store/j0blrlhddcnqgq1v1cd4pfggjr2wah8n-update-autotools-gnu-config-scripts-hook /nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh /nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh /nix/store/wzdsbnv2ba3nj91aql8jjdddfmkkdh7h-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh /nix/store/wmknncrif06fqxa16hpdldhixk95nds0-strip.sh /nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' +defaultNativeBuildInputs='/nix/store/xjlvb8x7z3f5rxxswa3c6ghay74a58jm-patchelf-0.15.0 /nix/store/sjdccq7ywcpfjnmisl0ah60b7rg1cjpf-update-autotools-gnu-config-scripts-hook /nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh /nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh /nix/store/12lvf0c7xric9cny7slvf9cmhypl1p67-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/aazf105snicrlvyzzbdj85sx4179rpfp-set-source-date-epoch-to-latest.sh /nix/store/gps9qrh99j7g02840wv5x78ykmz30byp-strip.sh /nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0' depsBuildBuild='' export depsBuildBuild depsBuildBuildPropagated='' @@ -161,20 +162,20 @@ doInstallCheck='' export doInstallCheck dontAddDisableDepTrack='1' export dontAddDisableDepTrack -declare -a envBuildBuildHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' ) -declare -a envBuildHostHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' ) -declare -a envBuildTargetHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' ) -declare -a envHostHostHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' 'pkgConfigWrapper_addPkgConfigPath' ) -declare -a envHostTargetHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' 'pkgConfigWrapper_addPkgConfigPath' ) -declare -a envTargetTargetHooks=() +declare -a envBuildBuildHooks=() +declare -a envBuildHostHooks=() +declare -a envBuildTargetHooks=() +declare -a envHostHostHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' 'ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' ) +declare -a envHostTargetHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' 'ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' ) +declare -a envTargetTargetHooks=('pkgConfigWrapper_addPkgConfigPath' 'ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' ) declare -a fixupOutputHooks=('if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi' 'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi' 'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi' '_moveLib64' '_moveSbin' '_moveSystemdUserUnits' 'patchShebangsAuto' '_pruneLibtoolFiles' '_doStrip' ) guess='8' -initialPath='/nix/store/zx8aqgdy735qzk81glfwil6mbi6ddqb1-coreutils-9.4 /nix/store/sq0w0jchkjqbxl47h52kfwa33qp1adfh-findutils-4.9.0 /nix/store/f3g84l92p0njh0gyk1z7cp2k4qnh91ha-diffutils-3.10 /nix/store/7fqp73ncnbwr5bxxszqicf6r33d9yhkw-gnused-4.9 /nix/store/by6918gg7srjyixqk8kbcdlz82d5pcwx-gnugrep-3.11 /nix/store/1713hchhyzawkxfhk9srxklv03bqj55y-gawk-5.2.2 /nix/store/1y7cqy8y76gsx037mhs3cvb33srj4c7g-gnutar-1.35 /nix/store/21drzcpzpi485f9m6ihspg4kayly5425-gzip-1.13 /nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin /nix/store/452v8bl3sjaq4kil1d9vqxc5vns4cvpp-gnumake-4.4.1 /nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21 /nix/store/l6s9gwsallxxgz3qy7xk6410y842m6dn-patch-2.7.6 /nix/store/pp7yamsghaprdxq94vr2iqx1hd5xn2qf-xz-5.4.5-bin /nix/store/hnz8p5w9xc0ivsiyrgky6f6h7sjb28a5-file-5.45' +initialPath='/nix/store/k48bha2fjqzarg52picsdfwlqx75aqbb-coreutils-9.5 /nix/store/lfhmpajzgfmgl8xrdvp2r9hdi2rf17wy-findutils-4.10.0 /nix/store/xrpvl6c1pyq7zazqnb41kgshmkr85da1-diffutils-3.10 /nix/store/gvivnz7rb2gz1vy7d9mdxgzj9didz7w2-gnused-4.9 /nix/store/14aswfz6pm8zvyyy927xzmi8x4rnvlc8-gnugrep-3.11 /nix/store/45jb5s18799g8day8zjixrvknj4chp6r-gawk-5.3.1 /nix/store/sdljgkhcmlflr785i4jffg1rvm294i1k-gnutar-1.35 /nix/store/pg1n8f8zlwh4q4bsbnm9gwhx7cbix1m6-gzip-1.13 /nix/store/y59bxw99pbld247dznzv352cqdhlybqi-bzip2-1.0.8-bin /nix/store/a08385589ajv3ahmp81nml9bh5dsi55n-gnumake-4.4.1 /nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37 /nix/store/0knrdpnzi5s4igcvzw8yhkj8daq84a2v-patch-2.7.6 /nix/store/g6rf9zyrz8hrgz4r7sd2hab3j1afxdkr-xz-5.6.3-bin /nix/store/83jpg0nha0gp1pggdvsk7zh6wn5lgm00-file-5.45' mesonFlags='' export mesonFlags name='nix-shell-env' export name -nativeBuildInputs='/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0 /nix/store/7yx2i1wm89zhypky0l0lmmpl10yf0bh7-openssl-3.0.12-dev /nix/store/1nvm1a9a9mlwyy7d0hapkzchxgjgpw19-pkg-config-wrapper-0.29.2 /nix/store/9k9x2l50chwklcnzksr1dsvdakrjyjii-cargo-deny-0.14.3 /nix/store/rvw4mnfpvfl3p6jxv53fh2ns95f8vijd-cargo-edit-0.12.2 /nix/store/dggqys77plh2lv2xkq12973q7g42ay4p-cargo-watch-8.4.1 /nix/store/z7aihjs62zxyi8hkl6pspabhs13lmpr4-rust-analyzer-2023-11-13' +nativeBuildInputs='' export nativeBuildInputs out='/home/spectre/code/aocrust/outputs/out' export out @@ -193,12 +194,12 @@ patches='' export patches phases='buildPhase' export phases -pkg='/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' -declare -a pkgsBuildBuild=('/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' '/nix/store/lwqnazddv8037sin49482dnzc9iwgg8l-binutils-wrapper-2.40' ) -declare -a pkgsBuildHost=('/nix/store/cy82np97iwsqpyavbykkj181q12ffwvb-rust-default-1.71.0' '/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' '/nix/store/lwqnazddv8037sin49482dnzc9iwgg8l-binutils-wrapper-2.40' '/nix/store/7yx2i1wm89zhypky0l0lmmpl10yf0bh7-openssl-3.0.12-dev' '/nix/store/sr9ka27mzwb3mpvmh1k9180k9rrzlrky-openssl-3.0.12-bin' '/nix/store/c7rf6w8xvxc4423m9rsgq5nsqhknshvy-openssl-3.0.12' '/nix/store/1nvm1a9a9mlwyy7d0hapkzchxgjgpw19-pkg-config-wrapper-0.29.2' '/nix/store/9k9x2l50chwklcnzksr1dsvdakrjyjii-cargo-deny-0.14.3' '/nix/store/rvw4mnfpvfl3p6jxv53fh2ns95f8vijd-cargo-edit-0.12.2' '/nix/store/dggqys77plh2lv2xkq12973q7g42ay4p-cargo-watch-8.4.1' '/nix/store/z7aihjs62zxyi8hkl6pspabhs13lmpr4-rust-analyzer-2023-11-13' '/nix/store/pyq6gyhgck1nkfyjs6842ysxkxzjxkaj-patchelf-0.15.0' '/nix/store/j0blrlhddcnqgq1v1cd4pfggjr2wah8n-update-autotools-gnu-config-scripts-hook' '/nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh' '/nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh' '/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh' '/nix/store/wzdsbnv2ba3nj91aql8jjdddfmkkdh7h-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh' '/nix/store/wmknncrif06fqxa16hpdldhixk95nds0-strip.sh' ) +pkg='/nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0' +declare -a pkgsBuildBuild=() +declare -a pkgsBuildHost=('/nix/store/xjlvb8x7z3f5rxxswa3c6ghay74a58jm-patchelf-0.15.0' '/nix/store/sjdccq7ywcpfjnmisl0ah60b7rg1cjpf-update-autotools-gnu-config-scripts-hook' '/nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh' '/nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh' '/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh' '/nix/store/12lvf0c7xric9cny7slvf9cmhypl1p67-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/aazf105snicrlvyzzbdj85sx4179rpfp-set-source-date-epoch-to-latest.sh' '/nix/store/gps9qrh99j7g02840wv5x78ykmz30byp-strip.sh' '/nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0' '/nix/store/9bacph866qhmr2zfib1h49jixq5hhd01-binutils-wrapper-2.43.1' ) declare -a pkgsBuildTarget=() -declare -a pkgsHostHost=() -declare -a pkgsHostTarget=() +declare -a pkgsHostHost=('/nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0' '/nix/store/9bacph866qhmr2zfib1h49jixq5hhd01-binutils-wrapper-2.43.1' ) +declare -a pkgsHostTarget=('/nix/store/4r4ig3y8xm9zwvra4m3kimn133m24dnv-openssl-3.3.2-dev' '/nix/store/40yym8srkji787nrml52v4v160z41v65-openssl-3.3.2-bin' '/nix/store/5dlhinba4wbr5ijy0vcmyzh4i678z94w-openssl-3.3.2' '/nix/store/f1gamyykr0f8n4afy910ass2jx2g9zkv-pkg-config-wrapper-0.29.2' '/nix/store/y3swnj6xfbbmjawi524v12j69k9g35ds-cargo-deny-0.16.2' '/nix/store/9kw90wqbaj0nz618yy6dar012mpz8ik1-cargo-edit-0.13.0' '/nix/store/66kz62g4cd72b44crkqlhsy1p60w9hga-cargo-watch-8.5.3' '/nix/store/8ky932dblp2vb2khjyhb92xwsy4ah859-rust-analyzer-2024-11-11' '/nix/store/nlrv3m4vd69lw8z6xbwi4yg7z7fqpcka-rust-default-1.85.0-nightly-2024-12-02' '/nix/store/3ix5h74n7ar9950vwzp4dxmil70pmx0k-gcc-wrapper-13.3.0' '/nix/store/9bacph866qhmr2zfib1h49jixq5hhd01-binutils-wrapper-2.43.1' ) declare -a pkgsTargetTarget=() declare -a postFixupHooks=('_makeSymlinksRelativeInAllOutputs' '_multioutPropagateDev' ) declare -a postUnpackHooks=('_updateSourceDateEpochFromSourceRoot' ) @@ -215,42 +216,17 @@ declare -a propagatedHostDepFiles=('propagated-host-host-deps' 'propagated-build propagatedNativeBuildInputs='' export propagatedNativeBuildInputs declare -a propagatedTargetDepFiles=('propagated-target-target-deps' ) -shell='/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin/bash' +shell='/nix/store/0irlcqx2n3qm6b1pc9rsd2i8qpvcccaj-bash-5.2p37/bin/bash' export shell shellHook='' export shellHook -stdenv='/nix/store/d4jf1cbbk494zwgbqz31pxgigpsbh6w2-stdenv-linux' +stdenv='/nix/store/gw0swsnbfk9l8d1il70psm8b3r5m33jv-stdenv-linux' export stdenv strictDeps='' export strictDeps system='x86_64-linux' export system declare -a unpackCmdHooks=('_defaultUnpack' ) -_accumFlagsArray () -{ - - local name; - if [ -n "$__structuredAttrs" ]; then - for name in "$@"; - do - local -n nameref="$name"; - flagsArray+=(${nameref+"${nameref[@]}"}); - done; - else - for name in "$@"; - do - local -n nameref="$name"; - case "$name" in - *Array) - flagsArray+=(${nameref+"${nameref[@]}"}) - ;; - *) - flagsArray+=(${nameref-}) - ;; - esac; - done; - fi -} _activatePkgs () { @@ -316,13 +292,10 @@ _allFlags () { export system pname name version; - 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}" 1>&2; - fi; + while IFS='' read -r varName; do + nixTalkativeLog "@${varName}@ -> ${!varName}"; args+=("--subst-var" "$varName"); - done + done < <(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }') } _assignFirst () { @@ -358,12 +331,15 @@ _callImplicitHook () local def="$1"; local hookName="$2"; if declare -F "$hookName" > /dev/null; then + nixTalkativeLog "calling implicit '$hookName' function hook"; "$hookName"; else if type -p "$hookName" > /dev/null; then + nixTalkativeLog "sourcing implicit '$hookName' script hook"; source "$hookName"; else if [ -n "${!hookName:-}" ]; then + nixTalkativeLog "evaling implicit '$hookName' string hook"; eval "${!hookName}"; else return "$def"; @@ -387,10 +363,11 @@ _defaultUnpack () else case "$fn" in *.tar.xz | *.tar.lzma | *.txz) - xz -d < "$fn" | tar xf - --warning=no-timestamp + ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn"; + true ) | tar xf - --mode=+w --warning=no-timestamp ;; *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz) - tar xf "$fn" --warning=no-timestamp + tar xf "$fn" --mode=+w --warning=no-timestamp ;; *) return 1 @@ -434,6 +411,40 @@ _eval () eval "$1"; fi } +_logHook () +{ + + if [[ -z ${NIX_LOG_FD-} ]]; then + return; + fi; + local hookKind="$1"; + local hookExpr="$2"; + shift 2; + if declare -F "$hookExpr" > /dev/null 2>&1; then + nixTalkativeLog "calling '$hookKind' function hook '$hookExpr'" "$@"; + else + if type -p "$hookExpr" > /dev/null; then + nixTalkativeLog "sourcing '$hookKind' script hook '$hookExpr'"; + else + if [[ "$hookExpr" != "_callImplicitHook"* ]]; then + local exprToOutput; + if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then + exprToOutput="$hookExpr"; + else + local hookExprLine; + while IFS= read -r hookExprLine; do + hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}"; + if [[ -n "$hookExprLine" ]]; then + exprToOutput+="$hookExprLine\\n "; + fi; + done <<< "$hookExpr"; + exprToOutput="${exprToOutput%%\\n }"; + fi; + nixTalkativeLog "evaling '$hookKind' string hook '$exprToOutput'"; + fi; + fi; + fi +} _makeSymlinksRelative () { @@ -658,6 +669,7 @@ activatePackage () local -r targetOffset="$3"; (( hostOffset <= targetOffset )) || exit 1; if [ -f "$pkg" ]; then + nixTalkativeLog "sourcing setup hook '$pkg'"; source "$pkg"; fi; if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then @@ -670,6 +682,7 @@ activatePackage () addToSearchPath _HOST_PATH "$pkg/bin"; fi; if [[ -f "$pkg/nix-support/setup-hook" ]]; then + nixTalkativeLog "sourcing setup hook '$pkg/nix-support/setup-hook'"; source "$pkg/nix-support/setup-hook"; fi } @@ -710,18 +723,19 @@ appendToVar () else useArray=false; fi; - if declare -p "$1" 2> /dev/null | grep -q '^'; then - type="$(declare -p "$1")"; - if [[ "$type" =~ "declare -A" ]]; then - echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\"X\"]=\"Y\") instead." 1>&2; - return 1; - else - if [[ "$type" =~ "declare -a" ]]; then - useArray=true; - else - useArray=false; - fi; - fi; + if type=$(declare -p "$1" 2> /dev/null); then + case "${type#* }" in + -A*) + echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\"X\"]=\"Y\") instead." 1>&2; + return 1 + ;; + -a*) + useArray=true + ;; + *) + useArray=false + ;; + esac; fi; shift; if $useArray; then @@ -783,8 +797,8 @@ buildPhase () echo "no Makefile or custom buildPhase, doing nothing"; else foundMakefile=1; - local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); - _accumFlagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray; + local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); + concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray; echoCmd 'build flags' "${flagsArray[@]}"; make ${makefile:+-f $makefile} "${flagsArray[@]}"; unset flagsArray; @@ -814,25 +828,18 @@ checkPhase () fi; if [[ -z "${checkTarget:-}" ]]; then if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then - checkTarget=check; + checkTarget="check"; else if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then - checkTarget=test; + checkTarget="test"; fi; fi; fi; if [[ -z "${checkTarget:-}" ]]; then echo "no check/test target in ${makefile:-Makefile}, doing nothing"; else - local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); - _accumFlagsArray makeFlags makeFlagsArray; - if [ -n "$__structuredAttrs" ]; then - flagsArray+=("${checkFlags[@]:-VERBOSE=y}"); - else - flagsArray+=(${checkFlags:-VERBOSE=y}); - fi; - _accumFlagsArray checkFlagsArray; - flagsArray+=(${checkTarget}); + local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); + concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget; echoCmd 'check flags' "${flagsArray[@]}"; make ${makefile:+-f $makefile} "${flagsArray[@]}"; unset flagsArray; @@ -862,6 +869,66 @@ compressManPages () fi; done } +concatStringsSep () +{ + + local sep="$1"; + local name="$2"; + local type oldifs; + if type=$(declare -p "$name" 2> /dev/null); then + local -n nameref="$name"; + case "${type#* }" in + -A*) + echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2; + return 1 + ;; + -a*) + local IFS="$sep"; + echo -n "${nameref[*]}" + ;; + *) + echo -n "${nameref// /"${sep}"}" + ;; + esac; + fi +} +concatTo () +{ + + local -; + set -o noglob; + local -n targetref="$1"; + shift; + local arg default name type; + for arg in "$@"; + do + IFS="=" read -r name default <<< "$arg"; + local -n nameref="$name"; + if [[ -z "${nameref[*]}" && -n "$default" ]]; then + targetref+=("$default"); + else + if type=$(declare -p "$name" 2> /dev/null); then + case "${type#* }" in + -A*) + echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2; + return 1 + ;; + -a*) + targetref+=("${nameref[@]}") + ;; + *) + if [[ "$name" = *"Array" ]]; then + nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future"; + targetref+=(${nameref+"${nameref[@]}"}); + else + targetref+=(${nameref-}); + fi + ;; + esac; + fi; + fi; + done +} configurePhase () { @@ -901,7 +968,7 @@ configurePhase () fi; if [ -n "$configureScript" ]; then local -a flagsArray; - _accumFlagsArray configureFlags configureFlagsArray; + concatTo flagsArray configureFlags configureFlagsArray; echoCmd 'configure flags' "${flagsArray[@]}"; $configureScript "${flagsArray[@]}"; unset flagsArray; @@ -923,8 +990,7 @@ distPhase () runHook preDist; local flagsArray=(); - _accumFlagsArray distFlags distFlagsArray; - flagsArray+=(${distTarget:-dist}); + concatTo flagsArray distFlags distFlagsArray distTarget=dist; echo 'dist flags: %q' "${flagsArray[@]}"; make ${makefile:+-f $makefile} "${flagsArray[@]}"; if [ "${dontCopyDist:-0}" != 1 ]; then @@ -937,7 +1003,9 @@ dumpVars () { if [ "${noDumpEnvVars:-0}" != 1 ]; then - export 2> /dev/null >| "$NIX_BUILD_TOP/env-vars" || true; + { + install -m 0600 /dev/null "$NIX_BUILD_TOP/env-vars" && export 2> /dev/null >| "$NIX_BUILD_TOP/env-vars" + } || true; fi } echoCmd () @@ -1055,7 +1123,7 @@ fixupPhase () for output in $(getAllOutputNames); do if [ -e "${!output}" ]; then - chmod -R u+w "${!output}"; + chmod -R u+w,u-s,g-s "${!output}"; fi; done; runHook preFixup; @@ -1140,7 +1208,7 @@ getRole () role_post='_FOR_TARGET' ;; *) - echo "pkg-config-wrapper-0.29.2: used as improper sort of dependency" 1>&2; + echo "binutils-wrapper-2.43.1: used as improper sort of dependency" 1>&2; return 1 ;; esac @@ -1160,16 +1228,16 @@ getTargetRoleWrapper () case $targetOffset in -1) - export NIX_PKG_CONFIG_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1 + export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1 ;; 0) - export NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1 + export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1 ;; 1) - export NIX_PKG_CONFIG_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1 + export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1 ;; *) - echo "pkg-config-wrapper-0.29.2: used as improper sort of dependency" 1>&2; + echo "binutils-wrapper-2.43.1: used as improper sort of dependency" 1>&2; return 1 ;; esac @@ -1184,9 +1252,8 @@ installCheckPhase () if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then echo "no installcheck target in ${makefile:-Makefile}, doing nothing"; else - local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); - _accumFlagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray; - flagsArray+=(${installCheckTarget:-installcheck}); + local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); + concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck; echoCmd 'installcheck flags' "${flagsArray[@]}"; make ${makefile:+-f $makefile} "${flagsArray[@]}"; unset flagsArray; @@ -1208,13 +1275,8 @@ installPhase () if [ -n "$prefix" ]; then mkdir -p "$prefix"; fi; - local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); - _accumFlagsArray makeFlags makeFlagsArray installFlags installFlagsArray; - if [ -n "$__structuredAttrs" ]; then - flagsArray+=("${installTargets[@]:-install}"); - else - flagsArray+=(${installTargets:-install}); - fi; + local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); + concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install; echoCmd 'install flags' "${flagsArray[@]}"; make ${makefile:+-f $makefile} "${flagsArray[@]}"; unset flagsArray; @@ -1326,6 +1388,70 @@ moveToOutput () done; done } +nixChattyLog () +{ + + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 5 ]]; then + return; + fi; + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} +nixDebugLog () +{ + + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 6 ]]; then + return; + fi; + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} +nixErrorLog () +{ + + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 0 ]]; then + return; + fi; + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} +nixInfoLog () +{ + + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 3 ]]; then + return; + fi; + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} +nixNoticeLog () +{ + + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 2 ]]; then + return; + fi; + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} +nixTalkativeLog () +{ + + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 4 ]]; then + return; + fi; + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} +nixVomitLog () +{ + + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 7 ]]; then + return; + fi; + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} +nixWarnLog () +{ + + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 1 ]]; then + return; + fi; + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} patchELF () { @@ -1349,11 +1475,7 @@ patchPhase () runHook prePatch; local -a patchesArray; - if [ -n "$__structuredAttrs" ]; then - patchesArray=(${patches:+"${patches[@]}"}); - else - patchesArray=(${patches:-}); - fi; + concatTo patchesArray patches; for i in "${patchesArray[@]}"; do echo "applying patch $i"; @@ -1373,11 +1495,7 @@ patchPhase () ;; esac; local -a flagsArray; - if [ -n "$__structuredAttrs" ]; then - flagsArray=("${patchFlags[@]:--p1}"); - else - flagsArray=(${patchFlags:--p1}); - fi; + concatTo flagsArray patchFlags=-p1; $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}"; done; runHook postPatch @@ -1429,7 +1547,7 @@ patchShebangs () local f; while IFS= read -r -d '' f; do isScript "$f" || continue; - read -r oldInterpreterLine < "$f"; + read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ]; read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"; if [[ -z "${pathName:-}" ]]; then if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then @@ -1442,21 +1560,21 @@ patchShebangs () if [[ $arg0 == "-S" ]]; then arg0=${args%% *}; args=${args#* }; - newPath="$(PATH="${!pathName}" command -v "env" || true)"; - args="-S $(PATH="${!pathName}" command -v "$arg0" || true) $args"; + newPath="$(PATH="${!pathName}" type -P "env" || true)"; + args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args"; else if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2; exit 1; else - newPath="$(PATH="${!pathName}" command -v "$arg0" || true)"; + newPath="$(PATH="${!pathName}" type -P "$arg0" || true)"; fi; fi; else if [[ -z $oldPath ]]; then oldPath="/bin/sh"; fi; - newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)"; + newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)"; args="$arg0 $args"; fi; newInterpreterLine="$newPath $args"; @@ -1501,18 +1619,19 @@ prependToVar () else useArray=false; fi; - if declare -p "$1" 2> /dev/null | grep -q '^'; then - type="$(declare -p "$1")"; - if [[ "$type" =~ "declare -A" ]]; then - echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2; - return 1; - else - if [[ "$type" =~ "declare -a" ]]; then - useArray=true; - else - useArray=false; - fi; - fi; + if type=$(declare -p "$1" 2> /dev/null); then + case "${type#* }" in + -A*) + echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2; + return 1 + ;; + -a*) + useArray=true + ;; + *) + useArray=false + ;; + esac; fi; shift; if $useArray; then @@ -1557,6 +1676,7 @@ runHook () local hook; for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"}; do + _logHook "$hookName" "$hook" "$@"; _eval "$hook" "$@"; done; return 0 @@ -1570,6 +1690,7 @@ runOneHook () local hook ret=1; for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"}; do + _logHook "$hookName" "$hook" "$@"; if _eval "$hook" "$@"; then ret=0; break; @@ -1608,18 +1729,16 @@ runPhase () if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then return; fi; - if [[ -n $NIX_LOG_FD ]]; then - echo "@nix { \"action\": \"setPhase\", \"phase\": \"$curPhase\" }" >&"$NIX_LOG_FD"; - fi; showPhaseHeader "$curPhase"; dumpVars; - local startTime=$(date +"%s"); + local startTime endTime; + startTime=$(date +"%s"); eval "${!curPhase:-$curPhase}"; - local endTime=$(date +"%s"); + endTime=$(date +"%s"); showPhaseFooter "$curPhase" "$startTime" "$endTime"; if [ "$curPhase" = unpackPhase ]; then - [ -n "${sourceRoot:-}" ] && chmod +x "${sourceRoot}"; - cd "${sourceRoot:-.}"; + [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}"; + cd -- "${sourceRoot:-.}"; fi } showPhaseFooter () @@ -1642,7 +1761,11 @@ showPhaseHeader () { local phase="$1"; - echo "Running phase: $phase" + echo "Running phase: $phase"; + if [[ -z ${NIX_LOG_FD-} ]]; then + return; + fi; + printf "@nix { \"action\": \"setPhase\", \"phase\": \"%s\" }\n" "$phase" >&"$NIX_LOG_FD" } stripDirs () { @@ -1674,7 +1797,7 @@ stripDirs () echo "stripping (with command $cmd and flags $stripFlags) in $paths"; local striperr; striperr="$(mktemp --tmpdir="$TMPDIR" 'striperr.XXXXXX')"; - find $paths -type f "${excludeFlags[@]}" -a '!' -path "$prefix/lib/debug/*" -print0 | xargs -r -0 -n1 -- realpath -z | sort -u -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?; + find $paths -type f "${excludeFlags[@]}" -a '!' -path "$prefix/lib/debug/*" -printf '%D-%i,%p\0' | sort -t, -k1,1 -u -z | cut -d, -f2- -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?; [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 ); rm "$striperr"; find $paths -name '*.a' -type f -exec $ranlibCmd '{}' \; 2> /dev/null; @@ -1748,6 +1871,10 @@ substituteInPlace () fileNames+=("$arg"); shift; done; + if ! [[ "${#fileNames[@]}" -gt 0 ]]; then + echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2; + return 1; + fi; for file in "${fileNames[@]}"; do substitute "$file" "$file" "$@"; @@ -1760,8 +1887,16 @@ substituteStream () local description=$2; shift 2; while (( "$#" )); do + local replace_mode="$1"; case "$1" in --replace) + if ! "$_substituteStream_has_warned_replace_deprecation"; then + echo "substituteStream() in derivation $name: WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2; + _substituteStream_has_warned_replace_deprecation=true; + fi; + replace_mode='--replace-warn' + ;& + --replace-quiet | --replace-warn | --replace-fail) pattern="$2"; replacement="$3"; shift 3; @@ -1770,7 +1905,14 @@ substituteStream () eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'; if [ "$pattern" != "$replacement" ]; then if [ "${!var}" == "$savedvar" ]; then - echo "substituteStream(): WARNING: pattern '$pattern' doesn't match anything in $description" 1>&2; + if [ "$replace_mode" == --replace-warn ]; then + printf "substituteStream() in derivation $name: WARNING: pattern %q doesn't match anything in %s\n" "$pattern" "$description" 1>&2; + else + if [ "$replace_mode" == --replace-fail ]; then + printf "substituteStream() in derivation $name: ERROR: pattern %q doesn't match anything in %s\n" "$pattern" "$description" 1>&2; + return 1; + fi; + fi; fi; fi ;; @@ -1778,11 +1920,11 @@ substituteStream () local varName="$2"; shift 2; if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then - echo "substituteStream(): ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." 1>&2; + echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." 1>&2; return 1; fi; if [ -z ${!varName+x} ]; then - echo "substituteStream(): ERROR: variable \$$varName is unset" 1>&2; + echo "substituteStream() in derivation $name: ERROR: variable \$$varName is unset" 1>&2; return 1; fi; pattern="@$varName@"; @@ -1796,7 +1938,7 @@ substituteStream () shift 3 ;; *) - echo "substituteStream(): ERROR: Invalid command line argument: $1" 1>&2; + echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2; return 1 ;; esac; @@ -1825,11 +1967,7 @@ unpackPhase () srcs="$src"; fi; local -a srcsArray; - if [ -n "$__structuredAttrs" ]; then - srcsArray=("${srcs[@]}"); - else - srcsArray=($srcs); - fi; + concatTo srcsArray srcs; local dirsBefore=""; for i in *; do @@ -1886,7 +2024,7 @@ updateAutotoolsGnuConfigScriptsPhase () for f in $(find . -type f -name "$script"); do echo "Updating Autotools / GNU config script to a newer upstream version: $f"; - cp -f "/nix/store/y83pz60av31hpr11zlbvc7bb93bk5fkd-gnu-config-2023-09-19/$script" "$f"; + cp -f "/nix/store/hi0n0389lgyjp7v95q7wmxrf3db448xp-gnu-config-2024-01-01/$script" "$f"; done; done } @@ -1894,6 +2032,7 @@ updateSourceDateEpoch () { local path="$1"; + [[ $path == -* ]] && path="./$path"; local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf '%T@ %p\0' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1)); local time="${res[0]//\.[0-9]*/}"; local newestFile="${res[1]}"; diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..d07eab5 --- /dev/null +++ b/flake.lock @@ -0,0 +1,82 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1733015953, + "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733106880, + "narHash": "sha256-aJmAIjZfWfPSWSExwrYBLRgXVvgF5LP1vaeUGOOIQ98=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "e66c0d43abf5bdefb664c3583ca8994983c332ae", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index 11a3b21..2808caf 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,9 @@ { - description = "A Nix-flake-based Rust development environment"; + description = "Dev Shell for AdventOfCode by lilith"; inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; @@ -9,42 +11,35 @@ }; outputs = { - self, nixpkgs, rust-overlay, - }: let - overlays = [ - rust-overlay.overlays.default - (final: prev: { - rustToolchain = let - rust = prev.rust-bin; - in - if builtins.pathExists ./rust-toolchain.toml - then rust.fromRustupToolchainFile ./rust-toolchain.toml - else if builtins.pathExists ./rust-toolchain - then rust.fromRustupToolchainFile ./rust-toolchain - else rust.stable.latest.default; - }) - ]; - supportedSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; - forEachSupportedSystem = f: - nixpkgs.lib.genAttrs supportedSystems (system: - f { - pkgs = import nixpkgs {inherit overlays system;}; - }); - in { - devShells = forEachSupportedSystem ({pkgs}: { - default = pkgs.mkShell { - packages = with pkgs; [ - rustToolchain - openssl - pkg-config - cargo-deny - cargo-edit - cargo-watch - rust-analyzer - ]; - }; - }); - }; + flake-utils, + ... + }: + flake-utils.lib.eachDefaultSystem ( + system: let + overlays = [(import rust-overlay)]; + pkgs = import nixpkgs { + inherit system overlays; + }; + in { + devShells.default = with pkgs; + mkShell { + buildInputs = [ + openssl + pkg-config + cargo-deny + cargo-edit + cargo-watch + rust-analyzer + ( + rust-bin.selectLatestNightlyWith (toolchain: + toolchain.default.override { + extensions = ["rust-src"]; + }) + ) + ]; + }; + } + ); } diff --git a/src/main.rs b/src/main.rs index f94195c..b1cf701 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,6 +12,8 @@ use std::{time::Instant, env}; fn main() { let year = 2024; let day = 2; + + fetch_data(year, day).unwrap(); let Ok(data) = load_actual(year, day) else { panic!("No Input Data"); }; @@ -33,7 +35,7 @@ fn main() { } -fn fetch_data(year, day) -> Result<(), Box> { +fn fetch_data(year: usize, day: usize) -> Result<(), Box> { let url = format!("https://adventofcode.com/{year}/day/{day}/input"); let session_cookie = env::var("ADVENT_TOKEN")?; @@ -43,8 +45,8 @@ fn fetch_data(year, day) -> Result<(), Box> { .header(COOKIE, session_cookie) .send()?; - let body = response.text()?; - println!("Response: {}", body); + let body = response.text(); + println!("Response: {:?}", body); Ok(()) }