Last active
December 13, 2025 21:25
-
-
Save ApprenticeofEnder/e22cd085c10c6f6a9b98e8dded1ca97f to your computer and use it in GitHub Desktop.
Devenv + SecretSpec + Direnv Repro
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env bash | |
| export DIRENV_WARN_TIMEOUT=20s | |
| op signin | |
| eval "$(devenv direnvrc)" | |
| # `use devenv` supports the same options as the `devenv shell` command. | |
| # | |
| # To silence all output, use `--quiet`. | |
| # | |
| # Example usage: use devenv --quiet --impure --option services.postgres.enable:bool true | |
| set -x | |
| use devenv 2>logs-verbose.txt |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ~/.config/secretspec/config.toml | |
| [defaults] | |
| provider = "keyring" | |
| profile = "development" | |
| [defaults.providers] | |
| keyring = "keyring://" | |
| drctf_prod = "onepassword://DrCTF/Production" | |
| drctf_dev = "onepassword://DrCTF/Dev" | |
| drctf_shared = "onepassword://DrCTF/Shared" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { pkgs, config, ... }: | |
| { | |
| # https://devenv.sh/basics/ | |
| name = "DrCTF"; | |
| cachix = { | |
| pull = [ "rbabaev" ]; | |
| }; | |
| # https://devenv.sh/packages/ | |
| packages = with pkgs; [ | |
| git | |
| loco | |
| sqlite | |
| secretspec | |
| sea-orm-cli | |
| cargo-generate | |
| ]; | |
| # https://devenv.sh/languages/ | |
| languages = { | |
| rust.enable = true; | |
| javascript = { | |
| enable = true; | |
| bun = { | |
| enable = true; | |
| }; | |
| }; | |
| typescript.enable = true; | |
| }; | |
| # https://devenv.sh/scripts/ | |
| scripts = { | |
| dev = { | |
| exec = '' | |
| cargo loco start | |
| ''; | |
| }; | |
| du = { | |
| exec = '' | |
| cd ${config.git.root} | |
| devenv up | |
| ''; | |
| }; | |
| }; | |
| difftastic.enable = true; | |
| # https://devenv.sh/git-hooks/ | |
| git-hooks.hooks = { | |
| deadnix.enable = true; | |
| check-toml.enable = true; | |
| shellcheck.enable = true; | |
| cargo-check.enable = true; | |
| }; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # yaml-language-server: $schema=https://devenv.sh/devenv.schema.json | |
| inputs: | |
| nixpkgs: | |
| url: github:cachix/devenv-nixpkgs/rolling | |
| secretspec: | |
| enable: true | |
| provider: "onepassword://DrCTF/Dev" | |
| profile: development |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ++ local cmd=devenv | |
| ++ log_status 'using devenv' | |
| ++ /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv log -status 'using devenv' | |
| ++ shift | |
| ++ use_devenv | |
| ++ _nix_direnv_preflight | |
| ++ [[ -z /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv ]] | |
| ++ [[ -z '' ]] | |
| +++ command -v devenv | |
| ++ DEVENV_BIN=/home/ender/.nix-profile/bin/devenv | |
| ++ [[ -z /home/ender/.nix-profile/bin/devenv ]] | |
| ++ has direnv_version | |
| ++ type direnv_version | |
| ++ direnv_version 2.21.3 | |
| ++ local layout_dir | |
| +++ direnv_layout_dir | |
| +++ echo /home/ender/Documents/Projects/dr-ctf/.direnv | |
| ++ layout_dir=/home/ender/Documents/Projects/dr-ctf/.direnv | |
| ++ [[ ! -d /home/ender/Documents/Projects/dr-ctf/.direnv ]] | |
| ++ export DEVENV_DIRENVRC_VERSION=1 | |
| ++ DEVENV_DIRENVRC_VERSION=1 | |
| ++ export DEVENV_DIRENVRC_ROLLING_UPGRADE=1 | |
| ++ DEVENV_DIRENVRC_ROLLING_UPGRADE=1 | |
| ++ export DEVENV_CMDLINE= | |
| ++ DEVENV_CMDLINE= | |
| ++ devenv_cmd=('/home/ender/.nix-profile/bin/devenv') | |
| ++ local devenv_cmd | |
| ++ (( 0 > 0 )) | |
| ++ devenv_dir=. | |
| ++ env_deps_path=./.devenv/input-paths.txt | |
| ++ local default_watches | |
| ++ default_watches=(".envrc" "$HOME/.direnvrc" "$HOME/.config/direnv/direnvrc") | |
| ++ [[ -d . ]] | |
| ++ default_watches+=("$devenv_dir/devenv.nix" "$devenv_dir/devenv.lock" "$devenv_dir/devenv.yaml" "$devenv_dir/devenv.local.nix" "$devenv_dir/devenv.local.yaml") | |
| ++ [[ -f ./devenv.yaml ]] | |
| ++ /home/ender/.nix-profile/bin/devenv assemble | |
| ++ watch_file .envrc /home/ender/.direnvrc /home/ender/.config/direnv/direnvrc ./devenv.nix ./devenv.lock ./devenv.yaml ./devenv.local.nix ./devenv.local.yaml | |
| +++ /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv watch bash .envrc /home/ender/.direnvrc /home/ender/.config/direnv/direnvrc ./devenv.nix ./devenv.lock ./devenv.yaml ./devenv.local.nix ./devenv.local.yaml | |
| ++ eval 'export DIRENV_WATCHES=$'\''eJysks2u2yAQRt-FdRqMAQ9k3QfovuoChpnGLYbKdtxEVd_9LiLdn_zoWlEegMOZo-_7P_EnzHuxE3JfB5JUEo3ya8XDQGWe5Lex_iKcJ5nGLziz3FJZRhQbMdQ09wOJnYLOdl3jNGwEHftpnsRuHg_0f3MTvc0VQ5bTPowkUz9SWWTIuf6V3qJNyoFmFYNLCi1jwuCTdS5aQOU4ddGi4aB0TNEb7bXCzkdwDC7ekjL6YalE5SQ1pGAIowZio4AasqrVbSTfQcPB-zaq6Jh1ghASQcMKHQO0ZIFjbN47NW8qHPJ01-X8_8fIa99iLdz_fD3hcdL9BSRaqCzb0h9vBFfWrwr-KT5X_H3FN9C05jn8UxjyFd9649eteI1_yJeRntX-DL884Yr-4yUAAP__g5lNAw=='\'';' | |
| +++ export DIRENV_WATCHES=eJysks2u2yAQRt-FdRqMAQ9k3QfovuoChpnGLYbKdtxEVd_9LiLdn_zoWlEegMOZo-_7P_EnzHuxE3JfB5JUEo3ya8XDQGWe5Lex_iKcJ5nGLziz3FJZRhQbMdQ09wOJnYLOdl3jNGwEHftpnsRuHg_0f3MTvc0VQ5bTPowkUz9SWWTIuf6V3qJNyoFmFYNLCi1jwuCTdS5aQOU4ddGi4aB0TNEb7bXCzkdwDC7ekjL6YalE5SQ1pGAIowZio4AasqrVbSTfQcPB-zaq6Jh1ghASQcMKHQO0ZIFjbN47NW8qHPJ01-X8_8fIa99iLdz_fD3hcdL9BSRaqCzb0h9vBFfWrwr-KT5X_H3FN9C05jn8UxjyFd9649eteI1_yJeRntX-DL884Yr-4yUAAP__g5lNAw== | |
| +++ DIRENV_WATCHES=eJysks2u2yAQRt-FdRqMAQ9k3QfovuoChpnGLYbKdtxEVd_9LiLdn_zoWlEegMOZo-_7P_EnzHuxE3JfB5JUEo3ya8XDQGWe5Lex_iKcJ5nGLziz3FJZRhQbMdQ09wOJnYLOdl3jNGwEHftpnsRuHg_0f3MTvc0VQ5bTPowkUz9SWWTIuf6V3qJNyoFmFYNLCi1jwuCTdS5aQOU4ddGi4aB0TNEb7bXCzkdwDC7ekjL6YalE5SQ1pGAIowZio4AasqrVbSTfQcPB-zaq6Jh1ghASQcMKHQO0ZIFjbN47NW8qHPJ01-X8_8fIa99iLdz_fD3hcdL9BSRaqCzb0h9vBFfWrwr-KT5X_H3FN9C05jn8UxjyFd9649eteI1_yJeRntX-DL884Yr-4yUAAP__g5lNAw== | |
| ++ local env_watches | |
| ++ _devenv_watches ./.devenv/input-paths.txt env_watches | |
| ++ local path=./.devenv/input-paths.txt | |
| ++ local -n _watches=env_watches | |
| ++ [[ -f ./.devenv/input-paths.txt ]] | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/.devenv/flake.json | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/.env | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/.env | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/devenv.local.nix | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/devenv.local.nix | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/devenv.lock | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/devenv.lock | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/devenv.nix | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/devenv.nix | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| ++ watch_file /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix | |
| +++ /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv watch bash /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix | |
| ++ eval 'export DIRENV_WATCHES=$'\''eJyslF1u3SAQhffC860xBjxwn7uAvld9gGGm1wmGynbcRFX3XlWW-pM4iZXcBfDNmY8Dn3-Ib2G5iLOQlzqSpJJokh8r3o1Ulll-muoN4TLLNH3AhWVDZZ1QnMRY0zKMJM4Ketv3rdNwEnQ_zMsszst0Rz9Pu-gmVwxZzpcwkUzDRGWVIef6XXqLNikHmlUMLim0jAmDT9a5aAGV49RHi4aD0jFFb7TXCnsfwTG4uBfK6DeHSlQepIYUDGHUQGwUUEtWdbqL5HtoOXjfRRUds04QQiJoWaFjgI4scIztv5nav1E45PnZLNv8_yUfPYu18PD1zwpvJz3fgEQrlbUpw_2OcGX9IeGv4nPF2yd8A21nrsN_CGN-wrfe-GMtPpI_5MeSruV-gz9e4d30ZsNLzuGWmpu5lt0bOPakXh3TbGP2e-Te3aPfH9WLdr78CgAA__90KK8Q'\'';' | |
| +++ export DIRENV_WATCHES=eJyslF1u3SAQhffC860xBjxwn7uAvld9gGGm1wmGynbcRFX3XlWW-pM4iZXcBfDNmY8Dn3-Ib2G5iLOQlzqSpJJokh8r3o1Ulll-muoN4TLLNH3AhWVDZZ1QnMRY0zKMJM4Ketv3rdNwEnQ_zMsszst0Rz9Pu-gmVwxZzpcwkUzDRGWVIef6XXqLNikHmlUMLim0jAmDT9a5aAGV49RHi4aD0jFFb7TXCnsfwTG4uBfK6DeHSlQepIYUDGHUQGwUUEtWdbqL5HtoOXjfRRUds04QQiJoWaFjgI4scIztv5nav1E45PnZLNv8_yUfPYu18PD1zwpvJz3fgEQrlbUpw_2OcGX9IeGv4nPF2yd8A21nrsN_CGN-wrfe-GMtPpI_5MeSruV-gz9e4d30ZsNLzuGWmpu5lt0bOPakXh3TbGP2e-Te3aPfH9WLdr78CgAA__90KK8Q | |
| +++ DIRENV_WATCHES=eJyslF1u3SAQhffC860xBjxwn7uAvld9gGGm1wmGynbcRFX3XlWW-pM4iZXcBfDNmY8Dn3-Ib2G5iLOQlzqSpJJokh8r3o1Ulll-muoN4TLLNH3AhWVDZZ1QnMRY0zKMJM4Ketv3rdNwEnQ_zMsszst0Rz9Pu-gmVwxZzpcwkUzDRGWVIef6XXqLNikHmlUMLim0jAmDT9a5aAGV49RHi4aD0jFFb7TXCnsfwTG4uBfK6DeHSlQepIYUDGHUQGwUUEtWdbqL5HtoOXjfRRUds04QQiJoWaFjgI4scIztv5nav1E45PnZLNv8_yUfPYu18PD1zwpvJz3fgEQrlbUpw_2OcGX9IeGv4nPF2yd8A21nrsN_CGN-wrfe-GMtPpI_5MeSruV-gz9e4d30ZsNLzuGWmpu5lt0bOPakXh3TbGP2e-Te3aPfH9WLdr78CgAA__90KK8Q | |
| ++ local env | |
| ++ print_cmd=('/home/ender/.nix-profile/bin/devenv' 'print-dev-env') | |
| ++ local print_cmd | |
| +++ /home/ender/.nix-profile/bin/devenv print-dev-env | |
| Using Cachix caches: devenv, rbabaev | |
| Building shell in 17.5s | |
| ++ env=$'Checking secrets in dr-ctf using onepassword (profile: development)...\n\n✓ POSTGRES_URL - Database connection string\n✓ defaults - No description\n✓ POSTGRES_PASSWORD - Database password\n✓ POSTGRES_USER - Database user\n\nSummary: 4 found, 0 missing\nunset shellHook\nPATH=${PATH:-}\nnix_saved_PATH="$PATH"\nXDG_DATA_DIRS=${XDG_DATA_DIRS:-}\nnix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"\nAR=\'ar\'\nexport AR\nAS=\'as\'\nexport AS\nBASH=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nCC=\'gcc\'\nexport CC\nCONFIG_SHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport CONFIG_SHELL\nCXX=\'g++\'\nexport CXX\nDETERMINISTIC_BUILD=\'1\'\nexport DETERMINISTIC_BUILD\nDEVENV_DOTFILE=\'/home/ender/Documents/Projects/dr-ctf/.devenv\'\nexport DEVENV_DOTFILE\nDEVENV_PROFILE=\'/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile\'\nexport DEVENV_PROFILE\nDEVENV_ROOT=\'/home/ender/Documents/Projects/dr-ctf\'\nexport DEVENV_ROOT\nDEVENV_RUNTIME=\'/run/user/1000/devenv-405663c\'\nexport DEVENV_RUNTIME\nDEVENV_STATE=\'/home/ender/Documents/Projects/dr-ctf/.devenv/state\'\nexport DEVENV_STATE\nDEVENV_TASKS=\'[{"after":[],"before":[],"command":"/nix/store/yhwb3x398329il20dj3mprzhsql1jg9k-devenv-enterShell","cwd":null,"description":"Runs when entering the shell","exec_if_modified":[],"input":{},"name":"devenv:enterShell","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"Runs when entering the test environment","exec_if_modified":[],"input":{},"name":"devenv:enterTest","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:files","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterShell"],"command":"/nix/store/qjsk2mi9da3rkbjn3ffsyrzw33c48a90-devenv-git-hooks-install","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:install","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterTest"],"command":"/nix/store/ywfhq0r3lp4xg5j43vy7xmf5hxja9l6l-devenv-git-hooks-run","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:run","show_output":false,"status":null,"type":"oneshot"}]\'\nexport DEVENV_TASKS\nDEVENV_TASK_FILE=\'/nix/store/kj598ws11izad7bv9qmsxpkpd7hq3krp-tasks.json\'\nexport DEVENV_TASK_FILE\nGIT_EXTERNAL_DIFF=\'difft\'\nexport GIT_EXTERNAL_DIFF\nHOSTTYPE=\'x86_64\'\nHOST_PATH=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport HOST_PATH\nIFS=\' \t\n\'\nIN_NIX_SHELL=\'impure\'\nexport IN_NIX_SHELL\nLD=\'ld\'\nexport LD\nLINENO=\'76\'\nMACHTYPE=\'x86_64-pc-linux-gnu\'\nNIX_BINTOOLS=\'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\'\nexport NIX_BINTOOLS\nNIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_BUILD_CORES=\'16\'\nexport NIX_BUILD_CORES\nNIX_CC=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\nexport NIX_CC\nNIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_CFLAGS_COMPILE=\' -frandom-seed=3zw2ajqsr4 -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include\'\nexport NIX_CFLAGS_COMPILE\nNIX_ENFORCE_NO_NATIVE=\'1\'\nexport NIX_ENFORCE_NO_NATIVE\nNIX_HARDENING_ENABLE=\'bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs\'\nexport NIX_HARDENING_ENABLE\nNIX_LDFLAGS=\'-rpath /home/ender/Documents/Projects/dr-ctf/outputs/out/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib\'\nexport NIX_LDFLAGS\nNIX_NO_SELF_RPATH=\'1\'\nNIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_STORE=\'/nix/store\'\nexport NIX_STORE\nNM=\'nm\'\nexport NM\nNODE_PATH=\'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/lib/node_modules:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/lib/node_modules:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/lib/node_modules\'\nexport NODE_PATH\nOBJCOPY=\'objcopy\'\nexport OBJCOPY\nOBJDUMP=\'objdump\'\nexport OBJDUMP\nOLDPWD=\'\'\nexport OLDPWD\nOPTERR=\'1\'\nOSTYPE=\'linux-gnu\'\nPATH=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/bin:/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0/bin:/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/bin:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/bin:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/bin:/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/bin:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/bin:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/bin:/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2/bin:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/bin:/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108/bin:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/bin:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/bin:/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0/bin:/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev/bin:/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du/bin:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/bin:/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3/bin:/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin/bin:/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0/bin:/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17/bin:/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5/bin:/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin/bin:/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/bin:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/bin:/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1/bin:/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin:/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin:/nix/store/q6wgv06q39bfhx2xl8ysc05wi6m2zdss-glibc-2.40-66-bin/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin:/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport PATH\nPC_CONFIG_FILES=\'/nix/store/ysqava3g5mbphf5fvlrm626f3fzfsvlp-process-compose.yaml\'\nexport PC_CONFIG_FILES\nPC_SOCKET_PATH=\'/run/user/1000/devenv-405663c/pc.sock\'\nexport PC_SOCKET_PATH\nPKG_CONFIG=\'pkg-config\'\nexport PKG_CONFIG\nPKG_CONFIG_PATH=\'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/lib/pkgconfig:/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/lib/pkgconfig:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/pkgconfig\'\nexport PKG_CONFIG_PATH\nPS4=\'+ \'\nPYTHONHASHSEED=\'0\'\nexport PYTHONHASHSEED\nPYTHONNOUSERSITE=\'1\'\nexport PYTHONNOUSERSITE\nPYTHONPATH=\'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/lib/python3.13/site-packages:/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14/lib/python3.13/site-packages:/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0/lib/python3.13/site-packages:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/site-packages:/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12/lib/python3.13/site-packages\'\nexport PYTHONPATH\nRANLIB=\'ranlib\'\nexport RANLIB\nREADELF=\'readelf\'\nexport READELF\nRUST_SRC_PATH=\'/nix/store/x4lzvdhcz439jm1clb41hnx3xa2cqvli-rust-lib-src\'\nexport RUST_SRC_PATH\nSHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport SHELL\nSIZE=\'size\'\nexport SIZE\nSOURCE_DATE_EPOCH=\'315532800\'\nexport SOURCE_DATE_EPOCH\nSTRINGS=\'strings\'\nexport STRINGS\nSTRIP=\'strip\'\nexport STRIP\nXDG_DATA_DIRS=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/share:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/share:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/share:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/share:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/share:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/share:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/share:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/share:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share\'\nexport XDG_DATA_DIRS\n_PYTHON_HOST_PLATFORM=\'linux-x86_64\'\nexport _PYTHON_HOST_PLATFORM\n_PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\'\nexport _PYTHON_SYSCONFIGDATA_NAME\n__structuredAttrs=\'\'\nexport __structuredAttrs\n_substituteStream_has_warned_replace_deprecation=\'false\'\nbuildInputs=\'\'\nexport buildInputs\nbuildPhase=\'{ echo "------------------------------------------------------------";\n echo " WARNING: the existence of this path is not guaranteed.";\n echo " It is an internal implementation detail for pkgs.mkShell.";\n echo "------------------------------------------------------------";\n echo;\n # Record all build inputs as runtime dependencies\n export;\n} >> "$out"\n\'\nexport buildPhase\nbuilder=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport builder\ncmakeFlags=\'\'\nexport cmakeFlags\nconfigureFlags=\'\'\nexport configureFlags\ndefaultBuildInputs=\'\'\ndefaultNativeBuildInputs=\'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-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/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndepsBuildBuild=\'\'\nexport depsBuildBuild\ndepsBuildBuildPropagated=\'\'\nexport depsBuildBuildPropagated\ndepsBuildTarget=\'\'\nexport depsBuildTarget\ndepsBuildTargetPropagated=\'\'\nexport depsBuildTargetPropagated\ndepsHostHost=\'\'\nexport depsHostHost\ndepsHostHostPropagated=\'\'\nexport depsHostHostPropagated\ndepsTargetTarget=\'\'\nexport depsTargetTarget\ndepsTargetTargetPropagated=\'\'\nexport depsTargetTargetPropagated\ndoCheck=\'\'\nexport doCheck\ndoInstallCheck=\'\'\nexport doInstallCheck\ndontAddDisableDepTrack=\'1\'\nexport dontAddDisableDepTrack\ndeclare -a envBuildBuildHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildHostHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildTargetHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envHostHostHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envHostTargetHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envTargetTargetHooks=()\ndeclare -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\' )\nhardeningDisable=\'\'\nexport hardeningDisable\ninitialPath=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45\'\nmesonFlags=\'\'\nexport mesonFlags\nname=\'DrCTF-env\'\nexport name\nnativeBuildInputs=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0 /nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0 /nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3 /nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3 /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev /nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2 /nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2 /nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1 /nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3 /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev /nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev /nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du /nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2 /nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3 /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev /nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0 /nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17 /nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0 /nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1 /nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\'\nexport nativeBuildInputs\nout=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\nexport out\noutputBin=\'out\'\noutputDev=\'out\'\noutputDevdoc=\'REMOVE\'\noutputDevman=\'out\'\noutputDoc=\'out\'\noutputInclude=\'out\'\noutputInfo=\'out\'\noutputLib=\'out\'\noutputMan=\'out\'\noutputs=\'out\'\nexport outputs\npatches=\'\'\nexport patches\nphases=\'buildPhase\'\nexport phases\npkg=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndeclare -a pkgsBuildBuild=()\ndeclare -a pkgsBuildHost=(\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0\' \'/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0\' \'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3\' \'/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3\' \'/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs\' \'/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev\' \'/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1\' \'/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2\' \'/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2\' \'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\' \'/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1\' \'/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108\' \'/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2\' \'/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3\' \'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev\' \'/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0\' \'/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev\' \'/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du\' \'/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2\' \'/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3\' \'/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev\' \'/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin\' \'/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4\' \'/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0\' \'/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17\' \'/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5\' \'/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin\' \'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0\' \'/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14\' \'/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0\' \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' \'/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12\' \'/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1\' \'/nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\' \'/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin\' \'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2\' \'/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook\' \'/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh\' \'/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh\' \'/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-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/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh\' \'/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh\' \'/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh\' \'/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh\' \'/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh\' \'/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh\' \'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\' \'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\' )\ndeclare -a pkgsBuildTarget=()\ndeclare -a pkgsHostHost=()\ndeclare -a pkgsHostTarget=()\ndeclare -a pkgsTargetTarget=()\ndeclare -a postFixupHooks=(\'noBrokenSymlinksInAllOutputs\' \'_makeSymlinksRelativeInAllOutputs\' \'_multioutPropagateDev\' )\ndeclare -a postUnpackHooks=(\'_updateSourceDateEpochFromSourceRoot\' )\ndeclare -a preConfigureHooks=(\'_multioutConfig\' )\npreConfigurePhases=\' updateAutotoolsGnuConfigScriptsPhase\'\ndeclare -a preFixupHooks=(\'_moveToShare\' \'_multioutDocs\' \'_multioutDevs\' )\npreferLocalBuild=\'1\'\nexport preferLocalBuild\nprefix=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\ndeclare -a propagatedBuildDepFiles=(\'propagated-build-build-deps\' \'propagated-native-build-inputs\' \'propagated-build-target-deps\' )\npropagatedBuildInputs=\'\'\nexport propagatedBuildInputs\ndeclare -a propagatedHostDepFiles=(\'propagated-host-host-deps\' \'propagated-build-inputs\' )\npropagatedNativeBuildInputs=\'\'\nexport propagatedNativeBuildInputs\ndeclare -a propagatedTargetDepFiles=(\'propagated-target-target-deps\' )\nshell=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport shell\nshellHook=\'\nexport PS1="\\[\\e[0;34m\\](devenv)\\[\\e[0m\\] ${PS1-}"\n\n# override temp directories after "nix develop"\nfor var in TMP TMPDIR TEMP TEMPDIR; do\n if [ -n "${!var-}" ]; then\n export "$var"=/run/user/1000\n fi\ndone\nif [ -n "${NIX_BUILD_TOP-}" ]; then\n unset NIX_BUILD_TOP\nfi\n\n# set path to locales on non-NixOS Linux hosts\nif [ -z "${LOCALE_ARCHIVE-}" ]; then\n export LOCALE_ARCHIVE=/nix/store/lncqmx5asfccx0gfkp64r94ri59y0iyv-glibc-locales-2.40-66/lib/locale/locale-archive\nfi\n\n\n# direnv helper\nif [ ! type -p direnv &>/dev/null && -f .envrc ]; then\n echo "An .envrc file was detected, but the direnv command is not installed."\n echo "To use this configuration, please install direnv: https://direnv.net/docs/installation.html"\nfi\n\nmkdir -p "$DEVENV_STATE"\nif [ ! -L "$DEVENV_DOTFILE/profile" ] || [ "$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/readlink $DEVENV_DOTFILE/profile)" != "/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile" ]\nthen\n ln -snf /nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile "$DEVENV_DOTFILE/profile"\nfi\nunset HOST_PATH NIX_BUILD_CORES __structuredAttrs buildInputs buildPhase builder depsBuildBuild depsBuildBuildPropagated depsBuildTarget depsBuildTargetPropagated depsHostHost depsHostHostPropagated depsTargetTarget depsTargetTargetPropagated dontAddDisableDepTrack doCheck doInstallCheck nativeBuildInputs out outputs patches phases preferLocalBuild propagatedBuildInputs propagatedNativeBuildInputs shell shellHook stdenv strictDeps\n\nmkdir -p /run/user/1000/devenv-405663c\nln -snf /run/user/1000/devenv-405663c /home/ender/Documents/Projects/dr-ctf/.devenv/run\n\n\nexport CARGO_INSTALL_ROOT=$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/realpath --no-symlinks /home/ender/Documents/Projects/dr-ctf/.devenv/state/cargo-install)\nexport PATH="$PATH:$CARGO_INSTALL_ROOT/bin"\n\nexport PATH="node_modules/.bin:$PATH"\n\n/nix/store/0h3grrk59ixrbqpikbxknvwg5nb05pr0-devenv-tasks-2.0.0/bin/devenv-tasks run devenv:enterShell --mode all || exit $?\nif [ -f "$DEVENV_DOTFILE/load-exports" ]; then\n source "$DEVENV_DOTFILE/load-exports"\nfi\n\necho "✨ devenv 1.11.1 is out of date. Please update to 1.11.2: https://devenv.sh/getting-started/#installation" >&2\n\n\n# Check whether the direnv integration is out of date.\n{\n if [[ ":${DIRENV_ACTIVE-}:" == *":/home/ender/Documents/Projects/dr-ctf:"* ]]; then\n if [[ ! "${DEVENV_NO_DIRENVRC_OUTDATED_WARNING-}" == 1 && ! "${DEVENV_DIRENVRC_ROLLING_UPGRADE-}" == 1 ]]; then\n if [[ ${DEVENV_DIRENVRC_VERSION:-0} -lt 1 ]]; then\n direnv_line=$(grep --color=never -E "source_url.*cachix/devenv" .envrc || echo "")\n\n echo "✨ The direnv integration in your .envrc is out of date."\n echo ""\n echo -n "RECOMMENDED: devenv can now auto-upgrade the direnv integration. "\n if [[ -n "$direnv_line" ]]; then\n echo "To enable this feature, replace the following line in your .envrc:"\n echo ""\n echo " $direnv_line"\n echo ""\n echo "with:"\n echo ""\n echo " eval \\"\\$(devenv direnvrc)\\""\n else\n echo "To enable this feature, replace the \\`source_url\\` line that fetches the direnvrc integration in your .envrc with:"\n echo ""\n echo " eval \\"$(devenv direnvrc)\\""\n fi\n echo ""\n echo "If you prefer to continue managing the integration manually, follow the upgrade instructions at https://devenv.sh/automatic-shell-activation/."\n echo ""\n echo "To disable this message:"\n echo ""\n echo " Add the following environment to your .envrc before \\`use devenv\\`:"\n echo ""\n echo " export DEVENV_NO_DIRENVRC_OUTDATED_WARNING=1"\n echo ""\n echo " Or set the following option in your devenv configuration:"\n echo ""\n echo " devenv.warnOnNewVersion = false;"\n echo ""\n fi\n fi\n fi\n} >&2\n\ngit --version # Use packages\n\n\'\nexport shellHook\nstdenv=\'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\'\nexport stdenv\nstrictDeps=\'\'\nexport strictDeps\nsystem=\'x86_64-linux\'\nexport system\ndeclare -a unpackCmdHooks=(\'_defaultUnpack\' )\n_activatePkgs ()\n{\n \n local hostOffset targetOffset;\n local pkg;\n for hostOffset in "${allPlatOffsets[@]}";\n do\n local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}";\n for targetOffset in "${allPlatOffsets[@]}";\n do\n (( hostOffset <= targetOffset )) || continue;\n local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n activatePackage "$pkg" "$hostOffset" "$targetOffset";\n done;\n done;\n done\n}\n_addRpathPrefix ()\n{\n \n if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then\n export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}";\n fi\n}\n_addToEnv ()\n{\n \n local depHostOffset depTargetOffset;\n local pkg;\n for depHostOffset in "${allPlatOffsets[@]}";\n do\n local hookVar="${pkgHookVarVars[depHostOffset + 1]}";\n local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}";\n for depTargetOffset in "${allPlatOffsets[@]}";\n do\n (( depHostOffset <= depTargetOffset )) || continue;\n local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]";\n if [[ -z "${strictDeps-}" ]]; then\n local visitedPkgs="";\n for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}";\n do\n if [[ "$visitedPkgs" = *"$pkg"* ]]; then\n continue;\n fi;\n runHook "${!hookRef}" "$pkg";\n visitedPkgs+=" $pkg";\n done;\n else\n local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n runHook "${!hookRef}" "$pkg";\n done;\n fi;\n done;\n done\n}\n_allFlags ()\n{\n \n export system pname name version;\n while IFS=\'\' read -r varName; do\n nixTalkativeLog "@${varName}@ -> ${!varName}";\n args+=("--subst-var" "$varName");\n done < <(awk \'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }\')\n}\n_assignFirst ()\n{\n \n local varName="$1";\n local _var;\n local REMOVE=REMOVE;\n shift;\n for _var in "$@";\n do\n if [ -n "${!_var-}" ]; then\n eval "${varName}"="${_var}";\n return;\n fi;\n done;\n echo;\n echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}.";\n echo " The following variables were all unset or empty:";\n echo " $*";\n if [ -z "${out:-}" ]; then\n echo \' If you do not want an "out" output in your derivation, make sure to define\';\n echo \' the other specific required outputs. This can be achieved by picking one\';\n echo " of the above as an output.";\n echo \' You do not have to remove "out" if you want to have a different default\';\n echo \' output, because the first output is taken as a default.\';\n echo;\n fi;\n return 1\n}\n_callImplicitHook ()\n{\n \n local def="$1";\n local hookName="$2";\n if declare -F "$hookName" > /dev/null; then\n nixTalkativeLog "calling implicit \'$hookName\' function hook";\n "$hookName";\n else\n if type -p "$hookName" > /dev/null; then\n nixTalkativeLog "sourcing implicit \'$hookName\' script hook";\n source "$hookName";\n else\n if [ -n "${!hookName:-}" ]; then\n nixTalkativeLog "evaling implicit \'$hookName\' string hook";\n eval "${!hookName}";\n else\n return "$def";\n fi;\n fi;\n fi\n}\n_defaultUnpack ()\n{\n \n local fn="$1";\n local destination;\n if [ -d "$fn" ]; then\n destination="$(stripHash "$fn")";\n if [ -e "$destination" ]; then\n echo "Cannot copy $fn to $destination: destination already exists!";\n echo "Did you specify two \\"srcs\\" with the same \\"name\\"?";\n return 1;\n fi;\n cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination";\n else\n case "$fn" in \n *.tar.xz | *.tar.lzma | *.txz)\n ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn";\n true ) | tar xf - --mode=+w --warning=no-timestamp\n ;;\n *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)\n tar xf "$fn" --mode=+w --warning=no-timestamp\n ;;\n *)\n return 1\n ;;\n esac;\n fi\n}\n_doStrip ()\n{\n \n local -ra flags=(dontStripHost dontStripTarget);\n local -ra debugDirs=(stripDebugList stripDebugListTarget);\n local -ra allDirs=(stripAllList stripAllListTarget);\n local -ra stripCmds=(STRIP STRIP_FOR_TARGET);\n local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET);\n stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks};\n stripDebugListTarget=${stripDebugListTarget[*]:-};\n stripAllList=${stripAllList[*]:-};\n stripAllListTarget=${stripAllListTarget[*]:-};\n local i;\n for i in ${!stripCmds[@]};\n do\n local -n flag="${flags[$i]}";\n local -n debugDirList="${debugDirs[$i]}";\n local -n allDirList="${allDirs[$i]}";\n local -n stripCmd="${stripCmds[$i]}";\n local -n ranlibCmd="${ranlibCmds[$i]}";\n if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then\n continue;\n fi;\n stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}";\n stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}";\n done\n}\n_eval ()\n{\n \n if declare -F "$1" > /dev/null 2>&1; then\n "$@";\n else\n eval "$1";\n fi\n}\n_logHook ()\n{\n \n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n local hookKind="$1";\n local hookExpr="$2";\n shift 2;\n if declare -F "$hookExpr" > /dev/null 2>&1; then\n nixTalkativeLog "calling \'$hookKind\' function hook \'$hookExpr\'" "$@";\n else\n if type -p "$hookExpr" > /dev/null; then\n nixTalkativeLog "sourcing \'$hookKind\' script hook \'$hookExpr\'";\n else\n if [[ "$hookExpr" != "_callImplicitHook"* ]]; then\n local exprToOutput;\n if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then\n exprToOutput="$hookExpr";\n else\n local hookExprLine;\n while IFS= read -r hookExprLine; do\n hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}";\n if [[ -n "$hookExprLine" ]]; then\n exprToOutput+="$hookExprLine\\\\n ";\n fi;\n done <<< "$hookExpr";\n exprToOutput="${exprToOutput%%\\\\n }";\n fi;\n nixTalkativeLog "evaling \'$hookKind\' string hook \'$exprToOutput\'";\n fi;\n fi;\n fi\n}\n_makeSymlinksRelative ()\n{\n \n local symlinkTarget;\n if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n while IFS= read -r -d \'\' f; do\n symlinkTarget=$(readlink "$f");\n if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then\n continue;\n fi;\n if [ ! -e "$symlinkTarget" ]; then\n echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)";\n fi;\n echo "rewriting symlink $f to be relative to $prefix";\n ln -snrf "$symlinkTarget" "$f";\n done < <(find $prefix -type l -print0)\n}\n_makeSymlinksRelativeInAllOutputs ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" _makeSymlinksRelative;\n done\n}\n_moveLib64 ()\n{\n \n if [ "${dontMoveLib64-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then\n return;\n fi;\n echo "moving $prefix/lib64/* to $prefix/lib";\n mkdir -p $prefix/lib;\n shopt -s dotglob;\n for i in $prefix/lib64/*;\n do\n mv --no-clobber "$i" $prefix/lib;\n done;\n shopt -u dotglob;\n rmdir $prefix/lib64;\n ln -s lib $prefix/lib64\n}\n_moveSbin ()\n{\n \n if [ "${dontMoveSbin-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then\n return;\n fi;\n echo "moving $prefix/sbin/* to $prefix/bin";\n mkdir -p $prefix/bin;\n shopt -s dotglob;\n for i in $prefix/sbin/*;\n do\n mv "$i" $prefix/bin;\n done;\n shopt -u dotglob;\n rmdir $prefix/sbin;\n ln -s bin $prefix/sbin\n}\n_moveSystemdUserUnits ()\n{\n \n if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then\n return;\n fi;\n if [ ! -e "${prefix:?}/lib/systemd/user" ]; then\n return;\n fi;\n local source="$prefix/lib/systemd/user";\n local target="$prefix/share/systemd/user";\n echo "moving $source/* to $target";\n mkdir -p "$target";\n ( shopt -s dotglob;\n for i in "$source"/*;\n do\n mv "$i" "$target";\n done );\n rmdir "$source";\n ln -s "$target" "$source"\n}\n_moveToShare ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n if [ -z "${forceShare-}" ]; then\n forceShare=(man doc info);\n fi;\n else\n forceShare=(${forceShare:-man doc info});\n fi;\n if [[ -z "$out" ]]; then\n return;\n fi;\n for d in "${forceShare[@]}";\n do\n if [ -d "$out/$d" ]; then\n if [ -d "$out/share/$d" ]; then\n echo "both $d/ and share/$d/ exist!";\n else\n echo "moving $out/$d to $out/share/$d";\n mkdir -p $out/share;\n mv $out/$d $out/share/;\n fi;\n fi;\n done\n}\n_multioutConfig ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then\n return;\n fi;\n if [ -z "${shareDocName:-}" ]; then\n local confScript="${configureScript:-}";\n if [ -z "$confScript" ] && [ -x ./configure ]; then\n confScript=./configure;\n fi;\n if [ -f "$confScript" ]; then\n local shareDocName="$(sed -n "s/^PACKAGE_TARNAME=\'\\(.*\\)\'$/\\1/p" < "$confScript")";\n fi;\n if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q \'[^a-zA-Z0-9_-]\'; then\n shareDocName="$(echo "$name" | sed \'s/-[^a-zA-Z].*//\')";\n fi;\n fi;\n prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale;\n prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal\n}\n_multioutDevs ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then\n return;\n fi;\n moveToOutput include "${!outputInclude}";\n moveToOutput lib/pkgconfig "${!outputDev}";\n moveToOutput share/pkgconfig "${!outputDev}";\n moveToOutput lib/cmake "${!outputDev}";\n moveToOutput share/aclocal "${!outputDev}";\n for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc;\n do\n echo "Patching \'$f\' includedir to output ${!outputInclude}";\n sed -i "/^includedir=/s,=\\${prefix},=${!outputInclude}," "$f";\n done\n}\n_multioutDocs ()\n{\n \n local REMOVE=REMOVE;\n moveToOutput share/info "${!outputInfo}";\n moveToOutput share/doc "${!outputDoc}";\n moveToOutput share/gtk-doc "${!outputDevdoc}";\n moveToOutput share/devhelp/books "${!outputDevdoc}";\n moveToOutput share/man "${!outputMan}";\n moveToOutput share/man/man3 "${!outputDevman}"\n}\n_multioutPropagateDev ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ]; then\n return;\n fi;\n local outputFirst;\n for outputFirst in $(getAllOutputNames);\n do\n break;\n done;\n local propagaterOutput="$outputDev";\n if [ -z "$propagaterOutput" ]; then\n propagaterOutput="$outputFirst";\n fi;\n if [ -z "${propagatedBuildOutputs+1}" ]; then\n local po_dirty="$outputBin $outputInclude $outputLib";\n set +o pipefail;\n propagatedBuildOutputs=`echo "$po_dirty" | tr -s \' \' \'\\n\' | grep -v -F "$propagaterOutput" | sort -u | tr \'\\n\' \' \' `;\n set -o pipefail;\n fi;\n if [ -z "$propagatedBuildOutputs" ]; then\n return;\n fi;\n mkdir -p "${!propagaterOutput}"/nix-support;\n for output in $propagatedBuildOutputs;\n do\n echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs;\n done\n}\n_nixLogWithLevel ()\n{\n \n [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0;\n local logLevel;\n case "${1:?}" in \n 0)\n logLevel=ERROR\n ;;\n 1)\n logLevel=WARN\n ;;\n 2)\n logLevel=NOTICE\n ;;\n 3)\n logLevel=INFO\n ;;\n 4)\n logLevel=TALKATIVE\n ;;\n 5)\n logLevel=CHATTY\n ;;\n 6)\n logLevel=DEBUG\n ;;\n 7)\n logLevel=VOMIT\n ;;\n *)\n echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD";\n return 1\n ;;\n esac;\n local callerName="${FUNCNAME[2]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s: %s\\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD"\n}\n_overrideFirst ()\n{\n \n if [ -z "${!1-}" ]; then\n _assignFirst "$@";\n fi\n}\n_pruneLibtoolFiles ()\n{\n \n if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n find "$prefix" -type f -name \'*.la\' -exec grep -q \'^# Generated by .*libtool\' {} \\; -exec grep -q "^old_library=\'\'" {} \\; -exec sed -i {} -e "/^dependency_libs=\'[^\']/ c dependency_libs=\'\' #pruned" \\;\n}\n_updateSourceDateEpochFromSourceRoot ()\n{\n \n if [ -n "$sourceRoot" ]; then\n updateSourceDateEpoch "$sourceRoot";\n fi\n}\nactivatePackage ()\n{\n \n local pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n if [ -f "$pkg" ]; then\n nixTalkativeLog "sourcing setup hook \'$pkg\'";\n source "$pkg";\n fi;\n if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then\n addToSearchPath _PATH "$pkg/bin";\n fi;\n if (( hostOffset <= -1 )); then\n addToSearchPath _XDG_DATA_DIRS "$pkg/share";\n fi;\n if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then\n addToSearchPath _HOST_PATH "$pkg/bin";\n fi;\n if [[ -f "$pkg/nix-support/setup-hook" ]]; then\n nixTalkativeLog "sourcing setup hook \'$pkg/nix-support/setup-hook\'";\n source "$pkg/nix-support/setup-hook";\n fi\n}\naddEnvHooks ()\n{\n \n local depHostOffset="$1";\n shift;\n local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]";\n local pkgHookVar;\n for pkgHookVar in "${!pkgHookVarsSlice}";\n do\n eval "${pkgHookVar}s"\'+=("$@")\';\n done\n}\naddNodePath ()\n{\n \n addToSearchPath NODE_PATH "$1/lib/node_modules"\n}\naddPythonPath ()\n{\n \n addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.13/site-packages\n}\naddToSearchPath ()\n{\n \n addToSearchPathWithCustomDelimiter ":" "$@"\n}\naddToSearchPathWithCustomDelimiter ()\n{\n \n local delimiter="$1";\n local varName="$2";\n local dir="$3";\n if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then\n export "${varName}=${!varName:+${!varName}${delimiter}}${dir}";\n fi\n}\nappendToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\\"X\\"]=\\"Y\\") instead." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=(${nameref+"${nameref[@]}"} "$@");\n else\n nameref="${nameref-} $*";\n fi\n}\nauditTmpdir ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "checking for references to $TMPDIR/ in $dir...";\n local tmpdir elf_fifo script_fifo;\n tmpdir="$(mktemp -d)";\n elf_fifo="$tmpdir/elf";\n script_fifo="$tmpdir/script";\n mkfifo "$elf_fifo" "$script_fifo";\n ( find "$dir" -type f -not -path \'*/.build-id/*\' -print0 | while IFS= read -r -d \'\' file; do\n if isELF "$file"; then\n printf \'%s\\0\' "$file" 1>&3;\n else\n if isScript "$file"; then\n filename=${file##*/};\n dir=${file%/*};\n if [ -e "$dir/.$filename-wrapped" ]; then\n printf \'%s\\0\' "$file" 1>&4;\n fi;\n fi;\n fi;\n done;\n exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then\n echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$elf_fifo" ) & local pid_elf=$!;\n local pid_script;\n ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if grep -q -F "$TMPDIR/" "$1"; then\n echo "wrapper script $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$script_fifo" ) & local pid_script=$!;\n wait "$pid_elf" || { \n echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n wait "$pid_script" || { \n echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n rm -r "$tmpdir"\n}\nbintoolsWrapper_addLDVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib64";\n fi;\n if [[ -d "$1/lib" ]]; then\n local -a glob=($1/lib/lib*);\n if [ "${#glob[*]}" -gt 0 ]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib";\n fi;\n fi\n}\nbuildPhase ()\n{\n \n runHook preBuild;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom buildPhase, doing nothing";\n else\n foundMakefile=1;\n local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray;\n echoCmd \'build flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postBuild\n}\nccWrapper_addCVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n local found=;\n if [ -d "$1/include" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include";\n found=1;\n fi;\n if [ -d "$1/Library/Frameworks" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks";\n found=1;\n fi;\n if [[ -n "" && -n ${NIX_STORE:-} && -n $found ]]; then\n local scrubbed="$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${1#"$NIX_STORE"/*-}";\n export NIX_CFLAGS_COMPILE${role_post}+=" -fmacro-prefix-map=$1=$scrubbed";\n fi\n}\ncheckPhase ()\n{\n \n runHook preCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom checkPhase, doing nothing";\n runHook postCheck;\n return;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then\n checkTarget="check";\n else\n if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then\n checkTarget="test";\n fi;\n fi;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n echo "no check/test target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget;\n echoCmd \'check flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postCheck\n}\ncompressManPages ()\n{\n \n local dir="$1";\n if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then\n return;\n fi;\n echo "gzipping man pages under $dir/share/man/";\n find "$dir"/share/man/ -type f -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f;\n find "$dir"/share/man/ -type l -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | sort -z | while IFS= read -r -d \'\' f; do\n local target;\n target="$(readlink -f "$f")";\n if [ -f "$target".gz ]; then\n ln -sf "$target".gz "$f".gz && rm "$f";\n fi;\n done\n}\nconcatStringsSep ()\n{\n \n local sep="$1";\n local name="$2";\n local type oldifs;\n if type=$(declare -p "$name" 2> /dev/null); then\n local -n nameref="$name";\n case "${type#* }" in \n -A*)\n echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n local IFS="$(printf \'\\036\')"\n ;;\n *)\n local IFS=" "\n ;;\n esac;\n local ifs_separated="${nameref[*]}";\n echo -n "${ifs_separated//"$IFS"/"$sep"}";\n fi\n}\nconcatTo ()\n{\n \n local -;\n set -o noglob;\n local -n targetref="$1";\n shift;\n local arg default name type;\n for arg in "$@";\n do\n IFS="=" read -r name default <<< "$arg";\n local -n nameref="$name";\n if [[ -z "${nameref[*]}" && -n "$default" ]]; then\n targetref+=("$default");\n else\n if type=$(declare -p "$name" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n targetref+=("${nameref[@]}")\n ;;\n *)\n if [[ "$name" = *"Array" ]]; then\n nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future";\n targetref+=(${nameref+"${nameref[@]}"});\n else\n targetref+=(${nameref-});\n fi\n ;;\n esac;\n fi;\n fi;\n done\n}\nconfigurePhase ()\n{\n \n runHook preConfigure;\n : "${configureScript=}";\n if [[ -z "$configureScript" && -x ./configure ]]; then\n configureScript=./configure;\n fi;\n if [ -z "${dontFixLibtool:-}" ]; then\n export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}";\n local i;\n find . -iname "ltmain.sh" -print0 | while IFS=\'\' read -r -d \'\' i; do\n echo "fixing libtool script $i";\n fixLibtool "$i";\n done;\n CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX);\n find . -executable -type f -name configure -exec grep -l \'GNU Libtool is free software; you can redistribute it and/or modify\' {} \\; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \\; -exec sed -i s_/usr/bin/file_file_g {} \\; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \\;;\n rm -f "$CONFIGURE_MTIME_REFERENCE";\n fi;\n if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then\n prependToVar configureFlags "${prefixKey:---prefix=}$prefix";\n fi;\n if [[ -f "$configureScript" ]]; then\n if [ -z "${dontAddDisableDepTrack:-}" ]; then\n if grep -q dependency-tracking "$configureScript"; then\n prependToVar configureFlags --disable-dependency-tracking;\n fi;\n fi;\n if [ -z "${dontDisableStatic:-}" ]; then\n if grep -q enable-static "$configureScript"; then\n prependToVar configureFlags --disable-static;\n fi;\n fi;\n if [ -z "${dontPatchShebangsInConfigure:-}" ]; then\n patchShebangs --build "$configureScript";\n fi;\n fi;\n if [ -n "$configureScript" ]; then\n local -a flagsArray;\n concatTo flagsArray configureFlags configureFlagsArray;\n echoCmd \'configure flags\' "${flagsArray[@]}";\n $configureScript "${flagsArray[@]}";\n unset flagsArray;\n else\n echo "no configure script, doing nothing";\n fi;\n runHook postConfigure\n}\nconsumeEntire ()\n{\n \n if IFS=\'\' read -r -d \'\' "$1"; then\n echo "consumeEntire(): ERROR: Input null bytes, won\'t process" 1>&2;\n return 1;\n fi\n}\ndistPhase ()\n{\n \n runHook preDist;\n local flagsArray=();\n concatTo flagsArray distFlags distFlagsArray distTarget=dist;\n echo \'dist flags: %q\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n if [ "${dontCopyDist:-0}" != 1 ]; then\n mkdir -p "$out/tarballs";\n cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs";\n fi;\n runHook postDist\n}\ndumpVars ()\n{\n \n if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then\n local old_umask;\n old_umask=$(umask);\n umask 0077;\n export 2> /dev/null > "$NIX_BUILD_TOP/env-vars";\n umask "$old_umask";\n fi\n}\nechoCmd ()\n{\n \n printf "%s:" "$1";\n shift;\n printf \' %q\' "$@";\n echo\n}\nexitHandler ()\n{\n \n exitCode="$?";\n set +e;\n if [ -n "${showBuildStats:-}" ]; then\n read -r -d \'\' -a buildTimes < <(times);\n echo "build times:";\n echo "user time for the shell ${buildTimes[0]}";\n echo "system time for the shell ${buildTimes[1]}";\n echo "user time for all child processes ${buildTimes[2]}";\n echo "system time for all child processes ${buildTimes[3]}";\n fi;\n if (( "$exitCode" != 0 )); then\n runHook failureHook;\n if [ -n "${succeedOnFailure:-}" ]; then\n echo "build failed with exit code $exitCode (ignored)";\n mkdir -p "$out/nix-support";\n printf "%s" "$exitCode" > "$out/nix-support/failed";\n exit 0;\n fi;\n else\n runHook exitHook;\n fi;\n return "$exitCode"\n}\nfindInputs ()\n{\n \n local -r pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n local varVar="${pkgAccumVarVars[hostOffset + 1]}";\n local varRef="$varVar[$((targetOffset - hostOffset))]";\n local var="${!varRef}";\n unset -v varVar varRef;\n local varSlice="$var[*]";\n case " ${!varSlice-} " in \n *" $pkg "*)\n return 0\n ;;\n esac;\n unset -v varSlice;\n eval "$var"\'+=("$pkg")\';\n if ! [ -e "$pkg" ]; then\n echo "build input $pkg does not exist" 1>&2;\n exit 1;\n fi;\n function mapOffset () \n { \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n };\n local relHostOffset;\n for relHostOffset in "${allPlatOffsets[@]}";\n do\n local files="${propagatedDepFilesVars[relHostOffset + 1]}";\n local hostOffsetNext;\n mapOffset "$relHostOffset" hostOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n local relTargetOffset;\n for relTargetOffset in "${allPlatOffsets[@]}";\n do\n (( "$relHostOffset" <= "$relTargetOffset" )) || continue;\n local fileRef="${files}[$relTargetOffset - $relHostOffset]";\n local file="${!fileRef}";\n unset -v fileRef;\n local targetOffsetNext;\n mapOffset "$relTargetOffset" targetOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n [[ -f "$pkg/nix-support/$file" ]] || continue;\n local pkgNext;\n read -r -d \'\' pkgNext < "$pkg/nix-support/$file" || true;\n for pkgNext in $pkgNext;\n do\n findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext";\n done;\n done;\n done\n}\nfixLibtool ()\n{\n \n local search_path;\n for flag in $NIX_LDFLAGS;\n do\n case $flag in \n -L*)\n search_path+=" ${flag#-L}"\n ;;\n esac;\n done;\n sed -i "$1" -e "s^eval \\(sys_lib_search_path=\\).*^\\1\'${search_path:-}\'^" -e \'s^eval sys_lib_.+search_path=.*^^\'\n}\nfixupPhase ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n if [ -e "${!output}" ]; then\n chmod -R u+w,u-s,g-s "${!output}";\n fi;\n done;\n runHook preFixup;\n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" runHook fixupOutput;\n done;\n recordPropagatedDependencies;\n if [ -n "${setupHook:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook";\n fi;\n if [ -n "${setupHooks:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n local hook;\n for hook in ${setupHooks[@]};\n do\n local content;\n consumeEntire content < "$hook";\n substituteAllStream content "file \'$hook\'" >> "${!outputDev}/nix-support/setup-hook";\n unset -v content;\n done;\n unset -v hook;\n fi;\n if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then\n mkdir -p "${!outputBin}/nix-support";\n printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages";\n fi;\n runHook postFixup\n}\ngenericBuild ()\n{\n \n export GZIP_NO_TIMESTAMPS=1;\n if [ -f "${buildCommandPath:-}" ]; then\n source "$buildCommandPath";\n return;\n fi;\n if [ -n "${buildCommand:-}" ]; then\n eval "$buildCommand";\n return;\n fi;\n if [ -z "${phases[*]:-}" ]; then\n phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}";\n fi;\n for curPhase in ${phases[*]};\n do\n runPhase "$curPhase";\n done\n}\ngetAllOutputNames ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n echo "${!outputs[*]}";\n else\n echo "$outputs";\n fi\n}\ngetHostRole ()\n{\n \n getRole "$hostOffset"\n}\ngetHostRoleEnvHook ()\n{\n \n getRole "$depHostOffset"\n}\ngetRole ()\n{\n \n case $1 in \n -1)\n role_post=\'_FOR_BUILD\'\n ;;\n 0)\n role_post=\'\'\n ;;\n 1)\n role_post=\'_FOR_TARGET\'\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ngetTargetRole ()\n{\n \n getRole "$targetOffset"\n}\ngetTargetRoleEnvHook ()\n{\n \n getRole "$depTargetOffset"\n}\ngetTargetRoleWrapper ()\n{\n \n case $targetOffset in \n -1)\n export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1\n ;;\n 0)\n export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1\n ;;\n 1)\n export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ninstallCheckPhase ()\n{\n \n runHook preInstallCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom installCheckPhase, doing nothing";\n else\n if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then\n echo "no installcheck target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck;\n echoCmd \'installcheck flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n fi;\n runHook postInstallCheck\n}\ninstallPhase ()\n{\n \n runHook preInstall;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom installPhase, doing nothing";\n runHook postInstall;\n return;\n else\n foundMakefile=1;\n fi;\n if [ -n "$prefix" ]; then\n mkdir -p "$prefix";\n fi;\n local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install;\n echoCmd \'install flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n runHook postInstall\n}\nisELF ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [ "$magic" = \'\177ELF\' ]; then\n return 0;\n else\n return 1;\n fi\n}\nisMachO ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xcf") || "$magic" = $(echo -ne "\\xcf\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xce") || "$magic" = $(echo -ne "\\xce\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xca\\xfe\\xba\\xbe") || "$magic" = $(echo -ne "\\xbe\\xba\\xfe\\xca") ]]; then\n return 0;\n else\n return 1;\n fi;\n fi;\n fi\n}\nisScript ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 2 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" =~ \\#! ]]; then\n return 0;\n else\n return 1;\n fi\n}\nmapOffset ()\n{\n \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n}\nmoveToOutput ()\n{\n \n local patt="$1";\n local dstOut="$2";\n local output;\n for output in $(getAllOutputNames);\n do\n if [ "${!output}" = "$dstOut" ]; then\n continue;\n fi;\n local srcPath;\n for srcPath in "${!output}"/$patt;\n do\n if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then\n continue;\n fi;\n if [ "$dstOut" = REMOVE ]; then\n echo "Removing $srcPath";\n rm -r "$srcPath";\n else\n local dstPath="$dstOut${srcPath#${!output}}";\n echo "Moving $srcPath to $dstPath";\n if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then\n rmdir "$srcPath" --ignore-fail-on-non-empty;\n if [ -d "$srcPath" ]; then\n mv -t "$dstPath" "$srcPath"/*;\n rmdir "$srcPath";\n fi;\n else\n mkdir -p "$(readlink -m "$dstPath/..")";\n mv "$srcPath" "$dstPath";\n fi;\n fi;\n local srcParent="$(readlink -m "$srcPath/..")";\n if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then\n echo "Removing empty $srcParent/ and (possibly) its parents";\n rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true;\n fi;\n done;\n done\n}\nnixChattyLog ()\n{\n \n _nixLogWithLevel 5 "$*"\n}\nnixDebugLog ()\n{\n \n _nixLogWithLevel 6 "$*"\n}\nnixErrorLog ()\n{\n \n _nixLogWithLevel 0 "$*"\n}\nnixInfoLog ()\n{\n \n _nixLogWithLevel 3 "$*"\n}\nnixLog ()\n{\n \n [[ -z ${NIX_LOG_FD-} ]] && return 0;\n local callerName="${FUNCNAME[1]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s\\n" "$callerName" "$*" >&"$NIX_LOG_FD"\n}\nnixNoticeLog ()\n{\n \n _nixLogWithLevel 2 "$*"\n}\nnixTalkativeLog ()\n{\n \n _nixLogWithLevel 4 "$*"\n}\nnixVomitLog ()\n{\n \n _nixLogWithLevel 7 "$*"\n}\nnixWarnLog ()\n{\n \n _nixLogWithLevel 1 "$*"\n}\nnoBrokenSymlinks ()\n{\n \n local -r output="${1:?}";\n local path;\n local pathParent;\n local symlinkTarget;\n local -i numDanglingSymlinks=0;\n local -i numReflexiveSymlinks=0;\n local -i numUnreadableSymlinks=0;\n if [[ ! -e $output ]]; then\n nixWarnLog "skipping non-existent output $output";\n return 0;\n fi;\n nixInfoLog "running on $output";\n while IFS= read -r -d \'\' path; do\n pathParent="$(dirname "$path")";\n if ! symlinkTarget="$(readlink "$path")"; then\n nixErrorLog "the symlink $path is unreadable";\n numUnreadableSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget == /* ]]; then\n nixInfoLog "symlink $path points to absolute target $symlinkTarget";\n else\n nixInfoLog "symlink $path points to relative target $symlinkTarget";\n symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")";\n fi;\n if [[ $symlinkTarget = "$TMPDIR"/* ]]; then\n nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget";\n numDanglingSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then\n nixInfoLog "symlink $path points outside the Nix store; ignoring";\n continue;\n fi;\n if [[ $path == "$symlinkTarget" ]]; then\n nixErrorLog "the symlink $path is reflexive";\n numReflexiveSymlinks+=1;\n else\n if [[ ! -e $symlinkTarget ]]; then\n nixErrorLog "the symlink $path points to a missing target: $symlinkTarget";\n numDanglingSymlinks+=1;\n else\n nixDebugLog "the symlink $path is irreflexive and points to a target which exists";\n fi;\n fi;\n done < <(find "$output" -type l -print0);\n if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then\n nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks";\n exit 1;\n fi;\n return 0\n}\nnoBrokenSymlinksInAllOutputs ()\n{\n \n if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then\n for output in $(getAllOutputNames);\n do\n noBrokenSymlinks "${!output}";\n done;\n fi\n}\npatchELF ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "shrinking RPATHs of ELF executables and libraries in $dir";\n local i;\n while IFS= read -r -d \'\' i; do\n if [[ "$i" =~ .build-id ]]; then\n continue;\n fi;\n if ! isELF "$i"; then\n continue;\n fi;\n echo "shrinking $i";\n patchelf --shrink-rpath "$i" || true;\n done < <(find "$dir" -type f -print0)\n}\npatchPhase ()\n{\n \n runHook prePatch;\n local -a patchesArray;\n concatTo patchesArray patches;\n local -a flagsArray;\n concatTo flagsArray patchFlags=-p1;\n for i in "${patchesArray[@]}";\n do\n echo "applying patch $i";\n local uncompress=cat;\n case "$i" in \n *.gz)\n uncompress="gzip -d"\n ;;\n *.bz2)\n uncompress="bzip2 -d"\n ;;\n *.xz)\n uncompress="xz -d"\n ;;\n *.lzma)\n uncompress="lzma -d"\n ;;\n esac;\n $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}";\n done;\n runHook postPatch\n}\npatchShebangs ()\n{\n \n local pathName;\n local update=false;\n while [[ $# -gt 0 ]]; do\n case "$1" in \n --host)\n pathName=HOST_PATH;\n shift\n ;;\n --build)\n pathName=PATH;\n shift\n ;;\n --update)\n update=true;\n shift\n ;;\n --)\n shift;\n break\n ;;\n -* | --*)\n echo "Unknown option $1 supplied to patchShebangs" 1>&2;\n return 1\n ;;\n *)\n break\n ;;\n esac;\n done;\n echo "patching script interpreter paths in $@";\n local f;\n local oldPath;\n local newPath;\n local arg0;\n local args;\n local oldInterpreterLine;\n local newInterpreterLine;\n if [[ $# -eq 0 ]]; then\n echo "No arguments supplied to patchShebangs" 1>&2;\n return 0;\n fi;\n local f;\n while IFS= read -r -d \'\' f; do\n isScript "$f" || continue;\n read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ];\n read -r oldPath arg0 args <<< "${oldInterpreterLine:2}";\n if [[ -z "${pathName:-}" ]]; then\n if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then\n pathName=HOST_PATH;\n else\n pathName=PATH;\n fi;\n fi;\n if [[ "$oldPath" == *"/bin/env" ]]; then\n if [[ $arg0 == "-S" ]]; then\n arg0=${args%% *};\n [[ "$args" == *" "* ]] && args=${args#* } || args=;\n newPath="$(PATH="${!pathName}" type -P "env" || true)";\n args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args";\n else\n if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then\n echo "$f: unsupported interpreter directive \\"$oldInterpreterLine\\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2;\n exit 1;\n else\n newPath="$(PATH="${!pathName}" type -P "$arg0" || true)";\n fi;\n fi;\n else\n if [[ -z $oldPath ]]; then\n oldPath="/bin/sh";\n fi;\n newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)";\n args="$arg0 $args";\n fi;\n newInterpreterLine="$newPath $args";\n newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}};\n if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then\n if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then\n echo "$f: interpreter directive changed from \\"$oldInterpreterLine\\" to \\"$newInterpreterLine\\"";\n escapedInterpreterLine=${newInterpreterLine//\\\\/\\\\\\\\};\n timestamp=$(stat --printf "%y" "$f");\n tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX);\n sed -e "1 s|.*|#\\!$escapedInterpreterLine|" "$f" > "$tmpFile";\n local restoreReadOnly;\n if [[ ! -w "$f" ]]; then\n chmod +w "$f";\n restoreReadOnly=true;\n fi;\n cat "$tmpFile" > "$f";\n rm "$tmpFile";\n if [[ -n "${restoreReadOnly:-}" ]]; then\n chmod -w "$f";\n fi;\n touch --date "$timestamp" "$f";\n fi;\n fi;\n done < <(find "$@" -type f -perm -0100 -print0)\n}\npatchShebangsAuto ()\n{\n \n if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then\n if [[ "$output" != out && "$output" = "$outputDev" ]]; then\n patchShebangs --build "$prefix";\n else\n patchShebangs --host "$prefix";\n fi;\n fi\n}\npkgConfigWrapper_addPkgConfigPath ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig";\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig"\n}\nprependToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=("$@" ${nameref+"${nameref[@]}"});\n else\n nameref="$* ${nameref-}";\n fi\n}\nprintLines ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s\\n\' "$@"\n}\nprintWords ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s \' "$@"\n}\nrecordPropagatedDependencies ()\n{\n \n declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated);\n declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}");\n local propagatedInputsIndex;\n for propagatedInputsIndex in "${!flatVars[@]}";\n do\n local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]";\n local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}";\n [[ -n "${!propagatedInputsSlice}" ]] || continue;\n mkdir -p "${!outputDev}/nix-support";\n printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile";\n done\n}\nrunHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook;\n for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n _eval "$hook" "$@";\n done;\n return 0\n}\nrunOneHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook ret=1;\n for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n if _eval "$hook" "$@"; then\n ret=0;\n break;\n fi;\n done;\n return "$ret"\n}\nrunPhase ()\n{\n \n local curPhase="$*";\n if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then\n return;\n fi;\n showPhaseHeader "$curPhase";\n dumpVars;\n local startTime endTime;\n startTime=$(date +"%s");\n eval "${!curPhase:-$curPhase}";\n endTime=$(date +"%s");\n showPhaseFooter "$curPhase" "$startTime" "$endTime";\n if [ "$curPhase" = unpackPhase ]; then\n [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}";\n cd -- "${sourceRoot:-.}";\n fi\n}\nshowPhaseFooter ()\n{\n \n local phase="$1";\n local startTime="$2";\n local endTime="$3";\n local delta=$(( endTime - startTime ));\n (( delta < 30 )) && return;\n local H=$((delta/3600));\n local M=$((delta%3600/60));\n local S=$((delta%60));\n echo -n "$phase completed in ";\n (( H > 0 )) && echo -n "$H hours ";\n (( M > 0 )) && echo -n "$M minutes ";\n echo "$S seconds"\n}\nshowPhaseHeader ()\n{\n \n local phase="$1";\n echo "Running phase: $phase";\n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n printf "@nix { \\"action\\": \\"setPhase\\", \\"phase\\": \\"%s\\" }\\n" "$phase" >&"$NIX_LOG_FD"\n}\nstripDirs ()\n{\n \n local cmd="$1";\n local ranlibCmd="$2";\n local paths="$3";\n local stripFlags="$4";\n local excludeFlags=();\n local pathsNew=;\n [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1;\n [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1;\n local pattern;\n if [ -n "${stripExclude:-}" ]; then\n for pattern in "${stripExclude[@]}";\n do\n excludeFlags+=(-a \'!\' \'(\' -name "$pattern" -o -wholename "$prefix/$pattern" \')\');\n done;\n fi;\n local p;\n for p in ${paths};\n do\n if [ -e "$prefix/$p" ]; then\n pathsNew="${pathsNew} $prefix/$p";\n fi;\n done;\n paths=${pathsNew};\n if [ -n "${paths}" ]; then\n echo "stripping (with command $cmd and flags $stripFlags) in $paths";\n local striperr;\n striperr="$(mktemp --tmpdir="$TMPDIR" \'striperr.XXXXXX\')";\n 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=$?;\n [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 );\n rm "$striperr";\n find $paths -name \'*.a\' -type f -exec $ranlibCmd \'{}\' \\; 2> /dev/null;\n fi\n}\nstripHash ()\n{\n \n local strippedName casematchOpt=0;\n strippedName="$(basename -- "$1")";\n shopt -q nocasematch && casematchOpt=1;\n shopt -u nocasematch;\n if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then\n echo "${strippedName:33}";\n else\n echo "$strippedName";\n fi;\n if (( casematchOpt )); then\n shopt -s nocasematch;\n fi\n}\nsubstitute ()\n{\n \n local input="$1";\n local output="$2";\n shift 2;\n if [ ! -f "$input" ]; then\n echo "substitute(): ERROR: file \'$input\' does not exist" 1>&2;\n return 1;\n fi;\n local content;\n consumeEntire content < "$input";\n if [ -e "$output" ]; then\n chmod +w "$output";\n fi;\n substituteStream content "file \'$input\'" "$@" > "$output"\n}\nsubstituteAll ()\n{\n \n local input="$1";\n local output="$2";\n local -a args=();\n _allFlags;\n substitute "$input" "$output" "${args[@]}"\n}\nsubstituteAllInPlace ()\n{\n \n local fileName="$1";\n shift;\n substituteAll "$fileName" "$fileName" "$@"\n}\nsubstituteAllStream ()\n{\n \n local -a args=();\n _allFlags;\n substituteStream "$1" "$2" "${args[@]}"\n}\nsubstituteInPlace ()\n{\n \n local -a fileNames=();\n for arg in "$@";\n do\n if [[ "$arg" = "--"* ]]; then\n break;\n fi;\n fileNames+=("$arg");\n shift;\n done;\n if ! [[ "${#fileNames[@]}" -gt 0 ]]; then\n echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2;\n return 1;\n fi;\n for file in "${fileNames[@]}";\n do\n substitute "$file" "$file" "$@";\n done\n}\nsubstituteStream ()\n{\n \n local var=$1;\n local description=$2;\n shift 2;\n while (( "$#" )); do\n local replace_mode="$1";\n case "$1" in \n --replace)\n if ! "$_substituteStream_has_warned_replace_deprecation"; then\n echo "substituteStream() in derivation $name: WARNING: \'--replace\' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2;\n _substituteStream_has_warned_replace_deprecation=true;\n fi;\n replace_mode=\'--replace-warn\'\n ;&\n --replace-quiet | --replace-warn | --replace-fail)\n pattern="$2";\n replacement="$3";\n shift 3;\n if ! [[ "${!var}" == *"$pattern"* ]]; then\n if [ "$replace_mode" == --replace-warn ]; then\n printf "substituteStream() in derivation $name: WARNING: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n else\n if [ "$replace_mode" == --replace-fail ]; then\n printf "substituteStream() in derivation $name: ERROR: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n return 1;\n fi;\n fi;\n fi;\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var)\n local varName="$2";\n shift 2;\n if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then\n echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \\"$varName\\" isn\'t." 1>&2;\n return 1;\n fi;\n if [ -z ${!varName+x} ]; then\n echo "substituteStream() in derivation $name: ERROR: variable \\$$varName is unset" 1>&2;\n return 1;\n fi;\n pattern="@$varName@";\n replacement="${!varName}";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var-by)\n pattern="@$2@";\n replacement="$3";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\';\n shift 3\n ;;\n *)\n echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2;\n return 1\n ;;\n esac;\n done;\n printf "%s" "${!var}"\n}\nsysconfigdataHook ()\n{\n \n if [ "$1" = \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' ]; then\n export _PYTHON_HOST_PLATFORM=\'linux-x86_64\';\n export _PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\';\n fi\n}\ntoPythonPath ()\n{\n \n local paths="$1";\n local result=;\n for i in $paths;\n do\n p="$i/lib/python3.13/site-packages";\n result="${result}${result:+:}$p";\n done;\n echo $result\n}\nunpackFile ()\n{\n \n curSrc="$1";\n echo "unpacking source archive $curSrc";\n if ! runOneHook unpackCmd "$curSrc"; then\n echo "do not know how to unpack source archive $curSrc";\n exit 1;\n fi\n}\nunpackPhase ()\n{\n \n runHook preUnpack;\n if [ -z "${srcs:-}" ]; then\n if [ -z "${src:-}" ]; then\n echo \'variable $src or $srcs should point to the source\';\n exit 1;\n fi;\n srcs="$src";\n fi;\n local -a srcsArray;\n concatTo srcsArray srcs;\n local dirsBefore="";\n for i in *;\n do\n if [ -d "$i" ]; then\n dirsBefore="$dirsBefore $i ";\n fi;\n done;\n for i in "${srcsArray[@]}";\n do\n unpackFile "$i";\n done;\n : "${sourceRoot=}";\n if [ -n "${setSourceRoot:-}" ]; then\n runOneHook setSourceRoot;\n else\n if [ -z "$sourceRoot" ]; then\n for i in *;\n do\n if [ -d "$i" ]; then\n case $dirsBefore in \n *\\ $i\\ *)\n\n ;;\n *)\n if [ -n "$sourceRoot" ]; then\n echo "unpacker produced multiple directories";\n exit 1;\n fi;\n sourceRoot="$i"\n ;;\n esac;\n fi;\n done;\n fi;\n fi;\n if [ -z "$sourceRoot" ]; then\n echo "unpacker appears to have produced no directories";\n exit 1;\n fi;\n echo "source root is $sourceRoot";\n if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then\n chmod -R u+w -- "$sourceRoot";\n fi;\n runHook postUnpack\n}\nupdateAutotoolsGnuConfigScriptsPhase ()\n{\n \n if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then\n return;\n fi;\n for script in config.sub config.guess;\n do\n for f in $(find . -type f -name "$script");\n do\n echo "Updating Autotools / GNU config script to a newer upstream version: $f";\n cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f";\n done;\n done\n}\nupdateSourceDateEpoch ()\n{\n \n local path="$1";\n [[ $path == -* ]] && path="./$path";\n 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));\n local time="${res[0]//\\.[0-9]*/}";\n local newestFile="${res[1]}";\n if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then\n echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile";\n export SOURCE_DATE_EPOCH="$time";\n local now="$(date +%s)";\n if [ "$time" -gt $((now - 60)) ]; then\n echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic";\n fi;\n fi\n}\nPATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}"\nXDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}"\nexport NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"\nexport TMP="$NIX_BUILD_TOP"\nexport TMPDIR="$NIX_BUILD_TOP"\nexport TEMP="$NIX_BUILD_TOP"\nexport TEMPDIR="$NIX_BUILD_TOP"\neval "${shellHook:-}"' | |
| ++ local env_watches | |
| ++ _devenv_watches ./.devenv/input-paths.txt env_watches | |
| ++ local path=./.devenv/input-paths.txt | |
| ++ local -n _watches=env_watches | |
| ++ [[ -f ./.devenv/input-paths.txt ]] | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/.devenv/flake.json | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/.env | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/.env | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/devenv.local.nix | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/devenv.local.nix | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/devenv.lock | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/devenv.lock | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| +++ printf /home/ender/Documents/Projects/dr-ctf/devenv.nix | |
| ++ file=/home/ender/Documents/Projects/dr-ctf/devenv.nix | |
| ++ _watches+=("$file") | |
| ++ IFS= | |
| ++ read -r file | |
| ++ watch_file /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix | |
| +++ /nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv watch bash /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix /home/ender/Documents/Projects/dr-ctf/.devenv/flake.json /home/ender/Documents/Projects/dr-ctf/.devenv.flake.nix /home/ender/Documents/Projects/dr-ctf/.env /home/ender/Documents/Projects/dr-ctf/devenv.local.nix /home/ender/Documents/Projects/dr-ctf/devenv.lock /home/ender/Documents/Projects/dr-ctf/devenv.nix | |
| ++ eval 'export DIRENV_WATCHES=$'\''eJysk01ynDAQhe-i9QQhJNHSrHOA7FNZSK3uDLaQUoCJXancPQuq8mPjmPLMAfje64-nzz_Et7BcxFnISx1JUkk0yY8VH0Yqyyw_TfWOcJllmj7gwrKhsk4oTmKsaRlGEmcFve371mk4CXoc5mUW52V6oJ-nXXSTK4Ys50uYSKZhorLKkHP9Lr1Fm5QDzSoGlxRaxoTBJ-tctIDKceqjRcNB6ZiiN9prhb2P4Bhc3Ctl9LtLJSpPUkMKhjBqIDYKqCWrOt1F8j20HLzvooqOWScIIRG0rNAxQEcWOMb2707tnyoc8vxqly3_X8lHv8VaePj6-4T3k15fQKKVytqU4XFHuLL-kPA38bni_Qu-gbYzt-E_hTG_4Ftv_LEVH-kf8nNJt3K_wZ-fcDW92fCSc7in5m6uZfcPHHtSb8Y0W8z-jhzYa1OorP-18-VXAAAA__9zZq8O'\'';' | |
| +++ export DIRENV_WATCHES=eJysk01ynDAQhe-i9QQhJNHSrHOA7FNZSK3uDLaQUoCJXancPQuq8mPjmPLMAfje64-nzz_Et7BcxFnISx1JUkk0yY8VH0Yqyyw_TfWOcJllmj7gwrKhsk4oTmKsaRlGEmcFve371mk4CXoc5mUW52V6oJ-nXXSTK4Ys50uYSKZhorLKkHP9Lr1Fm5QDzSoGlxRaxoTBJ-tctIDKceqjRcNB6ZiiN9prhb2P4Bhc3Ctl9LtLJSpPUkMKhjBqIDYKqCWrOt1F8j20HLzvooqOWScIIRG0rNAxQEcWOMb2707tnyoc8vxqly3_X8lHv8VaePj6-4T3k15fQKKVytqU4XFHuLL-kPA38bni_Qu-gbYzt-E_hTG_4Ftv_LEVH-kf8nNJt3K_wZ-fcDW92fCSc7in5m6uZfcPHHtSb8Y0W8z-jhzYa1OorP-18-VXAAAA__9zZq8O | |
| +++ DIRENV_WATCHES=eJysk01ynDAQhe-i9QQhJNHSrHOA7FNZSK3uDLaQUoCJXancPQuq8mPjmPLMAfje64-nzz_Et7BcxFnISx1JUkk0yY8VH0Yqyyw_TfWOcJllmj7gwrKhsk4oTmKsaRlGEmcFve371mk4CXoc5mUW52V6oJ-nXXSTK4Ys50uYSKZhorLKkHP9Lr1Fm5QDzSoGlxRaxoTBJ-tctIDKceqjRcNB6ZiiN9prhb2P4Bhc3Ctl9LtLJSpPUkMKhjBqIDYKqCWrOt1F8j20HLzvooqOWScIIRG0rNAxQEcWOMb2707tnyoc8vxqly3_X8lHv8VaePj6-4T3k15fQKKVytqU4XFHuLL-kPA38bni_Qu-gbYzt-E_hTG_4Ftv_LEVH-kf8nNJt3K_wZ-fcDW92fCSc7in5m6uZfcPHHtSb8Y0W8z-jhzYa1OorP-18-VXAAAA__9zZq8O | |
| ++ _nix_import_env $'Checking secrets in dr-ctf using onepassword (profile: development)...\n\n✓ POSTGRES_URL - Database connection string\n✓ defaults - No description\n✓ POSTGRES_PASSWORD - Database password\n✓ POSTGRES_USER - Database user\n\nSummary: 4 found, 0 missing\nunset shellHook\nPATH=${PATH:-}\nnix_saved_PATH="$PATH"\nXDG_DATA_DIRS=${XDG_DATA_DIRS:-}\nnix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"\nAR=\'ar\'\nexport AR\nAS=\'as\'\nexport AS\nBASH=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nCC=\'gcc\'\nexport CC\nCONFIG_SHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport CONFIG_SHELL\nCXX=\'g++\'\nexport CXX\nDETERMINISTIC_BUILD=\'1\'\nexport DETERMINISTIC_BUILD\nDEVENV_DOTFILE=\'/home/ender/Documents/Projects/dr-ctf/.devenv\'\nexport DEVENV_DOTFILE\nDEVENV_PROFILE=\'/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile\'\nexport DEVENV_PROFILE\nDEVENV_ROOT=\'/home/ender/Documents/Projects/dr-ctf\'\nexport DEVENV_ROOT\nDEVENV_RUNTIME=\'/run/user/1000/devenv-405663c\'\nexport DEVENV_RUNTIME\nDEVENV_STATE=\'/home/ender/Documents/Projects/dr-ctf/.devenv/state\'\nexport DEVENV_STATE\nDEVENV_TASKS=\'[{"after":[],"before":[],"command":"/nix/store/yhwb3x398329il20dj3mprzhsql1jg9k-devenv-enterShell","cwd":null,"description":"Runs when entering the shell","exec_if_modified":[],"input":{},"name":"devenv:enterShell","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"Runs when entering the test environment","exec_if_modified":[],"input":{},"name":"devenv:enterTest","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:files","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterShell"],"command":"/nix/store/qjsk2mi9da3rkbjn3ffsyrzw33c48a90-devenv-git-hooks-install","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:install","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterTest"],"command":"/nix/store/ywfhq0r3lp4xg5j43vy7xmf5hxja9l6l-devenv-git-hooks-run","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:run","show_output":false,"status":null,"type":"oneshot"}]\'\nexport DEVENV_TASKS\nDEVENV_TASK_FILE=\'/nix/store/kj598ws11izad7bv9qmsxpkpd7hq3krp-tasks.json\'\nexport DEVENV_TASK_FILE\nGIT_EXTERNAL_DIFF=\'difft\'\nexport GIT_EXTERNAL_DIFF\nHOSTTYPE=\'x86_64\'\nHOST_PATH=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport HOST_PATH\nIFS=\' \t\n\'\nIN_NIX_SHELL=\'impure\'\nexport IN_NIX_SHELL\nLD=\'ld\'\nexport LD\nLINENO=\'76\'\nMACHTYPE=\'x86_64-pc-linux-gnu\'\nNIX_BINTOOLS=\'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\'\nexport NIX_BINTOOLS\nNIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_BUILD_CORES=\'16\'\nexport NIX_BUILD_CORES\nNIX_CC=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\nexport NIX_CC\nNIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_CFLAGS_COMPILE=\' -frandom-seed=3zw2ajqsr4 -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include\'\nexport NIX_CFLAGS_COMPILE\nNIX_ENFORCE_NO_NATIVE=\'1\'\nexport NIX_ENFORCE_NO_NATIVE\nNIX_HARDENING_ENABLE=\'bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs\'\nexport NIX_HARDENING_ENABLE\nNIX_LDFLAGS=\'-rpath /home/ender/Documents/Projects/dr-ctf/outputs/out/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib\'\nexport NIX_LDFLAGS\nNIX_NO_SELF_RPATH=\'1\'\nNIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_STORE=\'/nix/store\'\nexport NIX_STORE\nNM=\'nm\'\nexport NM\nNODE_PATH=\'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/lib/node_modules:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/lib/node_modules:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/lib/node_modules\'\nexport NODE_PATH\nOBJCOPY=\'objcopy\'\nexport OBJCOPY\nOBJDUMP=\'objdump\'\nexport OBJDUMP\nOLDPWD=\'\'\nexport OLDPWD\nOPTERR=\'1\'\nOSTYPE=\'linux-gnu\'\nPATH=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/bin:/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0/bin:/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/bin:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/bin:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/bin:/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/bin:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/bin:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/bin:/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2/bin:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/bin:/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108/bin:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/bin:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/bin:/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0/bin:/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev/bin:/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du/bin:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/bin:/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3/bin:/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin/bin:/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0/bin:/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17/bin:/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5/bin:/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin/bin:/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/bin:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/bin:/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1/bin:/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin:/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin:/nix/store/q6wgv06q39bfhx2xl8ysc05wi6m2zdss-glibc-2.40-66-bin/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin:/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport PATH\nPC_CONFIG_FILES=\'/nix/store/ysqava3g5mbphf5fvlrm626f3fzfsvlp-process-compose.yaml\'\nexport PC_CONFIG_FILES\nPC_SOCKET_PATH=\'/run/user/1000/devenv-405663c/pc.sock\'\nexport PC_SOCKET_PATH\nPKG_CONFIG=\'pkg-config\'\nexport PKG_CONFIG\nPKG_CONFIG_PATH=\'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/lib/pkgconfig:/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/lib/pkgconfig:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/pkgconfig\'\nexport PKG_CONFIG_PATH\nPS4=\'+ \'\nPYTHONHASHSEED=\'0\'\nexport PYTHONHASHSEED\nPYTHONNOUSERSITE=\'1\'\nexport PYTHONNOUSERSITE\nPYTHONPATH=\'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/lib/python3.13/site-packages:/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14/lib/python3.13/site-packages:/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0/lib/python3.13/site-packages:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/site-packages:/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12/lib/python3.13/site-packages\'\nexport PYTHONPATH\nRANLIB=\'ranlib\'\nexport RANLIB\nREADELF=\'readelf\'\nexport READELF\nRUST_SRC_PATH=\'/nix/store/x4lzvdhcz439jm1clb41hnx3xa2cqvli-rust-lib-src\'\nexport RUST_SRC_PATH\nSHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport SHELL\nSIZE=\'size\'\nexport SIZE\nSOURCE_DATE_EPOCH=\'315532800\'\nexport SOURCE_DATE_EPOCH\nSTRINGS=\'strings\'\nexport STRINGS\nSTRIP=\'strip\'\nexport STRIP\nXDG_DATA_DIRS=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/share:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/share:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/share:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/share:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/share:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/share:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/share:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/share:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share\'\nexport XDG_DATA_DIRS\n_PYTHON_HOST_PLATFORM=\'linux-x86_64\'\nexport _PYTHON_HOST_PLATFORM\n_PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\'\nexport _PYTHON_SYSCONFIGDATA_NAME\n__structuredAttrs=\'\'\nexport __structuredAttrs\n_substituteStream_has_warned_replace_deprecation=\'false\'\nbuildInputs=\'\'\nexport buildInputs\nbuildPhase=\'{ echo "------------------------------------------------------------";\n echo " WARNING: the existence of this path is not guaranteed.";\n echo " It is an internal implementation detail for pkgs.mkShell.";\n echo "------------------------------------------------------------";\n echo;\n # Record all build inputs as runtime dependencies\n export;\n} >> "$out"\n\'\nexport buildPhase\nbuilder=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport builder\ncmakeFlags=\'\'\nexport cmakeFlags\nconfigureFlags=\'\'\nexport configureFlags\ndefaultBuildInputs=\'\'\ndefaultNativeBuildInputs=\'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-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/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndepsBuildBuild=\'\'\nexport depsBuildBuild\ndepsBuildBuildPropagated=\'\'\nexport depsBuildBuildPropagated\ndepsBuildTarget=\'\'\nexport depsBuildTarget\ndepsBuildTargetPropagated=\'\'\nexport depsBuildTargetPropagated\ndepsHostHost=\'\'\nexport depsHostHost\ndepsHostHostPropagated=\'\'\nexport depsHostHostPropagated\ndepsTargetTarget=\'\'\nexport depsTargetTarget\ndepsTargetTargetPropagated=\'\'\nexport depsTargetTargetPropagated\ndoCheck=\'\'\nexport doCheck\ndoInstallCheck=\'\'\nexport doInstallCheck\ndontAddDisableDepTrack=\'1\'\nexport dontAddDisableDepTrack\ndeclare -a envBuildBuildHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildHostHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildTargetHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envHostHostHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envHostTargetHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envTargetTargetHooks=()\ndeclare -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\' )\nhardeningDisable=\'\'\nexport hardeningDisable\ninitialPath=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45\'\nmesonFlags=\'\'\nexport mesonFlags\nname=\'DrCTF-env\'\nexport name\nnativeBuildInputs=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0 /nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0 /nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3 /nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3 /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev /nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2 /nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2 /nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1 /nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3 /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev /nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev /nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du /nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2 /nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3 /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev /nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0 /nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17 /nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0 /nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1 /nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\'\nexport nativeBuildInputs\nout=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\nexport out\noutputBin=\'out\'\noutputDev=\'out\'\noutputDevdoc=\'REMOVE\'\noutputDevman=\'out\'\noutputDoc=\'out\'\noutputInclude=\'out\'\noutputInfo=\'out\'\noutputLib=\'out\'\noutputMan=\'out\'\noutputs=\'out\'\nexport outputs\npatches=\'\'\nexport patches\nphases=\'buildPhase\'\nexport phases\npkg=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndeclare -a pkgsBuildBuild=()\ndeclare -a pkgsBuildHost=(\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0\' \'/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0\' \'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3\' \'/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3\' \'/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs\' \'/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev\' \'/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1\' \'/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2\' \'/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2\' \'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\' \'/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1\' \'/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108\' \'/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2\' \'/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3\' \'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev\' \'/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0\' \'/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev\' \'/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du\' \'/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2\' \'/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3\' \'/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev\' \'/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin\' \'/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4\' \'/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0\' \'/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17\' \'/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5\' \'/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin\' \'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0\' \'/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14\' \'/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0\' \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' \'/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12\' \'/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1\' \'/nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\' \'/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin\' \'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2\' \'/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook\' \'/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh\' \'/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh\' \'/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-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/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh\' \'/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh\' \'/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh\' \'/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh\' \'/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh\' \'/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh\' \'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\' \'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\' )\ndeclare -a pkgsBuildTarget=()\ndeclare -a pkgsHostHost=()\ndeclare -a pkgsHostTarget=()\ndeclare -a pkgsTargetTarget=()\ndeclare -a postFixupHooks=(\'noBrokenSymlinksInAllOutputs\' \'_makeSymlinksRelativeInAllOutputs\' \'_multioutPropagateDev\' )\ndeclare -a postUnpackHooks=(\'_updateSourceDateEpochFromSourceRoot\' )\ndeclare -a preConfigureHooks=(\'_multioutConfig\' )\npreConfigurePhases=\' updateAutotoolsGnuConfigScriptsPhase\'\ndeclare -a preFixupHooks=(\'_moveToShare\' \'_multioutDocs\' \'_multioutDevs\' )\npreferLocalBuild=\'1\'\nexport preferLocalBuild\nprefix=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\ndeclare -a propagatedBuildDepFiles=(\'propagated-build-build-deps\' \'propagated-native-build-inputs\' \'propagated-build-target-deps\' )\npropagatedBuildInputs=\'\'\nexport propagatedBuildInputs\ndeclare -a propagatedHostDepFiles=(\'propagated-host-host-deps\' \'propagated-build-inputs\' )\npropagatedNativeBuildInputs=\'\'\nexport propagatedNativeBuildInputs\ndeclare -a propagatedTargetDepFiles=(\'propagated-target-target-deps\' )\nshell=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport shell\nshellHook=\'\nexport PS1="\\[\\e[0;34m\\](devenv)\\[\\e[0m\\] ${PS1-}"\n\n# override temp directories after "nix develop"\nfor var in TMP TMPDIR TEMP TEMPDIR; do\n if [ -n "${!var-}" ]; then\n export "$var"=/run/user/1000\n fi\ndone\nif [ -n "${NIX_BUILD_TOP-}" ]; then\n unset NIX_BUILD_TOP\nfi\n\n# set path to locales on non-NixOS Linux hosts\nif [ -z "${LOCALE_ARCHIVE-}" ]; then\n export LOCALE_ARCHIVE=/nix/store/lncqmx5asfccx0gfkp64r94ri59y0iyv-glibc-locales-2.40-66/lib/locale/locale-archive\nfi\n\n\n# direnv helper\nif [ ! type -p direnv &>/dev/null && -f .envrc ]; then\n echo "An .envrc file was detected, but the direnv command is not installed."\n echo "To use this configuration, please install direnv: https://direnv.net/docs/installation.html"\nfi\n\nmkdir -p "$DEVENV_STATE"\nif [ ! -L "$DEVENV_DOTFILE/profile" ] || [ "$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/readlink $DEVENV_DOTFILE/profile)" != "/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile" ]\nthen\n ln -snf /nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile "$DEVENV_DOTFILE/profile"\nfi\nunset HOST_PATH NIX_BUILD_CORES __structuredAttrs buildInputs buildPhase builder depsBuildBuild depsBuildBuildPropagated depsBuildTarget depsBuildTargetPropagated depsHostHost depsHostHostPropagated depsTargetTarget depsTargetTargetPropagated dontAddDisableDepTrack doCheck doInstallCheck nativeBuildInputs out outputs patches phases preferLocalBuild propagatedBuildInputs propagatedNativeBuildInputs shell shellHook stdenv strictDeps\n\nmkdir -p /run/user/1000/devenv-405663c\nln -snf /run/user/1000/devenv-405663c /home/ender/Documents/Projects/dr-ctf/.devenv/run\n\n\nexport CARGO_INSTALL_ROOT=$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/realpath --no-symlinks /home/ender/Documents/Projects/dr-ctf/.devenv/state/cargo-install)\nexport PATH="$PATH:$CARGO_INSTALL_ROOT/bin"\n\nexport PATH="node_modules/.bin:$PATH"\n\n/nix/store/0h3grrk59ixrbqpikbxknvwg5nb05pr0-devenv-tasks-2.0.0/bin/devenv-tasks run devenv:enterShell --mode all || exit $?\nif [ -f "$DEVENV_DOTFILE/load-exports" ]; then\n source "$DEVENV_DOTFILE/load-exports"\nfi\n\necho "✨ devenv 1.11.1 is out of date. Please update to 1.11.2: https://devenv.sh/getting-started/#installation" >&2\n\n\n# Check whether the direnv integration is out of date.\n{\n if [[ ":${DIRENV_ACTIVE-}:" == *":/home/ender/Documents/Projects/dr-ctf:"* ]]; then\n if [[ ! "${DEVENV_NO_DIRENVRC_OUTDATED_WARNING-}" == 1 && ! "${DEVENV_DIRENVRC_ROLLING_UPGRADE-}" == 1 ]]; then\n if [[ ${DEVENV_DIRENVRC_VERSION:-0} -lt 1 ]]; then\n direnv_line=$(grep --color=never -E "source_url.*cachix/devenv" .envrc || echo "")\n\n echo "✨ The direnv integration in your .envrc is out of date."\n echo ""\n echo -n "RECOMMENDED: devenv can now auto-upgrade the direnv integration. "\n if [[ -n "$direnv_line" ]]; then\n echo "To enable this feature, replace the following line in your .envrc:"\n echo ""\n echo " $direnv_line"\n echo ""\n echo "with:"\n echo ""\n echo " eval \\"\\$(devenv direnvrc)\\""\n else\n echo "To enable this feature, replace the \\`source_url\\` line that fetches the direnvrc integration in your .envrc with:"\n echo ""\n echo " eval \\"$(devenv direnvrc)\\""\n fi\n echo ""\n echo "If you prefer to continue managing the integration manually, follow the upgrade instructions at https://devenv.sh/automatic-shell-activation/."\n echo ""\n echo "To disable this message:"\n echo ""\n echo " Add the following environment to your .envrc before \\`use devenv\\`:"\n echo ""\n echo " export DEVENV_NO_DIRENVRC_OUTDATED_WARNING=1"\n echo ""\n echo " Or set the following option in your devenv configuration:"\n echo ""\n echo " devenv.warnOnNewVersion = false;"\n echo ""\n fi\n fi\n fi\n} >&2\n\ngit --version # Use packages\n\n\'\nexport shellHook\nstdenv=\'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\'\nexport stdenv\nstrictDeps=\'\'\nexport strictDeps\nsystem=\'x86_64-linux\'\nexport system\ndeclare -a unpackCmdHooks=(\'_defaultUnpack\' )\n_activatePkgs ()\n{\n \n local hostOffset targetOffset;\n local pkg;\n for hostOffset in "${allPlatOffsets[@]}";\n do\n local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}";\n for targetOffset in "${allPlatOffsets[@]}";\n do\n (( hostOffset <= targetOffset )) || continue;\n local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n activatePackage "$pkg" "$hostOffset" "$targetOffset";\n done;\n done;\n done\n}\n_addRpathPrefix ()\n{\n \n if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then\n export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}";\n fi\n}\n_addToEnv ()\n{\n \n local depHostOffset depTargetOffset;\n local pkg;\n for depHostOffset in "${allPlatOffsets[@]}";\n do\n local hookVar="${pkgHookVarVars[depHostOffset + 1]}";\n local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}";\n for depTargetOffset in "${allPlatOffsets[@]}";\n do\n (( depHostOffset <= depTargetOffset )) || continue;\n local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]";\n if [[ -z "${strictDeps-}" ]]; then\n local visitedPkgs="";\n for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}";\n do\n if [[ "$visitedPkgs" = *"$pkg"* ]]; then\n continue;\n fi;\n runHook "${!hookRef}" "$pkg";\n visitedPkgs+=" $pkg";\n done;\n else\n local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n runHook "${!hookRef}" "$pkg";\n done;\n fi;\n done;\n done\n}\n_allFlags ()\n{\n \n export system pname name version;\n while IFS=\'\' read -r varName; do\n nixTalkativeLog "@${varName}@ -> ${!varName}";\n args+=("--subst-var" "$varName");\n done < <(awk \'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }\')\n}\n_assignFirst ()\n{\n \n local varName="$1";\n local _var;\n local REMOVE=REMOVE;\n shift;\n for _var in "$@";\n do\n if [ -n "${!_var-}" ]; then\n eval "${varName}"="${_var}";\n return;\n fi;\n done;\n echo;\n echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}.";\n echo " The following variables were all unset or empty:";\n echo " $*";\n if [ -z "${out:-}" ]; then\n echo \' If you do not want an "out" output in your derivation, make sure to define\';\n echo \' the other specific required outputs. This can be achieved by picking one\';\n echo " of the above as an output.";\n echo \' You do not have to remove "out" if you want to have a different default\';\n echo \' output, because the first output is taken as a default.\';\n echo;\n fi;\n return 1\n}\n_callImplicitHook ()\n{\n \n local def="$1";\n local hookName="$2";\n if declare -F "$hookName" > /dev/null; then\n nixTalkativeLog "calling implicit \'$hookName\' function hook";\n "$hookName";\n else\n if type -p "$hookName" > /dev/null; then\n nixTalkativeLog "sourcing implicit \'$hookName\' script hook";\n source "$hookName";\n else\n if [ -n "${!hookName:-}" ]; then\n nixTalkativeLog "evaling implicit \'$hookName\' string hook";\n eval "${!hookName}";\n else\n return "$def";\n fi;\n fi;\n fi\n}\n_defaultUnpack ()\n{\n \n local fn="$1";\n local destination;\n if [ -d "$fn" ]; then\n destination="$(stripHash "$fn")";\n if [ -e "$destination" ]; then\n echo "Cannot copy $fn to $destination: destination already exists!";\n echo "Did you specify two \\"srcs\\" with the same \\"name\\"?";\n return 1;\n fi;\n cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination";\n else\n case "$fn" in \n *.tar.xz | *.tar.lzma | *.txz)\n ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn";\n true ) | tar xf - --mode=+w --warning=no-timestamp\n ;;\n *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)\n tar xf "$fn" --mode=+w --warning=no-timestamp\n ;;\n *)\n return 1\n ;;\n esac;\n fi\n}\n_doStrip ()\n{\n \n local -ra flags=(dontStripHost dontStripTarget);\n local -ra debugDirs=(stripDebugList stripDebugListTarget);\n local -ra allDirs=(stripAllList stripAllListTarget);\n local -ra stripCmds=(STRIP STRIP_FOR_TARGET);\n local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET);\n stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks};\n stripDebugListTarget=${stripDebugListTarget[*]:-};\n stripAllList=${stripAllList[*]:-};\n stripAllListTarget=${stripAllListTarget[*]:-};\n local i;\n for i in ${!stripCmds[@]};\n do\n local -n flag="${flags[$i]}";\n local -n debugDirList="${debugDirs[$i]}";\n local -n allDirList="${allDirs[$i]}";\n local -n stripCmd="${stripCmds[$i]}";\n local -n ranlibCmd="${ranlibCmds[$i]}";\n if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then\n continue;\n fi;\n stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}";\n stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}";\n done\n}\n_eval ()\n{\n \n if declare -F "$1" > /dev/null 2>&1; then\n "$@";\n else\n eval "$1";\n fi\n}\n_logHook ()\n{\n \n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n local hookKind="$1";\n local hookExpr="$2";\n shift 2;\n if declare -F "$hookExpr" > /dev/null 2>&1; then\n nixTalkativeLog "calling \'$hookKind\' function hook \'$hookExpr\'" "$@";\n else\n if type -p "$hookExpr" > /dev/null; then\n nixTalkativeLog "sourcing \'$hookKind\' script hook \'$hookExpr\'";\n else\n if [[ "$hookExpr" != "_callImplicitHook"* ]]; then\n local exprToOutput;\n if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then\n exprToOutput="$hookExpr";\n else\n local hookExprLine;\n while IFS= read -r hookExprLine; do\n hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}";\n if [[ -n "$hookExprLine" ]]; then\n exprToOutput+="$hookExprLine\\\\n ";\n fi;\n done <<< "$hookExpr";\n exprToOutput="${exprToOutput%%\\\\n }";\n fi;\n nixTalkativeLog "evaling \'$hookKind\' string hook \'$exprToOutput\'";\n fi;\n fi;\n fi\n}\n_makeSymlinksRelative ()\n{\n \n local symlinkTarget;\n if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n while IFS= read -r -d \'\' f; do\n symlinkTarget=$(readlink "$f");\n if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then\n continue;\n fi;\n if [ ! -e "$symlinkTarget" ]; then\n echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)";\n fi;\n echo "rewriting symlink $f to be relative to $prefix";\n ln -snrf "$symlinkTarget" "$f";\n done < <(find $prefix -type l -print0)\n}\n_makeSymlinksRelativeInAllOutputs ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" _makeSymlinksRelative;\n done\n}\n_moveLib64 ()\n{\n \n if [ "${dontMoveLib64-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then\n return;\n fi;\n echo "moving $prefix/lib64/* to $prefix/lib";\n mkdir -p $prefix/lib;\n shopt -s dotglob;\n for i in $prefix/lib64/*;\n do\n mv --no-clobber "$i" $prefix/lib;\n done;\n shopt -u dotglob;\n rmdir $prefix/lib64;\n ln -s lib $prefix/lib64\n}\n_moveSbin ()\n{\n \n if [ "${dontMoveSbin-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then\n return;\n fi;\n echo "moving $prefix/sbin/* to $prefix/bin";\n mkdir -p $prefix/bin;\n shopt -s dotglob;\n for i in $prefix/sbin/*;\n do\n mv "$i" $prefix/bin;\n done;\n shopt -u dotglob;\n rmdir $prefix/sbin;\n ln -s bin $prefix/sbin\n}\n_moveSystemdUserUnits ()\n{\n \n if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then\n return;\n fi;\n if [ ! -e "${prefix:?}/lib/systemd/user" ]; then\n return;\n fi;\n local source="$prefix/lib/systemd/user";\n local target="$prefix/share/systemd/user";\n echo "moving $source/* to $target";\n mkdir -p "$target";\n ( shopt -s dotglob;\n for i in "$source"/*;\n do\n mv "$i" "$target";\n done );\n rmdir "$source";\n ln -s "$target" "$source"\n}\n_moveToShare ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n if [ -z "${forceShare-}" ]; then\n forceShare=(man doc info);\n fi;\n else\n forceShare=(${forceShare:-man doc info});\n fi;\n if [[ -z "$out" ]]; then\n return;\n fi;\n for d in "${forceShare[@]}";\n do\n if [ -d "$out/$d" ]; then\n if [ -d "$out/share/$d" ]; then\n echo "both $d/ and share/$d/ exist!";\n else\n echo "moving $out/$d to $out/share/$d";\n mkdir -p $out/share;\n mv $out/$d $out/share/;\n fi;\n fi;\n done\n}\n_multioutConfig ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then\n return;\n fi;\n if [ -z "${shareDocName:-}" ]; then\n local confScript="${configureScript:-}";\n if [ -z "$confScript" ] && [ -x ./configure ]; then\n confScript=./configure;\n fi;\n if [ -f "$confScript" ]; then\n local shareDocName="$(sed -n "s/^PACKAGE_TARNAME=\'\\(.*\\)\'$/\\1/p" < "$confScript")";\n fi;\n if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q \'[^a-zA-Z0-9_-]\'; then\n shareDocName="$(echo "$name" | sed \'s/-[^a-zA-Z].*//\')";\n fi;\n fi;\n prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale;\n prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal\n}\n_multioutDevs ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then\n return;\n fi;\n moveToOutput include "${!outputInclude}";\n moveToOutput lib/pkgconfig "${!outputDev}";\n moveToOutput share/pkgconfig "${!outputDev}";\n moveToOutput lib/cmake "${!outputDev}";\n moveToOutput share/aclocal "${!outputDev}";\n for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc;\n do\n echo "Patching \'$f\' includedir to output ${!outputInclude}";\n sed -i "/^includedir=/s,=\\${prefix},=${!outputInclude}," "$f";\n done\n}\n_multioutDocs ()\n{\n \n local REMOVE=REMOVE;\n moveToOutput share/info "${!outputInfo}";\n moveToOutput share/doc "${!outputDoc}";\n moveToOutput share/gtk-doc "${!outputDevdoc}";\n moveToOutput share/devhelp/books "${!outputDevdoc}";\n moveToOutput share/man "${!outputMan}";\n moveToOutput share/man/man3 "${!outputDevman}"\n}\n_multioutPropagateDev ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ]; then\n return;\n fi;\n local outputFirst;\n for outputFirst in $(getAllOutputNames);\n do\n break;\n done;\n local propagaterOutput="$outputDev";\n if [ -z "$propagaterOutput" ]; then\n propagaterOutput="$outputFirst";\n fi;\n if [ -z "${propagatedBuildOutputs+1}" ]; then\n local po_dirty="$outputBin $outputInclude $outputLib";\n set +o pipefail;\n propagatedBuildOutputs=`echo "$po_dirty" | tr -s \' \' \'\\n\' | grep -v -F "$propagaterOutput" | sort -u | tr \'\\n\' \' \' `;\n set -o pipefail;\n fi;\n if [ -z "$propagatedBuildOutputs" ]; then\n return;\n fi;\n mkdir -p "${!propagaterOutput}"/nix-support;\n for output in $propagatedBuildOutputs;\n do\n echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs;\n done\n}\n_nixLogWithLevel ()\n{\n \n [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0;\n local logLevel;\n case "${1:?}" in \n 0)\n logLevel=ERROR\n ;;\n 1)\n logLevel=WARN\n ;;\n 2)\n logLevel=NOTICE\n ;;\n 3)\n logLevel=INFO\n ;;\n 4)\n logLevel=TALKATIVE\n ;;\n 5)\n logLevel=CHATTY\n ;;\n 6)\n logLevel=DEBUG\n ;;\n 7)\n logLevel=VOMIT\n ;;\n *)\n echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD";\n return 1\n ;;\n esac;\n local callerName="${FUNCNAME[2]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s: %s\\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD"\n}\n_overrideFirst ()\n{\n \n if [ -z "${!1-}" ]; then\n _assignFirst "$@";\n fi\n}\n_pruneLibtoolFiles ()\n{\n \n if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n find "$prefix" -type f -name \'*.la\' -exec grep -q \'^# Generated by .*libtool\' {} \\; -exec grep -q "^old_library=\'\'" {} \\; -exec sed -i {} -e "/^dependency_libs=\'[^\']/ c dependency_libs=\'\' #pruned" \\;\n}\n_updateSourceDateEpochFromSourceRoot ()\n{\n \n if [ -n "$sourceRoot" ]; then\n updateSourceDateEpoch "$sourceRoot";\n fi\n}\nactivatePackage ()\n{\n \n local pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n if [ -f "$pkg" ]; then\n nixTalkativeLog "sourcing setup hook \'$pkg\'";\n source "$pkg";\n fi;\n if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then\n addToSearchPath _PATH "$pkg/bin";\n fi;\n if (( hostOffset <= -1 )); then\n addToSearchPath _XDG_DATA_DIRS "$pkg/share";\n fi;\n if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then\n addToSearchPath _HOST_PATH "$pkg/bin";\n fi;\n if [[ -f "$pkg/nix-support/setup-hook" ]]; then\n nixTalkativeLog "sourcing setup hook \'$pkg/nix-support/setup-hook\'";\n source "$pkg/nix-support/setup-hook";\n fi\n}\naddEnvHooks ()\n{\n \n local depHostOffset="$1";\n shift;\n local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]";\n local pkgHookVar;\n for pkgHookVar in "${!pkgHookVarsSlice}";\n do\n eval "${pkgHookVar}s"\'+=("$@")\';\n done\n}\naddNodePath ()\n{\n \n addToSearchPath NODE_PATH "$1/lib/node_modules"\n}\naddPythonPath ()\n{\n \n addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.13/site-packages\n}\naddToSearchPath ()\n{\n \n addToSearchPathWithCustomDelimiter ":" "$@"\n}\naddToSearchPathWithCustomDelimiter ()\n{\n \n local delimiter="$1";\n local varName="$2";\n local dir="$3";\n if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then\n export "${varName}=${!varName:+${!varName}${delimiter}}${dir}";\n fi\n}\nappendToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\\"X\\"]=\\"Y\\") instead." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=(${nameref+"${nameref[@]}"} "$@");\n else\n nameref="${nameref-} $*";\n fi\n}\nauditTmpdir ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "checking for references to $TMPDIR/ in $dir...";\n local tmpdir elf_fifo script_fifo;\n tmpdir="$(mktemp -d)";\n elf_fifo="$tmpdir/elf";\n script_fifo="$tmpdir/script";\n mkfifo "$elf_fifo" "$script_fifo";\n ( find "$dir" -type f -not -path \'*/.build-id/*\' -print0 | while IFS= read -r -d \'\' file; do\n if isELF "$file"; then\n printf \'%s\\0\' "$file" 1>&3;\n else\n if isScript "$file"; then\n filename=${file##*/};\n dir=${file%/*};\n if [ -e "$dir/.$filename-wrapped" ]; then\n printf \'%s\\0\' "$file" 1>&4;\n fi;\n fi;\n fi;\n done;\n exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then\n echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$elf_fifo" ) & local pid_elf=$!;\n local pid_script;\n ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if grep -q -F "$TMPDIR/" "$1"; then\n echo "wrapper script $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$script_fifo" ) & local pid_script=$!;\n wait "$pid_elf" || { \n echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n wait "$pid_script" || { \n echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n rm -r "$tmpdir"\n}\nbintoolsWrapper_addLDVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib64";\n fi;\n if [[ -d "$1/lib" ]]; then\n local -a glob=($1/lib/lib*);\n if [ "${#glob[*]}" -gt 0 ]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib";\n fi;\n fi\n}\nbuildPhase ()\n{\n \n runHook preBuild;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom buildPhase, doing nothing";\n else\n foundMakefile=1;\n local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray;\n echoCmd \'build flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postBuild\n}\nccWrapper_addCVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n local found=;\n if [ -d "$1/include" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include";\n found=1;\n fi;\n if [ -d "$1/Library/Frameworks" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks";\n found=1;\n fi;\n if [[ -n "" && -n ${NIX_STORE:-} && -n $found ]]; then\n local scrubbed="$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${1#"$NIX_STORE"/*-}";\n export NIX_CFLAGS_COMPILE${role_post}+=" -fmacro-prefix-map=$1=$scrubbed";\n fi\n}\ncheckPhase ()\n{\n \n runHook preCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom checkPhase, doing nothing";\n runHook postCheck;\n return;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then\n checkTarget="check";\n else\n if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then\n checkTarget="test";\n fi;\n fi;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n echo "no check/test target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget;\n echoCmd \'check flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postCheck\n}\ncompressManPages ()\n{\n \n local dir="$1";\n if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then\n return;\n fi;\n echo "gzipping man pages under $dir/share/man/";\n find "$dir"/share/man/ -type f -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f;\n find "$dir"/share/man/ -type l -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | sort -z | while IFS= read -r -d \'\' f; do\n local target;\n target="$(readlink -f "$f")";\n if [ -f "$target".gz ]; then\n ln -sf "$target".gz "$f".gz && rm "$f";\n fi;\n done\n}\nconcatStringsSep ()\n{\n \n local sep="$1";\n local name="$2";\n local type oldifs;\n if type=$(declare -p "$name" 2> /dev/null); then\n local -n nameref="$name";\n case "${type#* }" in \n -A*)\n echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n local IFS="$(printf \'\\036\')"\n ;;\n *)\n local IFS=" "\n ;;\n esac;\n local ifs_separated="${nameref[*]}";\n echo -n "${ifs_separated//"$IFS"/"$sep"}";\n fi\n}\nconcatTo ()\n{\n \n local -;\n set -o noglob;\n local -n targetref="$1";\n shift;\n local arg default name type;\n for arg in "$@";\n do\n IFS="=" read -r name default <<< "$arg";\n local -n nameref="$name";\n if [[ -z "${nameref[*]}" && -n "$default" ]]; then\n targetref+=("$default");\n else\n if type=$(declare -p "$name" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n targetref+=("${nameref[@]}")\n ;;\n *)\n if [[ "$name" = *"Array" ]]; then\n nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future";\n targetref+=(${nameref+"${nameref[@]}"});\n else\n targetref+=(${nameref-});\n fi\n ;;\n esac;\n fi;\n fi;\n done\n}\nconfigurePhase ()\n{\n \n runHook preConfigure;\n : "${configureScript=}";\n if [[ -z "$configureScript" && -x ./configure ]]; then\n configureScript=./configure;\n fi;\n if [ -z "${dontFixLibtool:-}" ]; then\n export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}";\n local i;\n find . -iname "ltmain.sh" -print0 | while IFS=\'\' read -r -d \'\' i; do\n echo "fixing libtool script $i";\n fixLibtool "$i";\n done;\n CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX);\n find . -executable -type f -name configure -exec grep -l \'GNU Libtool is free software; you can redistribute it and/or modify\' {} \\; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \\; -exec sed -i s_/usr/bin/file_file_g {} \\; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \\;;\n rm -f "$CONFIGURE_MTIME_REFERENCE";\n fi;\n if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then\n prependToVar configureFlags "${prefixKey:---prefix=}$prefix";\n fi;\n if [[ -f "$configureScript" ]]; then\n if [ -z "${dontAddDisableDepTrack:-}" ]; then\n if grep -q dependency-tracking "$configureScript"; then\n prependToVar configureFlags --disable-dependency-tracking;\n fi;\n fi;\n if [ -z "${dontDisableStatic:-}" ]; then\n if grep -q enable-static "$configureScript"; then\n prependToVar configureFlags --disable-static;\n fi;\n fi;\n if [ -z "${dontPatchShebangsInConfigure:-}" ]; then\n patchShebangs --build "$configureScript";\n fi;\n fi;\n if [ -n "$configureScript" ]; then\n local -a flagsArray;\n concatTo flagsArray configureFlags configureFlagsArray;\n echoCmd \'configure flags\' "${flagsArray[@]}";\n $configureScript "${flagsArray[@]}";\n unset flagsArray;\n else\n echo "no configure script, doing nothing";\n fi;\n runHook postConfigure\n}\nconsumeEntire ()\n{\n \n if IFS=\'\' read -r -d \'\' "$1"; then\n echo "consumeEntire(): ERROR: Input null bytes, won\'t process" 1>&2;\n return 1;\n fi\n}\ndistPhase ()\n{\n \n runHook preDist;\n local flagsArray=();\n concatTo flagsArray distFlags distFlagsArray distTarget=dist;\n echo \'dist flags: %q\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n if [ "${dontCopyDist:-0}" != 1 ]; then\n mkdir -p "$out/tarballs";\n cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs";\n fi;\n runHook postDist\n}\ndumpVars ()\n{\n \n if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then\n local old_umask;\n old_umask=$(umask);\n umask 0077;\n export 2> /dev/null > "$NIX_BUILD_TOP/env-vars";\n umask "$old_umask";\n fi\n}\nechoCmd ()\n{\n \n printf "%s:" "$1";\n shift;\n printf \' %q\' "$@";\n echo\n}\nexitHandler ()\n{\n \n exitCode="$?";\n set +e;\n if [ -n "${showBuildStats:-}" ]; then\n read -r -d \'\' -a buildTimes < <(times);\n echo "build times:";\n echo "user time for the shell ${buildTimes[0]}";\n echo "system time for the shell ${buildTimes[1]}";\n echo "user time for all child processes ${buildTimes[2]}";\n echo "system time for all child processes ${buildTimes[3]}";\n fi;\n if (( "$exitCode" != 0 )); then\n runHook failureHook;\n if [ -n "${succeedOnFailure:-}" ]; then\n echo "build failed with exit code $exitCode (ignored)";\n mkdir -p "$out/nix-support";\n printf "%s" "$exitCode" > "$out/nix-support/failed";\n exit 0;\n fi;\n else\n runHook exitHook;\n fi;\n return "$exitCode"\n}\nfindInputs ()\n{\n \n local -r pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n local varVar="${pkgAccumVarVars[hostOffset + 1]}";\n local varRef="$varVar[$((targetOffset - hostOffset))]";\n local var="${!varRef}";\n unset -v varVar varRef;\n local varSlice="$var[*]";\n case " ${!varSlice-} " in \n *" $pkg "*)\n return 0\n ;;\n esac;\n unset -v varSlice;\n eval "$var"\'+=("$pkg")\';\n if ! [ -e "$pkg" ]; then\n echo "build input $pkg does not exist" 1>&2;\n exit 1;\n fi;\n function mapOffset () \n { \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n };\n local relHostOffset;\n for relHostOffset in "${allPlatOffsets[@]}";\n do\n local files="${propagatedDepFilesVars[relHostOffset + 1]}";\n local hostOffsetNext;\n mapOffset "$relHostOffset" hostOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n local relTargetOffset;\n for relTargetOffset in "${allPlatOffsets[@]}";\n do\n (( "$relHostOffset" <= "$relTargetOffset" )) || continue;\n local fileRef="${files}[$relTargetOffset - $relHostOffset]";\n local file="${!fileRef}";\n unset -v fileRef;\n local targetOffsetNext;\n mapOffset "$relTargetOffset" targetOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n [[ -f "$pkg/nix-support/$file" ]] || continue;\n local pkgNext;\n read -r -d \'\' pkgNext < "$pkg/nix-support/$file" || true;\n for pkgNext in $pkgNext;\n do\n findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext";\n done;\n done;\n done\n}\nfixLibtool ()\n{\n \n local search_path;\n for flag in $NIX_LDFLAGS;\n do\n case $flag in \n -L*)\n search_path+=" ${flag#-L}"\n ;;\n esac;\n done;\n sed -i "$1" -e "s^eval \\(sys_lib_search_path=\\).*^\\1\'${search_path:-}\'^" -e \'s^eval sys_lib_.+search_path=.*^^\'\n}\nfixupPhase ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n if [ -e "${!output}" ]; then\n chmod -R u+w,u-s,g-s "${!output}";\n fi;\n done;\n runHook preFixup;\n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" runHook fixupOutput;\n done;\n recordPropagatedDependencies;\n if [ -n "${setupHook:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook";\n fi;\n if [ -n "${setupHooks:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n local hook;\n for hook in ${setupHooks[@]};\n do\n local content;\n consumeEntire content < "$hook";\n substituteAllStream content "file \'$hook\'" >> "${!outputDev}/nix-support/setup-hook";\n unset -v content;\n done;\n unset -v hook;\n fi;\n if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then\n mkdir -p "${!outputBin}/nix-support";\n printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages";\n fi;\n runHook postFixup\n}\ngenericBuild ()\n{\n \n export GZIP_NO_TIMESTAMPS=1;\n if [ -f "${buildCommandPath:-}" ]; then\n source "$buildCommandPath";\n return;\n fi;\n if [ -n "${buildCommand:-}" ]; then\n eval "$buildCommand";\n return;\n fi;\n if [ -z "${phases[*]:-}" ]; then\n phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}";\n fi;\n for curPhase in ${phases[*]};\n do\n runPhase "$curPhase";\n done\n}\ngetAllOutputNames ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n echo "${!outputs[*]}";\n else\n echo "$outputs";\n fi\n}\ngetHostRole ()\n{\n \n getRole "$hostOffset"\n}\ngetHostRoleEnvHook ()\n{\n \n getRole "$depHostOffset"\n}\ngetRole ()\n{\n \n case $1 in \n -1)\n role_post=\'_FOR_BUILD\'\n ;;\n 0)\n role_post=\'\'\n ;;\n 1)\n role_post=\'_FOR_TARGET\'\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ngetTargetRole ()\n{\n \n getRole "$targetOffset"\n}\ngetTargetRoleEnvHook ()\n{\n \n getRole "$depTargetOffset"\n}\ngetTargetRoleWrapper ()\n{\n \n case $targetOffset in \n -1)\n export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1\n ;;\n 0)\n export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1\n ;;\n 1)\n export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ninstallCheckPhase ()\n{\n \n runHook preInstallCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom installCheckPhase, doing nothing";\n else\n if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then\n echo "no installcheck target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck;\n echoCmd \'installcheck flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n fi;\n runHook postInstallCheck\n}\ninstallPhase ()\n{\n \n runHook preInstall;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom installPhase, doing nothing";\n runHook postInstall;\n return;\n else\n foundMakefile=1;\n fi;\n if [ -n "$prefix" ]; then\n mkdir -p "$prefix";\n fi;\n local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install;\n echoCmd \'install flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n runHook postInstall\n}\nisELF ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [ "$magic" = \'\177ELF\' ]; then\n return 0;\n else\n return 1;\n fi\n}\nisMachO ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xcf") || "$magic" = $(echo -ne "\\xcf\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xce") || "$magic" = $(echo -ne "\\xce\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xca\\xfe\\xba\\xbe") || "$magic" = $(echo -ne "\\xbe\\xba\\xfe\\xca") ]]; then\n return 0;\n else\n return 1;\n fi;\n fi;\n fi\n}\nisScript ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 2 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" =~ \\#! ]]; then\n return 0;\n else\n return 1;\n fi\n}\nmapOffset ()\n{\n \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n}\nmoveToOutput ()\n{\n \n local patt="$1";\n local dstOut="$2";\n local output;\n for output in $(getAllOutputNames);\n do\n if [ "${!output}" = "$dstOut" ]; then\n continue;\n fi;\n local srcPath;\n for srcPath in "${!output}"/$patt;\n do\n if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then\n continue;\n fi;\n if [ "$dstOut" = REMOVE ]; then\n echo "Removing $srcPath";\n rm -r "$srcPath";\n else\n local dstPath="$dstOut${srcPath#${!output}}";\n echo "Moving $srcPath to $dstPath";\n if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then\n rmdir "$srcPath" --ignore-fail-on-non-empty;\n if [ -d "$srcPath" ]; then\n mv -t "$dstPath" "$srcPath"/*;\n rmdir "$srcPath";\n fi;\n else\n mkdir -p "$(readlink -m "$dstPath/..")";\n mv "$srcPath" "$dstPath";\n fi;\n fi;\n local srcParent="$(readlink -m "$srcPath/..")";\n if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then\n echo "Removing empty $srcParent/ and (possibly) its parents";\n rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true;\n fi;\n done;\n done\n}\nnixChattyLog ()\n{\n \n _nixLogWithLevel 5 "$*"\n}\nnixDebugLog ()\n{\n \n _nixLogWithLevel 6 "$*"\n}\nnixErrorLog ()\n{\n \n _nixLogWithLevel 0 "$*"\n}\nnixInfoLog ()\n{\n \n _nixLogWithLevel 3 "$*"\n}\nnixLog ()\n{\n \n [[ -z ${NIX_LOG_FD-} ]] && return 0;\n local callerName="${FUNCNAME[1]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s\\n" "$callerName" "$*" >&"$NIX_LOG_FD"\n}\nnixNoticeLog ()\n{\n \n _nixLogWithLevel 2 "$*"\n}\nnixTalkativeLog ()\n{\n \n _nixLogWithLevel 4 "$*"\n}\nnixVomitLog ()\n{\n \n _nixLogWithLevel 7 "$*"\n}\nnixWarnLog ()\n{\n \n _nixLogWithLevel 1 "$*"\n}\nnoBrokenSymlinks ()\n{\n \n local -r output="${1:?}";\n local path;\n local pathParent;\n local symlinkTarget;\n local -i numDanglingSymlinks=0;\n local -i numReflexiveSymlinks=0;\n local -i numUnreadableSymlinks=0;\n if [[ ! -e $output ]]; then\n nixWarnLog "skipping non-existent output $output";\n return 0;\n fi;\n nixInfoLog "running on $output";\n while IFS= read -r -d \'\' path; do\n pathParent="$(dirname "$path")";\n if ! symlinkTarget="$(readlink "$path")"; then\n nixErrorLog "the symlink $path is unreadable";\n numUnreadableSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget == /* ]]; then\n nixInfoLog "symlink $path points to absolute target $symlinkTarget";\n else\n nixInfoLog "symlink $path points to relative target $symlinkTarget";\n symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")";\n fi;\n if [[ $symlinkTarget = "$TMPDIR"/* ]]; then\n nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget";\n numDanglingSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then\n nixInfoLog "symlink $path points outside the Nix store; ignoring";\n continue;\n fi;\n if [[ $path == "$symlinkTarget" ]]; then\n nixErrorLog "the symlink $path is reflexive";\n numReflexiveSymlinks+=1;\n else\n if [[ ! -e $symlinkTarget ]]; then\n nixErrorLog "the symlink $path points to a missing target: $symlinkTarget";\n numDanglingSymlinks+=1;\n else\n nixDebugLog "the symlink $path is irreflexive and points to a target which exists";\n fi;\n fi;\n done < <(find "$output" -type l -print0);\n if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then\n nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks";\n exit 1;\n fi;\n return 0\n}\nnoBrokenSymlinksInAllOutputs ()\n{\n \n if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then\n for output in $(getAllOutputNames);\n do\n noBrokenSymlinks "${!output}";\n done;\n fi\n}\npatchELF ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "shrinking RPATHs of ELF executables and libraries in $dir";\n local i;\n while IFS= read -r -d \'\' i; do\n if [[ "$i" =~ .build-id ]]; then\n continue;\n fi;\n if ! isELF "$i"; then\n continue;\n fi;\n echo "shrinking $i";\n patchelf --shrink-rpath "$i" || true;\n done < <(find "$dir" -type f -print0)\n}\npatchPhase ()\n{\n \n runHook prePatch;\n local -a patchesArray;\n concatTo patchesArray patches;\n local -a flagsArray;\n concatTo flagsArray patchFlags=-p1;\n for i in "${patchesArray[@]}";\n do\n echo "applying patch $i";\n local uncompress=cat;\n case "$i" in \n *.gz)\n uncompress="gzip -d"\n ;;\n *.bz2)\n uncompress="bzip2 -d"\n ;;\n *.xz)\n uncompress="xz -d"\n ;;\n *.lzma)\n uncompress="lzma -d"\n ;;\n esac;\n $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}";\n done;\n runHook postPatch\n}\npatchShebangs ()\n{\n \n local pathName;\n local update=false;\n while [[ $# -gt 0 ]]; do\n case "$1" in \n --host)\n pathName=HOST_PATH;\n shift\n ;;\n --build)\n pathName=PATH;\n shift\n ;;\n --update)\n update=true;\n shift\n ;;\n --)\n shift;\n break\n ;;\n -* | --*)\n echo "Unknown option $1 supplied to patchShebangs" 1>&2;\n return 1\n ;;\n *)\n break\n ;;\n esac;\n done;\n echo "patching script interpreter paths in $@";\n local f;\n local oldPath;\n local newPath;\n local arg0;\n local args;\n local oldInterpreterLine;\n local newInterpreterLine;\n if [[ $# -eq 0 ]]; then\n echo "No arguments supplied to patchShebangs" 1>&2;\n return 0;\n fi;\n local f;\n while IFS= read -r -d \'\' f; do\n isScript "$f" || continue;\n read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ];\n read -r oldPath arg0 args <<< "${oldInterpreterLine:2}";\n if [[ -z "${pathName:-}" ]]; then\n if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then\n pathName=HOST_PATH;\n else\n pathName=PATH;\n fi;\n fi;\n if [[ "$oldPath" == *"/bin/env" ]]; then\n if [[ $arg0 == "-S" ]]; then\n arg0=${args%% *};\n [[ "$args" == *" "* ]] && args=${args#* } || args=;\n newPath="$(PATH="${!pathName}" type -P "env" || true)";\n args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args";\n else\n if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then\n echo "$f: unsupported interpreter directive \\"$oldInterpreterLine\\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2;\n exit 1;\n else\n newPath="$(PATH="${!pathName}" type -P "$arg0" || true)";\n fi;\n fi;\n else\n if [[ -z $oldPath ]]; then\n oldPath="/bin/sh";\n fi;\n newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)";\n args="$arg0 $args";\n fi;\n newInterpreterLine="$newPath $args";\n newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}};\n if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then\n if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then\n echo "$f: interpreter directive changed from \\"$oldInterpreterLine\\" to \\"$newInterpreterLine\\"";\n escapedInterpreterLine=${newInterpreterLine//\\\\/\\\\\\\\};\n timestamp=$(stat --printf "%y" "$f");\n tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX);\n sed -e "1 s|.*|#\\!$escapedInterpreterLine|" "$f" > "$tmpFile";\n local restoreReadOnly;\n if [[ ! -w "$f" ]]; then\n chmod +w "$f";\n restoreReadOnly=true;\n fi;\n cat "$tmpFile" > "$f";\n rm "$tmpFile";\n if [[ -n "${restoreReadOnly:-}" ]]; then\n chmod -w "$f";\n fi;\n touch --date "$timestamp" "$f";\n fi;\n fi;\n done < <(find "$@" -type f -perm -0100 -print0)\n}\npatchShebangsAuto ()\n{\n \n if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then\n if [[ "$output" != out && "$output" = "$outputDev" ]]; then\n patchShebangs --build "$prefix";\n else\n patchShebangs --host "$prefix";\n fi;\n fi\n}\npkgConfigWrapper_addPkgConfigPath ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig";\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig"\n}\nprependToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=("$@" ${nameref+"${nameref[@]}"});\n else\n nameref="$* ${nameref-}";\n fi\n}\nprintLines ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s\\n\' "$@"\n}\nprintWords ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s \' "$@"\n}\nrecordPropagatedDependencies ()\n{\n \n declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated);\n declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}");\n local propagatedInputsIndex;\n for propagatedInputsIndex in "${!flatVars[@]}";\n do\n local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]";\n local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}";\n [[ -n "${!propagatedInputsSlice}" ]] || continue;\n mkdir -p "${!outputDev}/nix-support";\n printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile";\n done\n}\nrunHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook;\n for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n _eval "$hook" "$@";\n done;\n return 0\n}\nrunOneHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook ret=1;\n for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n if _eval "$hook" "$@"; then\n ret=0;\n break;\n fi;\n done;\n return "$ret"\n}\nrunPhase ()\n{\n \n local curPhase="$*";\n if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then\n return;\n fi;\n showPhaseHeader "$curPhase";\n dumpVars;\n local startTime endTime;\n startTime=$(date +"%s");\n eval "${!curPhase:-$curPhase}";\n endTime=$(date +"%s");\n showPhaseFooter "$curPhase" "$startTime" "$endTime";\n if [ "$curPhase" = unpackPhase ]; then\n [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}";\n cd -- "${sourceRoot:-.}";\n fi\n}\nshowPhaseFooter ()\n{\n \n local phase="$1";\n local startTime="$2";\n local endTime="$3";\n local delta=$(( endTime - startTime ));\n (( delta < 30 )) && return;\n local H=$((delta/3600));\n local M=$((delta%3600/60));\n local S=$((delta%60));\n echo -n "$phase completed in ";\n (( H > 0 )) && echo -n "$H hours ";\n (( M > 0 )) && echo -n "$M minutes ";\n echo "$S seconds"\n}\nshowPhaseHeader ()\n{\n \n local phase="$1";\n echo "Running phase: $phase";\n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n printf "@nix { \\"action\\": \\"setPhase\\", \\"phase\\": \\"%s\\" }\\n" "$phase" >&"$NIX_LOG_FD"\n}\nstripDirs ()\n{\n \n local cmd="$1";\n local ranlibCmd="$2";\n local paths="$3";\n local stripFlags="$4";\n local excludeFlags=();\n local pathsNew=;\n [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1;\n [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1;\n local pattern;\n if [ -n "${stripExclude:-}" ]; then\n for pattern in "${stripExclude[@]}";\n do\n excludeFlags+=(-a \'!\' \'(\' -name "$pattern" -o -wholename "$prefix/$pattern" \')\');\n done;\n fi;\n local p;\n for p in ${paths};\n do\n if [ -e "$prefix/$p" ]; then\n pathsNew="${pathsNew} $prefix/$p";\n fi;\n done;\n paths=${pathsNew};\n if [ -n "${paths}" ]; then\n echo "stripping (with command $cmd and flags $stripFlags) in $paths";\n local striperr;\n striperr="$(mktemp --tmpdir="$TMPDIR" \'striperr.XXXXXX\')";\n 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=$?;\n [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 );\n rm "$striperr";\n find $paths -name \'*.a\' -type f -exec $ranlibCmd \'{}\' \\; 2> /dev/null;\n fi\n}\nstripHash ()\n{\n \n local strippedName casematchOpt=0;\n strippedName="$(basename -- "$1")";\n shopt -q nocasematch && casematchOpt=1;\n shopt -u nocasematch;\n if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then\n echo "${strippedName:33}";\n else\n echo "$strippedName";\n fi;\n if (( casematchOpt )); then\n shopt -s nocasematch;\n fi\n}\nsubstitute ()\n{\n \n local input="$1";\n local output="$2";\n shift 2;\n if [ ! -f "$input" ]; then\n echo "substitute(): ERROR: file \'$input\' does not exist" 1>&2;\n return 1;\n fi;\n local content;\n consumeEntire content < "$input";\n if [ -e "$output" ]; then\n chmod +w "$output";\n fi;\n substituteStream content "file \'$input\'" "$@" > "$output"\n}\nsubstituteAll ()\n{\n \n local input="$1";\n local output="$2";\n local -a args=();\n _allFlags;\n substitute "$input" "$output" "${args[@]}"\n}\nsubstituteAllInPlace ()\n{\n \n local fileName="$1";\n shift;\n substituteAll "$fileName" "$fileName" "$@"\n}\nsubstituteAllStream ()\n{\n \n local -a args=();\n _allFlags;\n substituteStream "$1" "$2" "${args[@]}"\n}\nsubstituteInPlace ()\n{\n \n local -a fileNames=();\n for arg in "$@";\n do\n if [[ "$arg" = "--"* ]]; then\n break;\n fi;\n fileNames+=("$arg");\n shift;\n done;\n if ! [[ "${#fileNames[@]}" -gt 0 ]]; then\n echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2;\n return 1;\n fi;\n for file in "${fileNames[@]}";\n do\n substitute "$file" "$file" "$@";\n done\n}\nsubstituteStream ()\n{\n \n local var=$1;\n local description=$2;\n shift 2;\n while (( "$#" )); do\n local replace_mode="$1";\n case "$1" in \n --replace)\n if ! "$_substituteStream_has_warned_replace_deprecation"; then\n echo "substituteStream() in derivation $name: WARNING: \'--replace\' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2;\n _substituteStream_has_warned_replace_deprecation=true;\n fi;\n replace_mode=\'--replace-warn\'\n ;&\n --replace-quiet | --replace-warn | --replace-fail)\n pattern="$2";\n replacement="$3";\n shift 3;\n if ! [[ "${!var}" == *"$pattern"* ]]; then\n if [ "$replace_mode" == --replace-warn ]; then\n printf "substituteStream() in derivation $name: WARNING: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n else\n if [ "$replace_mode" == --replace-fail ]; then\n printf "substituteStream() in derivation $name: ERROR: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n return 1;\n fi;\n fi;\n fi;\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var)\n local varName="$2";\n shift 2;\n if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then\n echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \\"$varName\\" isn\'t." 1>&2;\n return 1;\n fi;\n if [ -z ${!varName+x} ]; then\n echo "substituteStream() in derivation $name: ERROR: variable \\$$varName is unset" 1>&2;\n return 1;\n fi;\n pattern="@$varName@";\n replacement="${!varName}";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var-by)\n pattern="@$2@";\n replacement="$3";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\';\n shift 3\n ;;\n *)\n echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2;\n return 1\n ;;\n esac;\n done;\n printf "%s" "${!var}"\n}\nsysconfigdataHook ()\n{\n \n if [ "$1" = \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' ]; then\n export _PYTHON_HOST_PLATFORM=\'linux-x86_64\';\n export _PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\';\n fi\n}\ntoPythonPath ()\n{\n \n local paths="$1";\n local result=;\n for i in $paths;\n do\n p="$i/lib/python3.13/site-packages";\n result="${result}${result:+:}$p";\n done;\n echo $result\n}\nunpackFile ()\n{\n \n curSrc="$1";\n echo "unpacking source archive $curSrc";\n if ! runOneHook unpackCmd "$curSrc"; then\n echo "do not know how to unpack source archive $curSrc";\n exit 1;\n fi\n}\nunpackPhase ()\n{\n \n runHook preUnpack;\n if [ -z "${srcs:-}" ]; then\n if [ -z "${src:-}" ]; then\n echo \'variable $src or $srcs should point to the source\';\n exit 1;\n fi;\n srcs="$src";\n fi;\n local -a srcsArray;\n concatTo srcsArray srcs;\n local dirsBefore="";\n for i in *;\n do\n if [ -d "$i" ]; then\n dirsBefore="$dirsBefore $i ";\n fi;\n done;\n for i in "${srcsArray[@]}";\n do\n unpackFile "$i";\n done;\n : "${sourceRoot=}";\n if [ -n "${setSourceRoot:-}" ]; then\n runOneHook setSourceRoot;\n else\n if [ -z "$sourceRoot" ]; then\n for i in *;\n do\n if [ -d "$i" ]; then\n case $dirsBefore in \n *\\ $i\\ *)\n\n ;;\n *)\n if [ -n "$sourceRoot" ]; then\n echo "unpacker produced multiple directories";\n exit 1;\n fi;\n sourceRoot="$i"\n ;;\n esac;\n fi;\n done;\n fi;\n fi;\n if [ -z "$sourceRoot" ]; then\n echo "unpacker appears to have produced no directories";\n exit 1;\n fi;\n echo "source root is $sourceRoot";\n if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then\n chmod -R u+w -- "$sourceRoot";\n fi;\n runHook postUnpack\n}\nupdateAutotoolsGnuConfigScriptsPhase ()\n{\n \n if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then\n return;\n fi;\n for script in config.sub config.guess;\n do\n for f in $(find . -type f -name "$script");\n do\n echo "Updating Autotools / GNU config script to a newer upstream version: $f";\n cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f";\n done;\n done\n}\nupdateSourceDateEpoch ()\n{\n \n local path="$1";\n [[ $path == -* ]] && path="./$path";\n 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));\n local time="${res[0]//\\.[0-9]*/}";\n local newestFile="${res[1]}";\n if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then\n echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile";\n export SOURCE_DATE_EPOCH="$time";\n local now="$(date +%s)";\n if [ "$time" -gt $((now - 60)) ]; then\n echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic";\n fi;\n fi\n}\nPATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}"\nXDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}"\nexport NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"\nexport TMP="$NIX_BUILD_TOP"\nexport TMPDIR="$NIX_BUILD_TOP"\nexport TEMP="$NIX_BUILD_TOP"\nexport TEMPDIR="$NIX_BUILD_TOP"\neval "${shellHook:-}"' | |
| ++ local $'env=Checking secrets in dr-ctf using onepassword (profile: development)...\n\n✓ POSTGRES_URL - Database connection string\n✓ defaults - No description\n✓ POSTGRES_PASSWORD - Database password\n✓ POSTGRES_USER - Database user\n\nSummary: 4 found, 0 missing\nunset shellHook\nPATH=${PATH:-}\nnix_saved_PATH="$PATH"\nXDG_DATA_DIRS=${XDG_DATA_DIRS:-}\nnix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"\nAR=\'ar\'\nexport AR\nAS=\'as\'\nexport AS\nBASH=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nCC=\'gcc\'\nexport CC\nCONFIG_SHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport CONFIG_SHELL\nCXX=\'g++\'\nexport CXX\nDETERMINISTIC_BUILD=\'1\'\nexport DETERMINISTIC_BUILD\nDEVENV_DOTFILE=\'/home/ender/Documents/Projects/dr-ctf/.devenv\'\nexport DEVENV_DOTFILE\nDEVENV_PROFILE=\'/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile\'\nexport DEVENV_PROFILE\nDEVENV_ROOT=\'/home/ender/Documents/Projects/dr-ctf\'\nexport DEVENV_ROOT\nDEVENV_RUNTIME=\'/run/user/1000/devenv-405663c\'\nexport DEVENV_RUNTIME\nDEVENV_STATE=\'/home/ender/Documents/Projects/dr-ctf/.devenv/state\'\nexport DEVENV_STATE\nDEVENV_TASKS=\'[{"after":[],"before":[],"command":"/nix/store/yhwb3x398329il20dj3mprzhsql1jg9k-devenv-enterShell","cwd":null,"description":"Runs when entering the shell","exec_if_modified":[],"input":{},"name":"devenv:enterShell","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"Runs when entering the test environment","exec_if_modified":[],"input":{},"name":"devenv:enterTest","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:files","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterShell"],"command":"/nix/store/qjsk2mi9da3rkbjn3ffsyrzw33c48a90-devenv-git-hooks-install","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:install","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterTest"],"command":"/nix/store/ywfhq0r3lp4xg5j43vy7xmf5hxja9l6l-devenv-git-hooks-run","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:run","show_output":false,"status":null,"type":"oneshot"}]\'\nexport DEVENV_TASKS\nDEVENV_TASK_FILE=\'/nix/store/kj598ws11izad7bv9qmsxpkpd7hq3krp-tasks.json\'\nexport DEVENV_TASK_FILE\nGIT_EXTERNAL_DIFF=\'difft\'\nexport GIT_EXTERNAL_DIFF\nHOSTTYPE=\'x86_64\'\nHOST_PATH=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport HOST_PATH\nIFS=\' \t\n\'\nIN_NIX_SHELL=\'impure\'\nexport IN_NIX_SHELL\nLD=\'ld\'\nexport LD\nLINENO=\'76\'\nMACHTYPE=\'x86_64-pc-linux-gnu\'\nNIX_BINTOOLS=\'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\'\nexport NIX_BINTOOLS\nNIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_BUILD_CORES=\'16\'\nexport NIX_BUILD_CORES\nNIX_CC=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\nexport NIX_CC\nNIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_CFLAGS_COMPILE=\' -frandom-seed=3zw2ajqsr4 -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include\'\nexport NIX_CFLAGS_COMPILE\nNIX_ENFORCE_NO_NATIVE=\'1\'\nexport NIX_ENFORCE_NO_NATIVE\nNIX_HARDENING_ENABLE=\'bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs\'\nexport NIX_HARDENING_ENABLE\nNIX_LDFLAGS=\'-rpath /home/ender/Documents/Projects/dr-ctf/outputs/out/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib\'\nexport NIX_LDFLAGS\nNIX_NO_SELF_RPATH=\'1\'\nNIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_STORE=\'/nix/store\'\nexport NIX_STORE\nNM=\'nm\'\nexport NM\nNODE_PATH=\'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/lib/node_modules:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/lib/node_modules:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/lib/node_modules\'\nexport NODE_PATH\nOBJCOPY=\'objcopy\'\nexport OBJCOPY\nOBJDUMP=\'objdump\'\nexport OBJDUMP\nOLDPWD=\'\'\nexport OLDPWD\nOPTERR=\'1\'\nOSTYPE=\'linux-gnu\'\nPATH=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/bin:/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0/bin:/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/bin:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/bin:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/bin:/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/bin:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/bin:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/bin:/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2/bin:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/bin:/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108/bin:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/bin:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/bin:/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0/bin:/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev/bin:/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du/bin:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/bin:/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3/bin:/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin/bin:/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0/bin:/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17/bin:/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5/bin:/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin/bin:/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/bin:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/bin:/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1/bin:/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin:/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin:/nix/store/q6wgv06q39bfhx2xl8ysc05wi6m2zdss-glibc-2.40-66-bin/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin:/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport PATH\nPC_CONFIG_FILES=\'/nix/store/ysqava3g5mbphf5fvlrm626f3fzfsvlp-process-compose.yaml\'\nexport PC_CONFIG_FILES\nPC_SOCKET_PATH=\'/run/user/1000/devenv-405663c/pc.sock\'\nexport PC_SOCKET_PATH\nPKG_CONFIG=\'pkg-config\'\nexport PKG_CONFIG\nPKG_CONFIG_PATH=\'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/lib/pkgconfig:/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/lib/pkgconfig:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/pkgconfig\'\nexport PKG_CONFIG_PATH\nPS4=\'+ \'\nPYTHONHASHSEED=\'0\'\nexport PYTHONHASHSEED\nPYTHONNOUSERSITE=\'1\'\nexport PYTHONNOUSERSITE\nPYTHONPATH=\'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/lib/python3.13/site-packages:/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14/lib/python3.13/site-packages:/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0/lib/python3.13/site-packages:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/site-packages:/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12/lib/python3.13/site-packages\'\nexport PYTHONPATH\nRANLIB=\'ranlib\'\nexport RANLIB\nREADELF=\'readelf\'\nexport READELF\nRUST_SRC_PATH=\'/nix/store/x4lzvdhcz439jm1clb41hnx3xa2cqvli-rust-lib-src\'\nexport RUST_SRC_PATH\nSHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport SHELL\nSIZE=\'size\'\nexport SIZE\nSOURCE_DATE_EPOCH=\'315532800\'\nexport SOURCE_DATE_EPOCH\nSTRINGS=\'strings\'\nexport STRINGS\nSTRIP=\'strip\'\nexport STRIP\nXDG_DATA_DIRS=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/share:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/share:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/share:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/share:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/share:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/share:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/share:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/share:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share\'\nexport XDG_DATA_DIRS\n_PYTHON_HOST_PLATFORM=\'linux-x86_64\'\nexport _PYTHON_HOST_PLATFORM\n_PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\'\nexport _PYTHON_SYSCONFIGDATA_NAME\n__structuredAttrs=\'\'\nexport __structuredAttrs\n_substituteStream_has_warned_replace_deprecation=\'false\'\nbuildInputs=\'\'\nexport buildInputs\nbuildPhase=\'{ echo "------------------------------------------------------------";\n echo " WARNING: the existence of this path is not guaranteed.";\n echo " It is an internal implementation detail for pkgs.mkShell.";\n echo "------------------------------------------------------------";\n echo;\n # Record all build inputs as runtime dependencies\n export;\n} >> "$out"\n\'\nexport buildPhase\nbuilder=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport builder\ncmakeFlags=\'\'\nexport cmakeFlags\nconfigureFlags=\'\'\nexport configureFlags\ndefaultBuildInputs=\'\'\ndefaultNativeBuildInputs=\'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-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/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndepsBuildBuild=\'\'\nexport depsBuildBuild\ndepsBuildBuildPropagated=\'\'\nexport depsBuildBuildPropagated\ndepsBuildTarget=\'\'\nexport depsBuildTarget\ndepsBuildTargetPropagated=\'\'\nexport depsBuildTargetPropagated\ndepsHostHost=\'\'\nexport depsHostHost\ndepsHostHostPropagated=\'\'\nexport depsHostHostPropagated\ndepsTargetTarget=\'\'\nexport depsTargetTarget\ndepsTargetTargetPropagated=\'\'\nexport depsTargetTargetPropagated\ndoCheck=\'\'\nexport doCheck\ndoInstallCheck=\'\'\nexport doInstallCheck\ndontAddDisableDepTrack=\'1\'\nexport dontAddDisableDepTrack\ndeclare -a envBuildBuildHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildHostHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildTargetHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envHostHostHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envHostTargetHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envTargetTargetHooks=()\ndeclare -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\' )\nhardeningDisable=\'\'\nexport hardeningDisable\ninitialPath=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45\'\nmesonFlags=\'\'\nexport mesonFlags\nname=\'DrCTF-env\'\nexport name\nnativeBuildInputs=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0 /nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0 /nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3 /nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3 /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev /nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2 /nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2 /nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1 /nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3 /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev /nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev /nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du /nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2 /nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3 /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev /nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0 /nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17 /nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0 /nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1 /nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\'\nexport nativeBuildInputs\nout=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\nexport out\noutputBin=\'out\'\noutputDev=\'out\'\noutputDevdoc=\'REMOVE\'\noutputDevman=\'out\'\noutputDoc=\'out\'\noutputInclude=\'out\'\noutputInfo=\'out\'\noutputLib=\'out\'\noutputMan=\'out\'\noutputs=\'out\'\nexport outputs\npatches=\'\'\nexport patches\nphases=\'buildPhase\'\nexport phases\npkg=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndeclare -a pkgsBuildBuild=()\ndeclare -a pkgsBuildHost=(\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0\' \'/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0\' \'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3\' \'/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3\' \'/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs\' \'/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev\' \'/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1\' \'/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2\' \'/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2\' \'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\' \'/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1\' \'/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108\' \'/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2\' \'/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3\' \'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev\' \'/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0\' \'/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev\' \'/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du\' \'/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2\' \'/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3\' \'/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev\' \'/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin\' \'/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4\' \'/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0\' \'/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17\' \'/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5\' \'/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin\' \'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0\' \'/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14\' \'/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0\' \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' \'/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12\' \'/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1\' \'/nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\' \'/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin\' \'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2\' \'/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook\' \'/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh\' \'/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh\' \'/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-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/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh\' \'/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh\' \'/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh\' \'/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh\' \'/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh\' \'/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh\' \'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\' \'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\' )\ndeclare -a pkgsBuildTarget=()\ndeclare -a pkgsHostHost=()\ndeclare -a pkgsHostTarget=()\ndeclare -a pkgsTargetTarget=()\ndeclare -a postFixupHooks=(\'noBrokenSymlinksInAllOutputs\' \'_makeSymlinksRelativeInAllOutputs\' \'_multioutPropagateDev\' )\ndeclare -a postUnpackHooks=(\'_updateSourceDateEpochFromSourceRoot\' )\ndeclare -a preConfigureHooks=(\'_multioutConfig\' )\npreConfigurePhases=\' updateAutotoolsGnuConfigScriptsPhase\'\ndeclare -a preFixupHooks=(\'_moveToShare\' \'_multioutDocs\' \'_multioutDevs\' )\npreferLocalBuild=\'1\'\nexport preferLocalBuild\nprefix=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\ndeclare -a propagatedBuildDepFiles=(\'propagated-build-build-deps\' \'propagated-native-build-inputs\' \'propagated-build-target-deps\' )\npropagatedBuildInputs=\'\'\nexport propagatedBuildInputs\ndeclare -a propagatedHostDepFiles=(\'propagated-host-host-deps\' \'propagated-build-inputs\' )\npropagatedNativeBuildInputs=\'\'\nexport propagatedNativeBuildInputs\ndeclare -a propagatedTargetDepFiles=(\'propagated-target-target-deps\' )\nshell=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport shell\nshellHook=\'\nexport PS1="\\[\\e[0;34m\\](devenv)\\[\\e[0m\\] ${PS1-}"\n\n# override temp directories after "nix develop"\nfor var in TMP TMPDIR TEMP TEMPDIR; do\n if [ -n "${!var-}" ]; then\n export "$var"=/run/user/1000\n fi\ndone\nif [ -n "${NIX_BUILD_TOP-}" ]; then\n unset NIX_BUILD_TOP\nfi\n\n# set path to locales on non-NixOS Linux hosts\nif [ -z "${LOCALE_ARCHIVE-}" ]; then\n export LOCALE_ARCHIVE=/nix/store/lncqmx5asfccx0gfkp64r94ri59y0iyv-glibc-locales-2.40-66/lib/locale/locale-archive\nfi\n\n\n# direnv helper\nif [ ! type -p direnv &>/dev/null && -f .envrc ]; then\n echo "An .envrc file was detected, but the direnv command is not installed."\n echo "To use this configuration, please install direnv: https://direnv.net/docs/installation.html"\nfi\n\nmkdir -p "$DEVENV_STATE"\nif [ ! -L "$DEVENV_DOTFILE/profile" ] || [ "$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/readlink $DEVENV_DOTFILE/profile)" != "/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile" ]\nthen\n ln -snf /nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile "$DEVENV_DOTFILE/profile"\nfi\nunset HOST_PATH NIX_BUILD_CORES __structuredAttrs buildInputs buildPhase builder depsBuildBuild depsBuildBuildPropagated depsBuildTarget depsBuildTargetPropagated depsHostHost depsHostHostPropagated depsTargetTarget depsTargetTargetPropagated dontAddDisableDepTrack doCheck doInstallCheck nativeBuildInputs out outputs patches phases preferLocalBuild propagatedBuildInputs propagatedNativeBuildInputs shell shellHook stdenv strictDeps\n\nmkdir -p /run/user/1000/devenv-405663c\nln -snf /run/user/1000/devenv-405663c /home/ender/Documents/Projects/dr-ctf/.devenv/run\n\n\nexport CARGO_INSTALL_ROOT=$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/realpath --no-symlinks /home/ender/Documents/Projects/dr-ctf/.devenv/state/cargo-install)\nexport PATH="$PATH:$CARGO_INSTALL_ROOT/bin"\n\nexport PATH="node_modules/.bin:$PATH"\n\n/nix/store/0h3grrk59ixrbqpikbxknvwg5nb05pr0-devenv-tasks-2.0.0/bin/devenv-tasks run devenv:enterShell --mode all || exit $?\nif [ -f "$DEVENV_DOTFILE/load-exports" ]; then\n source "$DEVENV_DOTFILE/load-exports"\nfi\n\necho "✨ devenv 1.11.1 is out of date. Please update to 1.11.2: https://devenv.sh/getting-started/#installation" >&2\n\n\n# Check whether the direnv integration is out of date.\n{\n if [[ ":${DIRENV_ACTIVE-}:" == *":/home/ender/Documents/Projects/dr-ctf:"* ]]; then\n if [[ ! "${DEVENV_NO_DIRENVRC_OUTDATED_WARNING-}" == 1 && ! "${DEVENV_DIRENVRC_ROLLING_UPGRADE-}" == 1 ]]; then\n if [[ ${DEVENV_DIRENVRC_VERSION:-0} -lt 1 ]]; then\n direnv_line=$(grep --color=never -E "source_url.*cachix/devenv" .envrc || echo "")\n\n echo "✨ The direnv integration in your .envrc is out of date."\n echo ""\n echo -n "RECOMMENDED: devenv can now auto-upgrade the direnv integration. "\n if [[ -n "$direnv_line" ]]; then\n echo "To enable this feature, replace the following line in your .envrc:"\n echo ""\n echo " $direnv_line"\n echo ""\n echo "with:"\n echo ""\n echo " eval \\"\\$(devenv direnvrc)\\""\n else\n echo "To enable this feature, replace the \\`source_url\\` line that fetches the direnvrc integration in your .envrc with:"\n echo ""\n echo " eval \\"$(devenv direnvrc)\\""\n fi\n echo ""\n echo "If you prefer to continue managing the integration manually, follow the upgrade instructions at https://devenv.sh/automatic-shell-activation/."\n echo ""\n echo "To disable this message:"\n echo ""\n echo " Add the following environment to your .envrc before \\`use devenv\\`:"\n echo ""\n echo " export DEVENV_NO_DIRENVRC_OUTDATED_WARNING=1"\n echo ""\n echo " Or set the following option in your devenv configuration:"\n echo ""\n echo " devenv.warnOnNewVersion = false;"\n echo ""\n fi\n fi\n fi\n} >&2\n\ngit --version # Use packages\n\n\'\nexport shellHook\nstdenv=\'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\'\nexport stdenv\nstrictDeps=\'\'\nexport strictDeps\nsystem=\'x86_64-linux\'\nexport system\ndeclare -a unpackCmdHooks=(\'_defaultUnpack\' )\n_activatePkgs ()\n{\n \n local hostOffset targetOffset;\n local pkg;\n for hostOffset in "${allPlatOffsets[@]}";\n do\n local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}";\n for targetOffset in "${allPlatOffsets[@]}";\n do\n (( hostOffset <= targetOffset )) || continue;\n local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n activatePackage "$pkg" "$hostOffset" "$targetOffset";\n done;\n done;\n done\n}\n_addRpathPrefix ()\n{\n \n if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then\n export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}";\n fi\n}\n_addToEnv ()\n{\n \n local depHostOffset depTargetOffset;\n local pkg;\n for depHostOffset in "${allPlatOffsets[@]}";\n do\n local hookVar="${pkgHookVarVars[depHostOffset + 1]}";\n local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}";\n for depTargetOffset in "${allPlatOffsets[@]}";\n do\n (( depHostOffset <= depTargetOffset )) || continue;\n local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]";\n if [[ -z "${strictDeps-}" ]]; then\n local visitedPkgs="";\n for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}";\n do\n if [[ "$visitedPkgs" = *"$pkg"* ]]; then\n continue;\n fi;\n runHook "${!hookRef}" "$pkg";\n visitedPkgs+=" $pkg";\n done;\n else\n local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n runHook "${!hookRef}" "$pkg";\n done;\n fi;\n done;\n done\n}\n_allFlags ()\n{\n \n export system pname name version;\n while IFS=\'\' read -r varName; do\n nixTalkativeLog "@${varName}@ -> ${!varName}";\n args+=("--subst-var" "$varName");\n done < <(awk \'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }\')\n}\n_assignFirst ()\n{\n \n local varName="$1";\n local _var;\n local REMOVE=REMOVE;\n shift;\n for _var in "$@";\n do\n if [ -n "${!_var-}" ]; then\n eval "${varName}"="${_var}";\n return;\n fi;\n done;\n echo;\n echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}.";\n echo " The following variables were all unset or empty:";\n echo " $*";\n if [ -z "${out:-}" ]; then\n echo \' If you do not want an "out" output in your derivation, make sure to define\';\n echo \' the other specific required outputs. This can be achieved by picking one\';\n echo " of the above as an output.";\n echo \' You do not have to remove "out" if you want to have a different default\';\n echo \' output, because the first output is taken as a default.\';\n echo;\n fi;\n return 1\n}\n_callImplicitHook ()\n{\n \n local def="$1";\n local hookName="$2";\n if declare -F "$hookName" > /dev/null; then\n nixTalkativeLog "calling implicit \'$hookName\' function hook";\n "$hookName";\n else\n if type -p "$hookName" > /dev/null; then\n nixTalkativeLog "sourcing implicit \'$hookName\' script hook";\n source "$hookName";\n else\n if [ -n "${!hookName:-}" ]; then\n nixTalkativeLog "evaling implicit \'$hookName\' string hook";\n eval "${!hookName}";\n else\n return "$def";\n fi;\n fi;\n fi\n}\n_defaultUnpack ()\n{\n \n local fn="$1";\n local destination;\n if [ -d "$fn" ]; then\n destination="$(stripHash "$fn")";\n if [ -e "$destination" ]; then\n echo "Cannot copy $fn to $destination: destination already exists!";\n echo "Did you specify two \\"srcs\\" with the same \\"name\\"?";\n return 1;\n fi;\n cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination";\n else\n case "$fn" in \n *.tar.xz | *.tar.lzma | *.txz)\n ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn";\n true ) | tar xf - --mode=+w --warning=no-timestamp\n ;;\n *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)\n tar xf "$fn" --mode=+w --warning=no-timestamp\n ;;\n *)\n return 1\n ;;\n esac;\n fi\n}\n_doStrip ()\n{\n \n local -ra flags=(dontStripHost dontStripTarget);\n local -ra debugDirs=(stripDebugList stripDebugListTarget);\n local -ra allDirs=(stripAllList stripAllListTarget);\n local -ra stripCmds=(STRIP STRIP_FOR_TARGET);\n local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET);\n stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks};\n stripDebugListTarget=${stripDebugListTarget[*]:-};\n stripAllList=${stripAllList[*]:-};\n stripAllListTarget=${stripAllListTarget[*]:-};\n local i;\n for i in ${!stripCmds[@]};\n do\n local -n flag="${flags[$i]}";\n local -n debugDirList="${debugDirs[$i]}";\n local -n allDirList="${allDirs[$i]}";\n local -n stripCmd="${stripCmds[$i]}";\n local -n ranlibCmd="${ranlibCmds[$i]}";\n if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then\n continue;\n fi;\n stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}";\n stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}";\n done\n}\n_eval ()\n{\n \n if declare -F "$1" > /dev/null 2>&1; then\n "$@";\n else\n eval "$1";\n fi\n}\n_logHook ()\n{\n \n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n local hookKind="$1";\n local hookExpr="$2";\n shift 2;\n if declare -F "$hookExpr" > /dev/null 2>&1; then\n nixTalkativeLog "calling \'$hookKind\' function hook \'$hookExpr\'" "$@";\n else\n if type -p "$hookExpr" > /dev/null; then\n nixTalkativeLog "sourcing \'$hookKind\' script hook \'$hookExpr\'";\n else\n if [[ "$hookExpr" != "_callImplicitHook"* ]]; then\n local exprToOutput;\n if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then\n exprToOutput="$hookExpr";\n else\n local hookExprLine;\n while IFS= read -r hookExprLine; do\n hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}";\n if [[ -n "$hookExprLine" ]]; then\n exprToOutput+="$hookExprLine\\\\n ";\n fi;\n done <<< "$hookExpr";\n exprToOutput="${exprToOutput%%\\\\n }";\n fi;\n nixTalkativeLog "evaling \'$hookKind\' string hook \'$exprToOutput\'";\n fi;\n fi;\n fi\n}\n_makeSymlinksRelative ()\n{\n \n local symlinkTarget;\n if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n while IFS= read -r -d \'\' f; do\n symlinkTarget=$(readlink "$f");\n if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then\n continue;\n fi;\n if [ ! -e "$symlinkTarget" ]; then\n echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)";\n fi;\n echo "rewriting symlink $f to be relative to $prefix";\n ln -snrf "$symlinkTarget" "$f";\n done < <(find $prefix -type l -print0)\n}\n_makeSymlinksRelativeInAllOutputs ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" _makeSymlinksRelative;\n done\n}\n_moveLib64 ()\n{\n \n if [ "${dontMoveLib64-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then\n return;\n fi;\n echo "moving $prefix/lib64/* to $prefix/lib";\n mkdir -p $prefix/lib;\n shopt -s dotglob;\n for i in $prefix/lib64/*;\n do\n mv --no-clobber "$i" $prefix/lib;\n done;\n shopt -u dotglob;\n rmdir $prefix/lib64;\n ln -s lib $prefix/lib64\n}\n_moveSbin ()\n{\n \n if [ "${dontMoveSbin-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then\n return;\n fi;\n echo "moving $prefix/sbin/* to $prefix/bin";\n mkdir -p $prefix/bin;\n shopt -s dotglob;\n for i in $prefix/sbin/*;\n do\n mv "$i" $prefix/bin;\n done;\n shopt -u dotglob;\n rmdir $prefix/sbin;\n ln -s bin $prefix/sbin\n}\n_moveSystemdUserUnits ()\n{\n \n if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then\n return;\n fi;\n if [ ! -e "${prefix:?}/lib/systemd/user" ]; then\n return;\n fi;\n local source="$prefix/lib/systemd/user";\n local target="$prefix/share/systemd/user";\n echo "moving $source/* to $target";\n mkdir -p "$target";\n ( shopt -s dotglob;\n for i in "$source"/*;\n do\n mv "$i" "$target";\n done );\n rmdir "$source";\n ln -s "$target" "$source"\n}\n_moveToShare ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n if [ -z "${forceShare-}" ]; then\n forceShare=(man doc info);\n fi;\n else\n forceShare=(${forceShare:-man doc info});\n fi;\n if [[ -z "$out" ]]; then\n return;\n fi;\n for d in "${forceShare[@]}";\n do\n if [ -d "$out/$d" ]; then\n if [ -d "$out/share/$d" ]; then\n echo "both $d/ and share/$d/ exist!";\n else\n echo "moving $out/$d to $out/share/$d";\n mkdir -p $out/share;\n mv $out/$d $out/share/;\n fi;\n fi;\n done\n}\n_multioutConfig ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then\n return;\n fi;\n if [ -z "${shareDocName:-}" ]; then\n local confScript="${configureScript:-}";\n if [ -z "$confScript" ] && [ -x ./configure ]; then\n confScript=./configure;\n fi;\n if [ -f "$confScript" ]; then\n local shareDocName="$(sed -n "s/^PACKAGE_TARNAME=\'\\(.*\\)\'$/\\1/p" < "$confScript")";\n fi;\n if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q \'[^a-zA-Z0-9_-]\'; then\n shareDocName="$(echo "$name" | sed \'s/-[^a-zA-Z].*//\')";\n fi;\n fi;\n prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale;\n prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal\n}\n_multioutDevs ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then\n return;\n fi;\n moveToOutput include "${!outputInclude}";\n moveToOutput lib/pkgconfig "${!outputDev}";\n moveToOutput share/pkgconfig "${!outputDev}";\n moveToOutput lib/cmake "${!outputDev}";\n moveToOutput share/aclocal "${!outputDev}";\n for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc;\n do\n echo "Patching \'$f\' includedir to output ${!outputInclude}";\n sed -i "/^includedir=/s,=\\${prefix},=${!outputInclude}," "$f";\n done\n}\n_multioutDocs ()\n{\n \n local REMOVE=REMOVE;\n moveToOutput share/info "${!outputInfo}";\n moveToOutput share/doc "${!outputDoc}";\n moveToOutput share/gtk-doc "${!outputDevdoc}";\n moveToOutput share/devhelp/books "${!outputDevdoc}";\n moveToOutput share/man "${!outputMan}";\n moveToOutput share/man/man3 "${!outputDevman}"\n}\n_multioutPropagateDev ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ]; then\n return;\n fi;\n local outputFirst;\n for outputFirst in $(getAllOutputNames);\n do\n break;\n done;\n local propagaterOutput="$outputDev";\n if [ -z "$propagaterOutput" ]; then\n propagaterOutput="$outputFirst";\n fi;\n if [ -z "${propagatedBuildOutputs+1}" ]; then\n local po_dirty="$outputBin $outputInclude $outputLib";\n set +o pipefail;\n propagatedBuildOutputs=`echo "$po_dirty" | tr -s \' \' \'\\n\' | grep -v -F "$propagaterOutput" | sort -u | tr \'\\n\' \' \' `;\n set -o pipefail;\n fi;\n if [ -z "$propagatedBuildOutputs" ]; then\n return;\n fi;\n mkdir -p "${!propagaterOutput}"/nix-support;\n for output in $propagatedBuildOutputs;\n do\n echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs;\n done\n}\n_nixLogWithLevel ()\n{\n \n [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0;\n local logLevel;\n case "${1:?}" in \n 0)\n logLevel=ERROR\n ;;\n 1)\n logLevel=WARN\n ;;\n 2)\n logLevel=NOTICE\n ;;\n 3)\n logLevel=INFO\n ;;\n 4)\n logLevel=TALKATIVE\n ;;\n 5)\n logLevel=CHATTY\n ;;\n 6)\n logLevel=DEBUG\n ;;\n 7)\n logLevel=VOMIT\n ;;\n *)\n echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD";\n return 1\n ;;\n esac;\n local callerName="${FUNCNAME[2]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s: %s\\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD"\n}\n_overrideFirst ()\n{\n \n if [ -z "${!1-}" ]; then\n _assignFirst "$@";\n fi\n}\n_pruneLibtoolFiles ()\n{\n \n if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n find "$prefix" -type f -name \'*.la\' -exec grep -q \'^# Generated by .*libtool\' {} \\; -exec grep -q "^old_library=\'\'" {} \\; -exec sed -i {} -e "/^dependency_libs=\'[^\']/ c dependency_libs=\'\' #pruned" \\;\n}\n_updateSourceDateEpochFromSourceRoot ()\n{\n \n if [ -n "$sourceRoot" ]; then\n updateSourceDateEpoch "$sourceRoot";\n fi\n}\nactivatePackage ()\n{\n \n local pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n if [ -f "$pkg" ]; then\n nixTalkativeLog "sourcing setup hook \'$pkg\'";\n source "$pkg";\n fi;\n if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then\n addToSearchPath _PATH "$pkg/bin";\n fi;\n if (( hostOffset <= -1 )); then\n addToSearchPath _XDG_DATA_DIRS "$pkg/share";\n fi;\n if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then\n addToSearchPath _HOST_PATH "$pkg/bin";\n fi;\n if [[ -f "$pkg/nix-support/setup-hook" ]]; then\n nixTalkativeLog "sourcing setup hook \'$pkg/nix-support/setup-hook\'";\n source "$pkg/nix-support/setup-hook";\n fi\n}\naddEnvHooks ()\n{\n \n local depHostOffset="$1";\n shift;\n local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]";\n local pkgHookVar;\n for pkgHookVar in "${!pkgHookVarsSlice}";\n do\n eval "${pkgHookVar}s"\'+=("$@")\';\n done\n}\naddNodePath ()\n{\n \n addToSearchPath NODE_PATH "$1/lib/node_modules"\n}\naddPythonPath ()\n{\n \n addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.13/site-packages\n}\naddToSearchPath ()\n{\n \n addToSearchPathWithCustomDelimiter ":" "$@"\n}\naddToSearchPathWithCustomDelimiter ()\n{\n \n local delimiter="$1";\n local varName="$2";\n local dir="$3";\n if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then\n export "${varName}=${!varName:+${!varName}${delimiter}}${dir}";\n fi\n}\nappendToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\\"X\\"]=\\"Y\\") instead." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=(${nameref+"${nameref[@]}"} "$@");\n else\n nameref="${nameref-} $*";\n fi\n}\nauditTmpdir ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "checking for references to $TMPDIR/ in $dir...";\n local tmpdir elf_fifo script_fifo;\n tmpdir="$(mktemp -d)";\n elf_fifo="$tmpdir/elf";\n script_fifo="$tmpdir/script";\n mkfifo "$elf_fifo" "$script_fifo";\n ( find "$dir" -type f -not -path \'*/.build-id/*\' -print0 | while IFS= read -r -d \'\' file; do\n if isELF "$file"; then\n printf \'%s\\0\' "$file" 1>&3;\n else\n if isScript "$file"; then\n filename=${file##*/};\n dir=${file%/*};\n if [ -e "$dir/.$filename-wrapped" ]; then\n printf \'%s\\0\' "$file" 1>&4;\n fi;\n fi;\n fi;\n done;\n exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then\n echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$elf_fifo" ) & local pid_elf=$!;\n local pid_script;\n ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if grep -q -F "$TMPDIR/" "$1"; then\n echo "wrapper script $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$script_fifo" ) & local pid_script=$!;\n wait "$pid_elf" || { \n echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n wait "$pid_script" || { \n echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n rm -r "$tmpdir"\n}\nbintoolsWrapper_addLDVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib64";\n fi;\n if [[ -d "$1/lib" ]]; then\n local -a glob=($1/lib/lib*);\n if [ "${#glob[*]}" -gt 0 ]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib";\n fi;\n fi\n}\nbuildPhase ()\n{\n \n runHook preBuild;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom buildPhase, doing nothing";\n else\n foundMakefile=1;\n local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray;\n echoCmd \'build flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postBuild\n}\nccWrapper_addCVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n local found=;\n if [ -d "$1/include" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include";\n found=1;\n fi;\n if [ -d "$1/Library/Frameworks" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks";\n found=1;\n fi;\n if [[ -n "" && -n ${NIX_STORE:-} && -n $found ]]; then\n local scrubbed="$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${1#"$NIX_STORE"/*-}";\n export NIX_CFLAGS_COMPILE${role_post}+=" -fmacro-prefix-map=$1=$scrubbed";\n fi\n}\ncheckPhase ()\n{\n \n runHook preCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom checkPhase, doing nothing";\n runHook postCheck;\n return;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then\n checkTarget="check";\n else\n if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then\n checkTarget="test";\n fi;\n fi;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n echo "no check/test target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget;\n echoCmd \'check flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postCheck\n}\ncompressManPages ()\n{\n \n local dir="$1";\n if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then\n return;\n fi;\n echo "gzipping man pages under $dir/share/man/";\n find "$dir"/share/man/ -type f -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f;\n find "$dir"/share/man/ -type l -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | sort -z | while IFS= read -r -d \'\' f; do\n local target;\n target="$(readlink -f "$f")";\n if [ -f "$target".gz ]; then\n ln -sf "$target".gz "$f".gz && rm "$f";\n fi;\n done\n}\nconcatStringsSep ()\n{\n \n local sep="$1";\n local name="$2";\n local type oldifs;\n if type=$(declare -p "$name" 2> /dev/null); then\n local -n nameref="$name";\n case "${type#* }" in \n -A*)\n echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n local IFS="$(printf \'\\036\')"\n ;;\n *)\n local IFS=" "\n ;;\n esac;\n local ifs_separated="${nameref[*]}";\n echo -n "${ifs_separated//"$IFS"/"$sep"}";\n fi\n}\nconcatTo ()\n{\n \n local -;\n set -o noglob;\n local -n targetref="$1";\n shift;\n local arg default name type;\n for arg in "$@";\n do\n IFS="=" read -r name default <<< "$arg";\n local -n nameref="$name";\n if [[ -z "${nameref[*]}" && -n "$default" ]]; then\n targetref+=("$default");\n else\n if type=$(declare -p "$name" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n targetref+=("${nameref[@]}")\n ;;\n *)\n if [[ "$name" = *"Array" ]]; then\n nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future";\n targetref+=(${nameref+"${nameref[@]}"});\n else\n targetref+=(${nameref-});\n fi\n ;;\n esac;\n fi;\n fi;\n done\n}\nconfigurePhase ()\n{\n \n runHook preConfigure;\n : "${configureScript=}";\n if [[ -z "$configureScript" && -x ./configure ]]; then\n configureScript=./configure;\n fi;\n if [ -z "${dontFixLibtool:-}" ]; then\n export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}";\n local i;\n find . -iname "ltmain.sh" -print0 | while IFS=\'\' read -r -d \'\' i; do\n echo "fixing libtool script $i";\n fixLibtool "$i";\n done;\n CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX);\n find . -executable -type f -name configure -exec grep -l \'GNU Libtool is free software; you can redistribute it and/or modify\' {} \\; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \\; -exec sed -i s_/usr/bin/file_file_g {} \\; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \\;;\n rm -f "$CONFIGURE_MTIME_REFERENCE";\n fi;\n if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then\n prependToVar configureFlags "${prefixKey:---prefix=}$prefix";\n fi;\n if [[ -f "$configureScript" ]]; then\n if [ -z "${dontAddDisableDepTrack:-}" ]; then\n if grep -q dependency-tracking "$configureScript"; then\n prependToVar configureFlags --disable-dependency-tracking;\n fi;\n fi;\n if [ -z "${dontDisableStatic:-}" ]; then\n if grep -q enable-static "$configureScript"; then\n prependToVar configureFlags --disable-static;\n fi;\n fi;\n if [ -z "${dontPatchShebangsInConfigure:-}" ]; then\n patchShebangs --build "$configureScript";\n fi;\n fi;\n if [ -n "$configureScript" ]; then\n local -a flagsArray;\n concatTo flagsArray configureFlags configureFlagsArray;\n echoCmd \'configure flags\' "${flagsArray[@]}";\n $configureScript "${flagsArray[@]}";\n unset flagsArray;\n else\n echo "no configure script, doing nothing";\n fi;\n runHook postConfigure\n}\nconsumeEntire ()\n{\n \n if IFS=\'\' read -r -d \'\' "$1"; then\n echo "consumeEntire(): ERROR: Input null bytes, won\'t process" 1>&2;\n return 1;\n fi\n}\ndistPhase ()\n{\n \n runHook preDist;\n local flagsArray=();\n concatTo flagsArray distFlags distFlagsArray distTarget=dist;\n echo \'dist flags: %q\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n if [ "${dontCopyDist:-0}" != 1 ]; then\n mkdir -p "$out/tarballs";\n cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs";\n fi;\n runHook postDist\n}\ndumpVars ()\n{\n \n if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then\n local old_umask;\n old_umask=$(umask);\n umask 0077;\n export 2> /dev/null > "$NIX_BUILD_TOP/env-vars";\n umask "$old_umask";\n fi\n}\nechoCmd ()\n{\n \n printf "%s:" "$1";\n shift;\n printf \' %q\' "$@";\n echo\n}\nexitHandler ()\n{\n \n exitCode="$?";\n set +e;\n if [ -n "${showBuildStats:-}" ]; then\n read -r -d \'\' -a buildTimes < <(times);\n echo "build times:";\n echo "user time for the shell ${buildTimes[0]}";\n echo "system time for the shell ${buildTimes[1]}";\n echo "user time for all child processes ${buildTimes[2]}";\n echo "system time for all child processes ${buildTimes[3]}";\n fi;\n if (( "$exitCode" != 0 )); then\n runHook failureHook;\n if [ -n "${succeedOnFailure:-}" ]; then\n echo "build failed with exit code $exitCode (ignored)";\n mkdir -p "$out/nix-support";\n printf "%s" "$exitCode" > "$out/nix-support/failed";\n exit 0;\n fi;\n else\n runHook exitHook;\n fi;\n return "$exitCode"\n}\nfindInputs ()\n{\n \n local -r pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n local varVar="${pkgAccumVarVars[hostOffset + 1]}";\n local varRef="$varVar[$((targetOffset - hostOffset))]";\n local var="${!varRef}";\n unset -v varVar varRef;\n local varSlice="$var[*]";\n case " ${!varSlice-} " in \n *" $pkg "*)\n return 0\n ;;\n esac;\n unset -v varSlice;\n eval "$var"\'+=("$pkg")\';\n if ! [ -e "$pkg" ]; then\n echo "build input $pkg does not exist" 1>&2;\n exit 1;\n fi;\n function mapOffset () \n { \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n };\n local relHostOffset;\n for relHostOffset in "${allPlatOffsets[@]}";\n do\n local files="${propagatedDepFilesVars[relHostOffset + 1]}";\n local hostOffsetNext;\n mapOffset "$relHostOffset" hostOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n local relTargetOffset;\n for relTargetOffset in "${allPlatOffsets[@]}";\n do\n (( "$relHostOffset" <= "$relTargetOffset" )) || continue;\n local fileRef="${files}[$relTargetOffset - $relHostOffset]";\n local file="${!fileRef}";\n unset -v fileRef;\n local targetOffsetNext;\n mapOffset "$relTargetOffset" targetOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n [[ -f "$pkg/nix-support/$file" ]] || continue;\n local pkgNext;\n read -r -d \'\' pkgNext < "$pkg/nix-support/$file" || true;\n for pkgNext in $pkgNext;\n do\n findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext";\n done;\n done;\n done\n}\nfixLibtool ()\n{\n \n local search_path;\n for flag in $NIX_LDFLAGS;\n do\n case $flag in \n -L*)\n search_path+=" ${flag#-L}"\n ;;\n esac;\n done;\n sed -i "$1" -e "s^eval \\(sys_lib_search_path=\\).*^\\1\'${search_path:-}\'^" -e \'s^eval sys_lib_.+search_path=.*^^\'\n}\nfixupPhase ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n if [ -e "${!output}" ]; then\n chmod -R u+w,u-s,g-s "${!output}";\n fi;\n done;\n runHook preFixup;\n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" runHook fixupOutput;\n done;\n recordPropagatedDependencies;\n if [ -n "${setupHook:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook";\n fi;\n if [ -n "${setupHooks:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n local hook;\n for hook in ${setupHooks[@]};\n do\n local content;\n consumeEntire content < "$hook";\n substituteAllStream content "file \'$hook\'" >> "${!outputDev}/nix-support/setup-hook";\n unset -v content;\n done;\n unset -v hook;\n fi;\n if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then\n mkdir -p "${!outputBin}/nix-support";\n printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages";\n fi;\n runHook postFixup\n}\ngenericBuild ()\n{\n \n export GZIP_NO_TIMESTAMPS=1;\n if [ -f "${buildCommandPath:-}" ]; then\n source "$buildCommandPath";\n return;\n fi;\n if [ -n "${buildCommand:-}" ]; then\n eval "$buildCommand";\n return;\n fi;\n if [ -z "${phases[*]:-}" ]; then\n phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}";\n fi;\n for curPhase in ${phases[*]};\n do\n runPhase "$curPhase";\n done\n}\ngetAllOutputNames ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n echo "${!outputs[*]}";\n else\n echo "$outputs";\n fi\n}\ngetHostRole ()\n{\n \n getRole "$hostOffset"\n}\ngetHostRoleEnvHook ()\n{\n \n getRole "$depHostOffset"\n}\ngetRole ()\n{\n \n case $1 in \n -1)\n role_post=\'_FOR_BUILD\'\n ;;\n 0)\n role_post=\'\'\n ;;\n 1)\n role_post=\'_FOR_TARGET\'\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ngetTargetRole ()\n{\n \n getRole "$targetOffset"\n}\ngetTargetRoleEnvHook ()\n{\n \n getRole "$depTargetOffset"\n}\ngetTargetRoleWrapper ()\n{\n \n case $targetOffset in \n -1)\n export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1\n ;;\n 0)\n export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1\n ;;\n 1)\n export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ninstallCheckPhase ()\n{\n \n runHook preInstallCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom installCheckPhase, doing nothing";\n else\n if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then\n echo "no installcheck target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck;\n echoCmd \'installcheck flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n fi;\n runHook postInstallCheck\n}\ninstallPhase ()\n{\n \n runHook preInstall;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom installPhase, doing nothing";\n runHook postInstall;\n return;\n else\n foundMakefile=1;\n fi;\n if [ -n "$prefix" ]; then\n mkdir -p "$prefix";\n fi;\n local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install;\n echoCmd \'install flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n runHook postInstall\n}\nisELF ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [ "$magic" = \'\177ELF\' ]; then\n return 0;\n else\n return 1;\n fi\n}\nisMachO ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xcf") || "$magic" = $(echo -ne "\\xcf\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xce") || "$magic" = $(echo -ne "\\xce\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xca\\xfe\\xba\\xbe") || "$magic" = $(echo -ne "\\xbe\\xba\\xfe\\xca") ]]; then\n return 0;\n else\n return 1;\n fi;\n fi;\n fi\n}\nisScript ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 2 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" =~ \\#! ]]; then\n return 0;\n else\n return 1;\n fi\n}\nmapOffset ()\n{\n \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n}\nmoveToOutput ()\n{\n \n local patt="$1";\n local dstOut="$2";\n local output;\n for output in $(getAllOutputNames);\n do\n if [ "${!output}" = "$dstOut" ]; then\n continue;\n fi;\n local srcPath;\n for srcPath in "${!output}"/$patt;\n do\n if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then\n continue;\n fi;\n if [ "$dstOut" = REMOVE ]; then\n echo "Removing $srcPath";\n rm -r "$srcPath";\n else\n local dstPath="$dstOut${srcPath#${!output}}";\n echo "Moving $srcPath to $dstPath";\n if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then\n rmdir "$srcPath" --ignore-fail-on-non-empty;\n if [ -d "$srcPath" ]; then\n mv -t "$dstPath" "$srcPath"/*;\n rmdir "$srcPath";\n fi;\n else\n mkdir -p "$(readlink -m "$dstPath/..")";\n mv "$srcPath" "$dstPath";\n fi;\n fi;\n local srcParent="$(readlink -m "$srcPath/..")";\n if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then\n echo "Removing empty $srcParent/ and (possibly) its parents";\n rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true;\n fi;\n done;\n done\n}\nnixChattyLog ()\n{\n \n _nixLogWithLevel 5 "$*"\n}\nnixDebugLog ()\n{\n \n _nixLogWithLevel 6 "$*"\n}\nnixErrorLog ()\n{\n \n _nixLogWithLevel 0 "$*"\n}\nnixInfoLog ()\n{\n \n _nixLogWithLevel 3 "$*"\n}\nnixLog ()\n{\n \n [[ -z ${NIX_LOG_FD-} ]] && return 0;\n local callerName="${FUNCNAME[1]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s\\n" "$callerName" "$*" >&"$NIX_LOG_FD"\n}\nnixNoticeLog ()\n{\n \n _nixLogWithLevel 2 "$*"\n}\nnixTalkativeLog ()\n{\n \n _nixLogWithLevel 4 "$*"\n}\nnixVomitLog ()\n{\n \n _nixLogWithLevel 7 "$*"\n}\nnixWarnLog ()\n{\n \n _nixLogWithLevel 1 "$*"\n}\nnoBrokenSymlinks ()\n{\n \n local -r output="${1:?}";\n local path;\n local pathParent;\n local symlinkTarget;\n local -i numDanglingSymlinks=0;\n local -i numReflexiveSymlinks=0;\n local -i numUnreadableSymlinks=0;\n if [[ ! -e $output ]]; then\n nixWarnLog "skipping non-existent output $output";\n return 0;\n fi;\n nixInfoLog "running on $output";\n while IFS= read -r -d \'\' path; do\n pathParent="$(dirname "$path")";\n if ! symlinkTarget="$(readlink "$path")"; then\n nixErrorLog "the symlink $path is unreadable";\n numUnreadableSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget == /* ]]; then\n nixInfoLog "symlink $path points to absolute target $symlinkTarget";\n else\n nixInfoLog "symlink $path points to relative target $symlinkTarget";\n symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")";\n fi;\n if [[ $symlinkTarget = "$TMPDIR"/* ]]; then\n nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget";\n numDanglingSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then\n nixInfoLog "symlink $path points outside the Nix store; ignoring";\n continue;\n fi;\n if [[ $path == "$symlinkTarget" ]]; then\n nixErrorLog "the symlink $path is reflexive";\n numReflexiveSymlinks+=1;\n else\n if [[ ! -e $symlinkTarget ]]; then\n nixErrorLog "the symlink $path points to a missing target: $symlinkTarget";\n numDanglingSymlinks+=1;\n else\n nixDebugLog "the symlink $path is irreflexive and points to a target which exists";\n fi;\n fi;\n done < <(find "$output" -type l -print0);\n if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then\n nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks";\n exit 1;\n fi;\n return 0\n}\nnoBrokenSymlinksInAllOutputs ()\n{\n \n if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then\n for output in $(getAllOutputNames);\n do\n noBrokenSymlinks "${!output}";\n done;\n fi\n}\npatchELF ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "shrinking RPATHs of ELF executables and libraries in $dir";\n local i;\n while IFS= read -r -d \'\' i; do\n if [[ "$i" =~ .build-id ]]; then\n continue;\n fi;\n if ! isELF "$i"; then\n continue;\n fi;\n echo "shrinking $i";\n patchelf --shrink-rpath "$i" || true;\n done < <(find "$dir" -type f -print0)\n}\npatchPhase ()\n{\n \n runHook prePatch;\n local -a patchesArray;\n concatTo patchesArray patches;\n local -a flagsArray;\n concatTo flagsArray patchFlags=-p1;\n for i in "${patchesArray[@]}";\n do\n echo "applying patch $i";\n local uncompress=cat;\n case "$i" in \n *.gz)\n uncompress="gzip -d"\n ;;\n *.bz2)\n uncompress="bzip2 -d"\n ;;\n *.xz)\n uncompress="xz -d"\n ;;\n *.lzma)\n uncompress="lzma -d"\n ;;\n esac;\n $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}";\n done;\n runHook postPatch\n}\npatchShebangs ()\n{\n \n local pathName;\n local update=false;\n while [[ $# -gt 0 ]]; do\n case "$1" in \n --host)\n pathName=HOST_PATH;\n shift\n ;;\n --build)\n pathName=PATH;\n shift\n ;;\n --update)\n update=true;\n shift\n ;;\n --)\n shift;\n break\n ;;\n -* | --*)\n echo "Unknown option $1 supplied to patchShebangs" 1>&2;\n return 1\n ;;\n *)\n break\n ;;\n esac;\n done;\n echo "patching script interpreter paths in $@";\n local f;\n local oldPath;\n local newPath;\n local arg0;\n local args;\n local oldInterpreterLine;\n local newInterpreterLine;\n if [[ $# -eq 0 ]]; then\n echo "No arguments supplied to patchShebangs" 1>&2;\n return 0;\n fi;\n local f;\n while IFS= read -r -d \'\' f; do\n isScript "$f" || continue;\n read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ];\n read -r oldPath arg0 args <<< "${oldInterpreterLine:2}";\n if [[ -z "${pathName:-}" ]]; then\n if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then\n pathName=HOST_PATH;\n else\n pathName=PATH;\n fi;\n fi;\n if [[ "$oldPath" == *"/bin/env" ]]; then\n if [[ $arg0 == "-S" ]]; then\n arg0=${args%% *};\n [[ "$args" == *" "* ]] && args=${args#* } || args=;\n newPath="$(PATH="${!pathName}" type -P "env" || true)";\n args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args";\n else\n if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then\n echo "$f: unsupported interpreter directive \\"$oldInterpreterLine\\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2;\n exit 1;\n else\n newPath="$(PATH="${!pathName}" type -P "$arg0" || true)";\n fi;\n fi;\n else\n if [[ -z $oldPath ]]; then\n oldPath="/bin/sh";\n fi;\n newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)";\n args="$arg0 $args";\n fi;\n newInterpreterLine="$newPath $args";\n newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}};\n if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then\n if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then\n echo "$f: interpreter directive changed from \\"$oldInterpreterLine\\" to \\"$newInterpreterLine\\"";\n escapedInterpreterLine=${newInterpreterLine//\\\\/\\\\\\\\};\n timestamp=$(stat --printf "%y" "$f");\n tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX);\n sed -e "1 s|.*|#\\!$escapedInterpreterLine|" "$f" > "$tmpFile";\n local restoreReadOnly;\n if [[ ! -w "$f" ]]; then\n chmod +w "$f";\n restoreReadOnly=true;\n fi;\n cat "$tmpFile" > "$f";\n rm "$tmpFile";\n if [[ -n "${restoreReadOnly:-}" ]]; then\n chmod -w "$f";\n fi;\n touch --date "$timestamp" "$f";\n fi;\n fi;\n done < <(find "$@" -type f -perm -0100 -print0)\n}\npatchShebangsAuto ()\n{\n \n if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then\n if [[ "$output" != out && "$output" = "$outputDev" ]]; then\n patchShebangs --build "$prefix";\n else\n patchShebangs --host "$prefix";\n fi;\n fi\n}\npkgConfigWrapper_addPkgConfigPath ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig";\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig"\n}\nprependToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=("$@" ${nameref+"${nameref[@]}"});\n else\n nameref="$* ${nameref-}";\n fi\n}\nprintLines ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s\\n\' "$@"\n}\nprintWords ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s \' "$@"\n}\nrecordPropagatedDependencies ()\n{\n \n declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated);\n declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}");\n local propagatedInputsIndex;\n for propagatedInputsIndex in "${!flatVars[@]}";\n do\n local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]";\n local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}";\n [[ -n "${!propagatedInputsSlice}" ]] || continue;\n mkdir -p "${!outputDev}/nix-support";\n printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile";\n done\n}\nrunHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook;\n for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n _eval "$hook" "$@";\n done;\n return 0\n}\nrunOneHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook ret=1;\n for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n if _eval "$hook" "$@"; then\n ret=0;\n break;\n fi;\n done;\n return "$ret"\n}\nrunPhase ()\n{\n \n local curPhase="$*";\n if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then\n return;\n fi;\n showPhaseHeader "$curPhase";\n dumpVars;\n local startTime endTime;\n startTime=$(date +"%s");\n eval "${!curPhase:-$curPhase}";\n endTime=$(date +"%s");\n showPhaseFooter "$curPhase" "$startTime" "$endTime";\n if [ "$curPhase" = unpackPhase ]; then\n [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}";\n cd -- "${sourceRoot:-.}";\n fi\n}\nshowPhaseFooter ()\n{\n \n local phase="$1";\n local startTime="$2";\n local endTime="$3";\n local delta=$(( endTime - startTime ));\n (( delta < 30 )) && return;\n local H=$((delta/3600));\n local M=$((delta%3600/60));\n local S=$((delta%60));\n echo -n "$phase completed in ";\n (( H > 0 )) && echo -n "$H hours ";\n (( M > 0 )) && echo -n "$M minutes ";\n echo "$S seconds"\n}\nshowPhaseHeader ()\n{\n \n local phase="$1";\n echo "Running phase: $phase";\n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n printf "@nix { \\"action\\": \\"setPhase\\", \\"phase\\": \\"%s\\" }\\n" "$phase" >&"$NIX_LOG_FD"\n}\nstripDirs ()\n{\n \n local cmd="$1";\n local ranlibCmd="$2";\n local paths="$3";\n local stripFlags="$4";\n local excludeFlags=();\n local pathsNew=;\n [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1;\n [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1;\n local pattern;\n if [ -n "${stripExclude:-}" ]; then\n for pattern in "${stripExclude[@]}";\n do\n excludeFlags+=(-a \'!\' \'(\' -name "$pattern" -o -wholename "$prefix/$pattern" \')\');\n done;\n fi;\n local p;\n for p in ${paths};\n do\n if [ -e "$prefix/$p" ]; then\n pathsNew="${pathsNew} $prefix/$p";\n fi;\n done;\n paths=${pathsNew};\n if [ -n "${paths}" ]; then\n echo "stripping (with command $cmd and flags $stripFlags) in $paths";\n local striperr;\n striperr="$(mktemp --tmpdir="$TMPDIR" \'striperr.XXXXXX\')";\n 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=$?;\n [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 );\n rm "$striperr";\n find $paths -name \'*.a\' -type f -exec $ranlibCmd \'{}\' \\; 2> /dev/null;\n fi\n}\nstripHash ()\n{\n \n local strippedName casematchOpt=0;\n strippedName="$(basename -- "$1")";\n shopt -q nocasematch && casematchOpt=1;\n shopt -u nocasematch;\n if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then\n echo "${strippedName:33}";\n else\n echo "$strippedName";\n fi;\n if (( casematchOpt )); then\n shopt -s nocasematch;\n fi\n}\nsubstitute ()\n{\n \n local input="$1";\n local output="$2";\n shift 2;\n if [ ! -f "$input" ]; then\n echo "substitute(): ERROR: file \'$input\' does not exist" 1>&2;\n return 1;\n fi;\n local content;\n consumeEntire content < "$input";\n if [ -e "$output" ]; then\n chmod +w "$output";\n fi;\n substituteStream content "file \'$input\'" "$@" > "$output"\n}\nsubstituteAll ()\n{\n \n local input="$1";\n local output="$2";\n local -a args=();\n _allFlags;\n substitute "$input" "$output" "${args[@]}"\n}\nsubstituteAllInPlace ()\n{\n \n local fileName="$1";\n shift;\n substituteAll "$fileName" "$fileName" "$@"\n}\nsubstituteAllStream ()\n{\n \n local -a args=();\n _allFlags;\n substituteStream "$1" "$2" "${args[@]}"\n}\nsubstituteInPlace ()\n{\n \n local -a fileNames=();\n for arg in "$@";\n do\n if [[ "$arg" = "--"* ]]; then\n break;\n fi;\n fileNames+=("$arg");\n shift;\n done;\n if ! [[ "${#fileNames[@]}" -gt 0 ]]; then\n echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2;\n return 1;\n fi;\n for file in "${fileNames[@]}";\n do\n substitute "$file" "$file" "$@";\n done\n}\nsubstituteStream ()\n{\n \n local var=$1;\n local description=$2;\n shift 2;\n while (( "$#" )); do\n local replace_mode="$1";\n case "$1" in \n --replace)\n if ! "$_substituteStream_has_warned_replace_deprecation"; then\n echo "substituteStream() in derivation $name: WARNING: \'--replace\' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2;\n _substituteStream_has_warned_replace_deprecation=true;\n fi;\n replace_mode=\'--replace-warn\'\n ;&\n --replace-quiet | --replace-warn | --replace-fail)\n pattern="$2";\n replacement="$3";\n shift 3;\n if ! [[ "${!var}" == *"$pattern"* ]]; then\n if [ "$replace_mode" == --replace-warn ]; then\n printf "substituteStream() in derivation $name: WARNING: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n else\n if [ "$replace_mode" == --replace-fail ]; then\n printf "substituteStream() in derivation $name: ERROR: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n return 1;\n fi;\n fi;\n fi;\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var)\n local varName="$2";\n shift 2;\n if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then\n echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \\"$varName\\" isn\'t." 1>&2;\n return 1;\n fi;\n if [ -z ${!varName+x} ]; then\n echo "substituteStream() in derivation $name: ERROR: variable \\$$varName is unset" 1>&2;\n return 1;\n fi;\n pattern="@$varName@";\n replacement="${!varName}";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var-by)\n pattern="@$2@";\n replacement="$3";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\';\n shift 3\n ;;\n *)\n echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2;\n return 1\n ;;\n esac;\n done;\n printf "%s" "${!var}"\n}\nsysconfigdataHook ()\n{\n \n if [ "$1" = \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' ]; then\n export _PYTHON_HOST_PLATFORM=\'linux-x86_64\';\n export _PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\';\n fi\n}\ntoPythonPath ()\n{\n \n local paths="$1";\n local result=;\n for i in $paths;\n do\n p="$i/lib/python3.13/site-packages";\n result="${result}${result:+:}$p";\n done;\n echo $result\n}\nunpackFile ()\n{\n \n curSrc="$1";\n echo "unpacking source archive $curSrc";\n if ! runOneHook unpackCmd "$curSrc"; then\n echo "do not know how to unpack source archive $curSrc";\n exit 1;\n fi\n}\nunpackPhase ()\n{\n \n runHook preUnpack;\n if [ -z "${srcs:-}" ]; then\n if [ -z "${src:-}" ]; then\n echo \'variable $src or $srcs should point to the source\';\n exit 1;\n fi;\n srcs="$src";\n fi;\n local -a srcsArray;\n concatTo srcsArray srcs;\n local dirsBefore="";\n for i in *;\n do\n if [ -d "$i" ]; then\n dirsBefore="$dirsBefore $i ";\n fi;\n done;\n for i in "${srcsArray[@]}";\n do\n unpackFile "$i";\n done;\n : "${sourceRoot=}";\n if [ -n "${setSourceRoot:-}" ]; then\n runOneHook setSourceRoot;\n else\n if [ -z "$sourceRoot" ]; then\n for i in *;\n do\n if [ -d "$i" ]; then\n case $dirsBefore in \n *\\ $i\\ *)\n\n ;;\n *)\n if [ -n "$sourceRoot" ]; then\n echo "unpacker produced multiple directories";\n exit 1;\n fi;\n sourceRoot="$i"\n ;;\n esac;\n fi;\n done;\n fi;\n fi;\n if [ -z "$sourceRoot" ]; then\n echo "unpacker appears to have produced no directories";\n exit 1;\n fi;\n echo "source root is $sourceRoot";\n if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then\n chmod -R u+w -- "$sourceRoot";\n fi;\n runHook postUnpack\n}\nupdateAutotoolsGnuConfigScriptsPhase ()\n{\n \n if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then\n return;\n fi;\n for script in config.sub config.guess;\n do\n for f in $(find . -type f -name "$script");\n do\n echo "Updating Autotools / GNU config script to a newer upstream version: $f";\n cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f";\n done;\n done\n}\nupdateSourceDateEpoch ()\n{\n \n local path="$1";\n [[ $path == -* ]] && path="./$path";\n 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));\n local time="${res[0]//\\.[0-9]*/}";\n local newestFile="${res[1]}";\n if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then\n echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile";\n export SOURCE_DATE_EPOCH="$time";\n local now="$(date +%s)";\n if [ "$time" -gt $((now - 60)) ]; then\n echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic";\n fi;\n fi\n}\nPATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}"\nXDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}"\nexport NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"\nexport TMP="$NIX_BUILD_TOP"\nexport TMPDIR="$NIX_BUILD_TOP"\nexport TEMP="$NIX_BUILD_TOP"\nexport TEMPDIR="$NIX_BUILD_TOP"\neval "${shellHook:-}"' | |
| ++ [[ ! '' =~ (^|:)/home/ender/Documents/Projects/dr-ctf(:|$) ]] | |
| ++ export 'DIRENV_ACTIVE=/home/ender/Documents/Projects/dr-ctf:'\'''\''' | |
| ++ DIRENV_ACTIVE='/home/ender/Documents/Projects/dr-ctf:'\'''\''' | |
| ++ local old_nix_build_top=__UNSET__ | |
| ++ local old_tmp=__UNSET__ | |
| ++ local old_tmpdir=__UNSET__ | |
| ++ local old_temp=__UNSET__ | |
| ++ local old_tempdir=__UNSET__ | |
| ++ local old_xdg_data_dirs=/usr/share/gnome:/usr/share/cinnamon:/usr/share/gnome:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share | |
| ++ eval $'Checking secrets in dr-ctf using onepassword (profile: development)...\n\n✓ POSTGRES_URL - Database connection string\n✓ defaults - No description\n✓ POSTGRES_PASSWORD - Database password\n✓ POSTGRES_USER - Database user\n\nSummary: 4 found, 0 missing\nunset shellHook\nPATH=${PATH:-}\nnix_saved_PATH="$PATH"\nXDG_DATA_DIRS=${XDG_DATA_DIRS:-}\nnix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"\nAR=\'ar\'\nexport AR\nAS=\'as\'\nexport AS\nBASH=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nCC=\'gcc\'\nexport CC\nCONFIG_SHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport CONFIG_SHELL\nCXX=\'g++\'\nexport CXX\nDETERMINISTIC_BUILD=\'1\'\nexport DETERMINISTIC_BUILD\nDEVENV_DOTFILE=\'/home/ender/Documents/Projects/dr-ctf/.devenv\'\nexport DEVENV_DOTFILE\nDEVENV_PROFILE=\'/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile\'\nexport DEVENV_PROFILE\nDEVENV_ROOT=\'/home/ender/Documents/Projects/dr-ctf\'\nexport DEVENV_ROOT\nDEVENV_RUNTIME=\'/run/user/1000/devenv-405663c\'\nexport DEVENV_RUNTIME\nDEVENV_STATE=\'/home/ender/Documents/Projects/dr-ctf/.devenv/state\'\nexport DEVENV_STATE\nDEVENV_TASKS=\'[{"after":[],"before":[],"command":"/nix/store/yhwb3x398329il20dj3mprzhsql1jg9k-devenv-enterShell","cwd":null,"description":"Runs when entering the shell","exec_if_modified":[],"input":{},"name":"devenv:enterShell","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"Runs when entering the test environment","exec_if_modified":[],"input":{},"name":"devenv:enterTest","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":[],"command":null,"cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:files","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterShell"],"command":"/nix/store/qjsk2mi9da3rkbjn3ffsyrzw33c48a90-devenv-git-hooks-install","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:install","show_output":false,"status":null,"type":"oneshot"},{"after":[],"before":["devenv:enterTest"],"command":"/nix/store/ywfhq0r3lp4xg5j43vy7xmf5hxja9l6l-devenv-git-hooks-run","cwd":null,"description":"","exec_if_modified":[],"input":{},"name":"devenv:git-hooks:run","show_output":false,"status":null,"type":"oneshot"}]\'\nexport DEVENV_TASKS\nDEVENV_TASK_FILE=\'/nix/store/kj598ws11izad7bv9qmsxpkpd7hq3krp-tasks.json\'\nexport DEVENV_TASK_FILE\nGIT_EXTERNAL_DIFF=\'difft\'\nexport GIT_EXTERNAL_DIFF\nHOSTTYPE=\'x86_64\'\nHOST_PATH=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport HOST_PATH\nIFS=\' \t\n\'\nIN_NIX_SHELL=\'impure\'\nexport IN_NIX_SHELL\nLD=\'ld\'\nexport LD\nLINENO=\'76\'\nMACHTYPE=\'x86_64-pc-linux-gnu\'\nNIX_BINTOOLS=\'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\'\nexport NIX_BINTOOLS\nNIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_BUILD_CORES=\'16\'\nexport NIX_BUILD_CORES\nNIX_CC=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\nexport NIX_CC\nNIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_CFLAGS_COMPILE=\' -frandom-seed=3zw2ajqsr4 -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include -isystem /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/include -isystem /nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/include -isystem /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/include -isystem /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/include -isystem /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/include -isystem /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/include -isystem /nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/include\'\nexport NIX_CFLAGS_COMPILE\nNIX_ENFORCE_NO_NATIVE=\'1\'\nexport NIX_ENFORCE_NO_NATIVE\nNIX_HARDENING_ENABLE=\'bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs\'\nexport NIX_HARDENING_ENABLE\nNIX_LDFLAGS=\'-rpath /home/ender/Documents/Projects/dr-ctf/outputs/out/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib -L/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/lib -L/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4/lib -L/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib\'\nexport NIX_LDFLAGS\nNIX_NO_SELF_RPATH=\'1\'\nNIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=\'1\'\nexport NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu\nNIX_STORE=\'/nix/store\'\nexport NIX_STORE\nNM=\'nm\'\nexport NM\nNODE_PATH=\'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/lib/node_modules:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/lib/node_modules:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/lib/node_modules\'\nexport NODE_PATH\nOBJCOPY=\'objcopy\'\nexport OBJCOPY\nOBJDUMP=\'objdump\'\nexport OBJDUMP\nOLDPWD=\'\'\nexport OLDPWD\nOPTERR=\'1\'\nOSTYPE=\'linux-gnu\'\nPATH=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/bin:/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0/bin:/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3/bin:/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3/bin:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/bin:/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev/bin:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/bin:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/bin:/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2/bin:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/bin:/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108/bin:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/bin:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/bin:/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0/bin:/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev/bin:/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du/bin:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/bin:/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3/bin:/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin/bin:/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0/bin:/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17/bin:/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5/bin:/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin/bin:/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/bin:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/bin:/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1/bin:/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0/bin:/nix/store/kzq78n13l8w24jn8bx4djj79k5j717f1-gcc-14.3.0/bin:/nix/store/q6wgv06q39bfhx2xl8ysc05wi6m2zdss-glibc-2.40-66-bin/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44/bin:/nix/store/dc9vaz50jg7mibk9xvqw5dqv89cxzla3-binutils-2.44/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin\'\nexport PATH\nPC_CONFIG_FILES=\'/nix/store/ysqava3g5mbphf5fvlrm626f3fzfsvlp-process-compose.yaml\'\nexport PC_CONFIG_FILES\nPC_SOCKET_PATH=\'/run/user/1000/devenv-405663c/pc.sock\'\nexport PC_SOCKET_PATH\nPKG_CONFIG=\'pkg-config\'\nexport PKG_CONFIG\nPKG_CONFIG_PATH=\'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev/lib/pkgconfig:/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev/lib/pkgconfig:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/pkgconfig\'\nexport PKG_CONFIG_PATH\nPS4=\'+ \'\nPYTHONHASHSEED=\'0\'\nexport PYTHONHASHSEED\nPYTHONNOUSERSITE=\'1\'\nexport PYTHONNOUSERSITE\nPYTHONPATH=\'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0/lib/python3.13/site-packages:/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14/lib/python3.13/site-packages:/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0/lib/python3.13/site-packages:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/lib/python3.13/site-packages:/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12/lib/python3.13/site-packages\'\nexport PYTHONPATH\nRANLIB=\'ranlib\'\nexport RANLIB\nREADELF=\'readelf\'\nexport READELF\nRUST_SRC_PATH=\'/nix/store/x4lzvdhcz439jm1clb41hnx3xa2cqvli-rust-lib-src\'\nexport RUST_SRC_PATH\nSHELL=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport SHELL\nSIZE=\'size\'\nexport SIZE\nSOURCE_DATE_EPOCH=\'315532800\'\nexport SOURCE_DATE_EPOCH\nSTRINGS=\'strings\'\nexport STRINGS\nSTRIP=\'strip\'\nexport STRIP\nXDG_DATA_DIRS=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0/share:/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs/share:/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1/share:/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2/share:/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1/share:/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2/share:/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3/share:/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2/share:/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share\'\nexport XDG_DATA_DIRS\n_PYTHON_HOST_PLATFORM=\'linux-x86_64\'\nexport _PYTHON_HOST_PLATFORM\n_PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\'\nexport _PYTHON_SYSCONFIGDATA_NAME\n__structuredAttrs=\'\'\nexport __structuredAttrs\n_substituteStream_has_warned_replace_deprecation=\'false\'\nbuildInputs=\'\'\nexport buildInputs\nbuildPhase=\'{ echo "------------------------------------------------------------";\n echo " WARNING: the existence of this path is not guaranteed.";\n echo " It is an internal implementation detail for pkgs.mkShell.";\n echo "------------------------------------------------------------";\n echo;\n # Record all build inputs as runtime dependencies\n export;\n} >> "$out"\n\'\nexport buildPhase\nbuilder=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport builder\ncmakeFlags=\'\'\nexport cmakeFlags\nconfigureFlags=\'\'\nexport configureFlags\ndefaultBuildInputs=\'\'\ndefaultNativeBuildInputs=\'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-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/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh /nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndepsBuildBuild=\'\'\nexport depsBuildBuild\ndepsBuildBuildPropagated=\'\'\nexport depsBuildBuildPropagated\ndepsBuildTarget=\'\'\nexport depsBuildTarget\ndepsBuildTargetPropagated=\'\'\nexport depsBuildTargetPropagated\ndepsHostHost=\'\'\nexport depsHostHost\ndepsHostHostPropagated=\'\'\nexport depsHostHostPropagated\ndepsTargetTarget=\'\'\nexport depsTargetTarget\ndepsTargetTargetPropagated=\'\'\nexport depsTargetTargetPropagated\ndoCheck=\'\'\nexport doCheck\ndoInstallCheck=\'\'\nexport doInstallCheck\ndontAddDisableDepTrack=\'1\'\nexport dontAddDisableDepTrack\ndeclare -a envBuildBuildHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildHostHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envBuildTargetHooks=(\'addNodePath\' \'addPythonPath\' \'sysconfigdataHook\' )\ndeclare -a envHostHostHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envHostTargetHooks=(\'pkgConfigWrapper_addPkgConfigPath\' \'ccWrapper_addCVars\' \'bintoolsWrapper_addLDVars\' )\ndeclare -a envTargetTargetHooks=()\ndeclare -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\' )\nhardeningDisable=\'\'\nexport hardeningDisable\ninitialPath=\'/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45\'\nmesonFlags=\'\'\nexport mesonFlags\nname=\'DrCTF-env\'\nexport name\nnativeBuildInputs=\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0 /nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0 /nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3 /nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3 /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev /nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2 /nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2 /nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux /nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1 /nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3 /nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev /nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev /nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du /nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2 /nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3 /nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev /nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0 /nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17 /nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5 /nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2 /nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin /nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs /nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0 /nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1 /nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\'\nexport nativeBuildInputs\nout=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\nexport out\noutputBin=\'out\'\noutputDev=\'out\'\noutputDevdoc=\'REMOVE\'\noutputDevman=\'out\'\noutputDoc=\'out\'\noutputInclude=\'out\'\noutputInfo=\'out\'\noutputLib=\'out\'\noutputMan=\'out\'\noutputs=\'out\'\nexport outputs\npatches=\'\'\nexport patches\nphases=\'buildPhase\'\nexport phases\npkg=\'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\'\ndeclare -a pkgsBuildBuild=()\ndeclare -a pkgsBuildHost=(\'/nix/store/vw9d8v9r0kp44lmizysj7idmqyf9747l-process-compose-1.78.0\' \'/nix/store/64sazg99p78hfl7k8b0xn8ci1fcz6gpf-difftastic-0.67.0\' \'/nix/store/y6wn9g8nbrazkn4r7daik49c77fs513y-typescript-5.9.3\' \'/nix/store/3dpq47cj4ji5aq00vmv4mg45vcjamgcw-typescript-language-server-5.1.3\' \'/nix/store/nh2jhgkgrrdl31pzc46l8k1za4iqfv1z-rust-toolchain-nixpkgs\' \'/nix/store/bpq0hkckybfnxblhnqavv9agxg4wgja2-nodejs-slim-22.21.1-dev\' \'/nix/store/jwkciwykf24vgb1gdlbh94fq5fm9xii5-nodejs-slim-22.21.1\' \'/nix/store/a9gabjjwk0617csjlgm5f6gz5fv9jq11-bun-1.3.2\' \'/nix/store/v6bx0d4690d8bklp18wvjdk566873sgs-clang-tools-21.1.2\' \'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\' \'/nix/store/jlv0a6iyh8vb7pfyhjj93xy245xlmgh5-gnumake-4.4.1\' \'/nix/store/fwmjw5cks4v1gxpr9wgbpzwygcfcmnfp-ccls-0.20241108\' \'/nix/store/8vdiwpbh0g4avsd6x5v4s0di32vcl3dp-pkg-config-wrapper-0.29.2\' \'/nix/store/97033wd7ak5am97yk1d2y85aai3yz4wh-gdb-16.3\' \'/nix/store/zp52rrbj0aca8sq5wg5qjmjvrv636sc3-valgrind-3.26.0-dev\' \'/nix/store/fp56mavabdv7v67y5j3b0ga3v6ygpyha-valgrind-3.26.0\' \'/nix/store/s3c28nd52vahmlcd9scfhpaw18wxbdgg-dev\' \'/nix/store/bjb3hx0r5yqdlkpk77l5ajsb698c55n2-du\' \'/nix/store/4qhdhmi7pzgad0zfd7c5lsg235mbf9hv-git-2.51.2\' \'/nix/store/z6al79i0bkp2phc0qic774i0vg44npp3-loco-0.16.3\' \'/nix/store/na40apkxgv855bc8qpbi6gf0yvdzvnij-sqlite-3.50.4-dev\' \'/nix/store/awm8pnzpcj63lb26asvjm24j4kwg4d76-sqlite-3.50.4-bin\' \'/nix/store/l30c488dws7z5mazacqsmj25izb9jlp2-sqlite-3.50.4\' \'/nix/store/19xz3q0sv06r0yrar8srmxs8pfmrg79m-secretspec-0.4.0\' \'/nix/store/sac7s2ziii88sfgy4d6jnxndsxd1nh83-sea-orm-cli-1.1.17\' \'/nix/store/jc4c4x7dv80i794ki30ymj1mrzdxaccd-cargo-generate-0.23.5\' \'/nix/store/965w3rby7xl49kbfqyyr5m10hlyh3f28-pre-commit-bin\' \'/nix/store/pnf9h7rd3nrxx5phrwbnhb5yhkiavj6p-python3.13-pre-commit-hooks-6.0.0\' \'/nix/store/prpbn02py0x7xgb4fk1xmgzghix6wnxb-python3.13-ruamel-yaml-0.18.14\' \'/nix/store/fxbffn4g9z7l4livi6wm48yb162bc1ga-python3.13-ruamel-base-1.0.0\' \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' \'/nix/store/zs5kbqpr3dj8rb4szgrp1l3pnl03la6d-python3.13-ruamel-yaml-clib-0.2.12\' \'/nix/store/rckafkh916d8hd4642n2hzywa7sf1npp-deadnix-1.3.1\' \'/nix/store/wbx8i6wrjdi32gj7kk5j5fq3484qyzyb-shellcheck-0.11.0\' \'/nix/store/7fc4qz8ny0s2m2n5gsgsqb3yn2iffk4v-shellcheck-0.11.0-bin\' \'/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2\' \'/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook\' \'/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh\' \'/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh\' \'/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-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/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh\' \'/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh\' \'/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh\' \'/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh\' \'/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh\' \'/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh\' \'/nix/store/vr15iyyykg9zai6fpgvhcgyw7gckl78w-gcc-wrapper-14.3.0\' \'/nix/store/xwydcyvlsa3cvssk0y5llgdhlhjvmqdm-binutils-wrapper-2.44\' )\ndeclare -a pkgsBuildTarget=()\ndeclare -a pkgsHostHost=()\ndeclare -a pkgsHostTarget=()\ndeclare -a pkgsTargetTarget=()\ndeclare -a postFixupHooks=(\'noBrokenSymlinksInAllOutputs\' \'_makeSymlinksRelativeInAllOutputs\' \'_multioutPropagateDev\' )\ndeclare -a postUnpackHooks=(\'_updateSourceDateEpochFromSourceRoot\' )\ndeclare -a preConfigureHooks=(\'_multioutConfig\' )\npreConfigurePhases=\' updateAutotoolsGnuConfigScriptsPhase\'\ndeclare -a preFixupHooks=(\'_moveToShare\' \'_multioutDocs\' \'_multioutDevs\' )\npreferLocalBuild=\'1\'\nexport preferLocalBuild\nprefix=\'/home/ender/Documents/Projects/dr-ctf/outputs/out\'\ndeclare -a propagatedBuildDepFiles=(\'propagated-build-build-deps\' \'propagated-native-build-inputs\' \'propagated-build-target-deps\' )\npropagatedBuildInputs=\'\'\nexport propagatedBuildInputs\ndeclare -a propagatedHostDepFiles=(\'propagated-host-host-deps\' \'propagated-build-inputs\' )\npropagatedNativeBuildInputs=\'\'\nexport propagatedNativeBuildInputs\ndeclare -a propagatedTargetDepFiles=(\'propagated-target-target-deps\' )\nshell=\'/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash\'\nexport shell\nshellHook=\'\nexport PS1="\\[\\e[0;34m\\](devenv)\\[\\e[0m\\] ${PS1-}"\n\n# override temp directories after "nix develop"\nfor var in TMP TMPDIR TEMP TEMPDIR; do\n if [ -n "${!var-}" ]; then\n export "$var"=/run/user/1000\n fi\ndone\nif [ -n "${NIX_BUILD_TOP-}" ]; then\n unset NIX_BUILD_TOP\nfi\n\n# set path to locales on non-NixOS Linux hosts\nif [ -z "${LOCALE_ARCHIVE-}" ]; then\n export LOCALE_ARCHIVE=/nix/store/lncqmx5asfccx0gfkp64r94ri59y0iyv-glibc-locales-2.40-66/lib/locale/locale-archive\nfi\n\n\n# direnv helper\nif [ ! type -p direnv &>/dev/null && -f .envrc ]; then\n echo "An .envrc file was detected, but the direnv command is not installed."\n echo "To use this configuration, please install direnv: https://direnv.net/docs/installation.html"\nfi\n\nmkdir -p "$DEVENV_STATE"\nif [ ! -L "$DEVENV_DOTFILE/profile" ] || [ "$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/readlink $DEVENV_DOTFILE/profile)" != "/nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile" ]\nthen\n ln -snf /nix/store/bvm5wn1c46bxfgzylrm3khh2sp87vnsa-devenv-profile "$DEVENV_DOTFILE/profile"\nfi\nunset HOST_PATH NIX_BUILD_CORES __structuredAttrs buildInputs buildPhase builder depsBuildBuild depsBuildBuildPropagated depsBuildTarget depsBuildTargetPropagated depsHostHost depsHostHostPropagated depsTargetTarget depsTargetTargetPropagated dontAddDisableDepTrack doCheck doInstallCheck nativeBuildInputs out outputs patches phases preferLocalBuild propagatedBuildInputs propagatedNativeBuildInputs shell shellHook stdenv strictDeps\n\nmkdir -p /run/user/1000/devenv-405663c\nln -snf /run/user/1000/devenv-405663c /home/ender/Documents/Projects/dr-ctf/.devenv/run\n\n\nexport CARGO_INSTALL_ROOT=$(/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin/realpath --no-symlinks /home/ender/Documents/Projects/dr-ctf/.devenv/state/cargo-install)\nexport PATH="$PATH:$CARGO_INSTALL_ROOT/bin"\n\nexport PATH="node_modules/.bin:$PATH"\n\n/nix/store/0h3grrk59ixrbqpikbxknvwg5nb05pr0-devenv-tasks-2.0.0/bin/devenv-tasks run devenv:enterShell --mode all || exit $?\nif [ -f "$DEVENV_DOTFILE/load-exports" ]; then\n source "$DEVENV_DOTFILE/load-exports"\nfi\n\necho "✨ devenv 1.11.1 is out of date. Please update to 1.11.2: https://devenv.sh/getting-started/#installation" >&2\n\n\n# Check whether the direnv integration is out of date.\n{\n if [[ ":${DIRENV_ACTIVE-}:" == *":/home/ender/Documents/Projects/dr-ctf:"* ]]; then\n if [[ ! "${DEVENV_NO_DIRENVRC_OUTDATED_WARNING-}" == 1 && ! "${DEVENV_DIRENVRC_ROLLING_UPGRADE-}" == 1 ]]; then\n if [[ ${DEVENV_DIRENVRC_VERSION:-0} -lt 1 ]]; then\n direnv_line=$(grep --color=never -E "source_url.*cachix/devenv" .envrc || echo "")\n\n echo "✨ The direnv integration in your .envrc is out of date."\n echo ""\n echo -n "RECOMMENDED: devenv can now auto-upgrade the direnv integration. "\n if [[ -n "$direnv_line" ]]; then\n echo "To enable this feature, replace the following line in your .envrc:"\n echo ""\n echo " $direnv_line"\n echo ""\n echo "with:"\n echo ""\n echo " eval \\"\\$(devenv direnvrc)\\""\n else\n echo "To enable this feature, replace the \\`source_url\\` line that fetches the direnvrc integration in your .envrc with:"\n echo ""\n echo " eval \\"$(devenv direnvrc)\\""\n fi\n echo ""\n echo "If you prefer to continue managing the integration manually, follow the upgrade instructions at https://devenv.sh/automatic-shell-activation/."\n echo ""\n echo "To disable this message:"\n echo ""\n echo " Add the following environment to your .envrc before \\`use devenv\\`:"\n echo ""\n echo " export DEVENV_NO_DIRENVRC_OUTDATED_WARNING=1"\n echo ""\n echo " Or set the following option in your devenv configuration:"\n echo ""\n echo " devenv.warnOnNewVersion = false;"\n echo ""\n fi\n fi\n fi\n} >&2\n\ngit --version # Use packages\n\n\'\nexport shellHook\nstdenv=\'/nix/store/s3w5m3spa1g71hx0yb82lvk6394j3w5j-stdenv-linux\'\nexport stdenv\nstrictDeps=\'\'\nexport strictDeps\nsystem=\'x86_64-linux\'\nexport system\ndeclare -a unpackCmdHooks=(\'_defaultUnpack\' )\n_activatePkgs ()\n{\n \n local hostOffset targetOffset;\n local pkg;\n for hostOffset in "${allPlatOffsets[@]}";\n do\n local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}";\n for targetOffset in "${allPlatOffsets[@]}";\n do\n (( hostOffset <= targetOffset )) || continue;\n local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n activatePackage "$pkg" "$hostOffset" "$targetOffset";\n done;\n done;\n done\n}\n_addRpathPrefix ()\n{\n \n if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then\n export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}";\n fi\n}\n_addToEnv ()\n{\n \n local depHostOffset depTargetOffset;\n local pkg;\n for depHostOffset in "${allPlatOffsets[@]}";\n do\n local hookVar="${pkgHookVarVars[depHostOffset + 1]}";\n local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}";\n for depTargetOffset in "${allPlatOffsets[@]}";\n do\n (( depHostOffset <= depTargetOffset )) || continue;\n local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]";\n if [[ -z "${strictDeps-}" ]]; then\n local visitedPkgs="";\n for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}";\n do\n if [[ "$visitedPkgs" = *"$pkg"* ]]; then\n continue;\n fi;\n runHook "${!hookRef}" "$pkg";\n visitedPkgs+=" $pkg";\n done;\n else\n local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]";\n local pkgsSlice="${!pkgsRef}[@]";\n for pkg in ${!pkgsSlice+"${!pkgsSlice}"};\n do\n runHook "${!hookRef}" "$pkg";\n done;\n fi;\n done;\n done\n}\n_allFlags ()\n{\n \n export system pname name version;\n while IFS=\'\' read -r varName; do\n nixTalkativeLog "@${varName}@ -> ${!varName}";\n args+=("--subst-var" "$varName");\n done < <(awk \'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }\')\n}\n_assignFirst ()\n{\n \n local varName="$1";\n local _var;\n local REMOVE=REMOVE;\n shift;\n for _var in "$@";\n do\n if [ -n "${!_var-}" ]; then\n eval "${varName}"="${_var}";\n return;\n fi;\n done;\n echo;\n echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}.";\n echo " The following variables were all unset or empty:";\n echo " $*";\n if [ -z "${out:-}" ]; then\n echo \' If you do not want an "out" output in your derivation, make sure to define\';\n echo \' the other specific required outputs. This can be achieved by picking one\';\n echo " of the above as an output.";\n echo \' You do not have to remove "out" if you want to have a different default\';\n echo \' output, because the first output is taken as a default.\';\n echo;\n fi;\n return 1\n}\n_callImplicitHook ()\n{\n \n local def="$1";\n local hookName="$2";\n if declare -F "$hookName" > /dev/null; then\n nixTalkativeLog "calling implicit \'$hookName\' function hook";\n "$hookName";\n else\n if type -p "$hookName" > /dev/null; then\n nixTalkativeLog "sourcing implicit \'$hookName\' script hook";\n source "$hookName";\n else\n if [ -n "${!hookName:-}" ]; then\n nixTalkativeLog "evaling implicit \'$hookName\' string hook";\n eval "${!hookName}";\n else\n return "$def";\n fi;\n fi;\n fi\n}\n_defaultUnpack ()\n{\n \n local fn="$1";\n local destination;\n if [ -d "$fn" ]; then\n destination="$(stripHash "$fn")";\n if [ -e "$destination" ]; then\n echo "Cannot copy $fn to $destination: destination already exists!";\n echo "Did you specify two \\"srcs\\" with the same \\"name\\"?";\n return 1;\n fi;\n cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination";\n else\n case "$fn" in \n *.tar.xz | *.tar.lzma | *.txz)\n ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn";\n true ) | tar xf - --mode=+w --warning=no-timestamp\n ;;\n *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz)\n tar xf "$fn" --mode=+w --warning=no-timestamp\n ;;\n *)\n return 1\n ;;\n esac;\n fi\n}\n_doStrip ()\n{\n \n local -ra flags=(dontStripHost dontStripTarget);\n local -ra debugDirs=(stripDebugList stripDebugListTarget);\n local -ra allDirs=(stripAllList stripAllListTarget);\n local -ra stripCmds=(STRIP STRIP_FOR_TARGET);\n local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET);\n stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks};\n stripDebugListTarget=${stripDebugListTarget[*]:-};\n stripAllList=${stripAllList[*]:-};\n stripAllListTarget=${stripAllListTarget[*]:-};\n local i;\n for i in ${!stripCmds[@]};\n do\n local -n flag="${flags[$i]}";\n local -n debugDirList="${debugDirs[$i]}";\n local -n allDirList="${allDirs[$i]}";\n local -n stripCmd="${stripCmds[$i]}";\n local -n ranlibCmd="${ranlibCmds[$i]}";\n if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then\n continue;\n fi;\n stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}";\n stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}";\n done\n}\n_eval ()\n{\n \n if declare -F "$1" > /dev/null 2>&1; then\n "$@";\n else\n eval "$1";\n fi\n}\n_logHook ()\n{\n \n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n local hookKind="$1";\n local hookExpr="$2";\n shift 2;\n if declare -F "$hookExpr" > /dev/null 2>&1; then\n nixTalkativeLog "calling \'$hookKind\' function hook \'$hookExpr\'" "$@";\n else\n if type -p "$hookExpr" > /dev/null; then\n nixTalkativeLog "sourcing \'$hookKind\' script hook \'$hookExpr\'";\n else\n if [[ "$hookExpr" != "_callImplicitHook"* ]]; then\n local exprToOutput;\n if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then\n exprToOutput="$hookExpr";\n else\n local hookExprLine;\n while IFS= read -r hookExprLine; do\n hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}";\n if [[ -n "$hookExprLine" ]]; then\n exprToOutput+="$hookExprLine\\\\n ";\n fi;\n done <<< "$hookExpr";\n exprToOutput="${exprToOutput%%\\\\n }";\n fi;\n nixTalkativeLog "evaling \'$hookKind\' string hook \'$exprToOutput\'";\n fi;\n fi;\n fi\n}\n_makeSymlinksRelative ()\n{\n \n local symlinkTarget;\n if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n while IFS= read -r -d \'\' f; do\n symlinkTarget=$(readlink "$f");\n if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then\n continue;\n fi;\n if [ ! -e "$symlinkTarget" ]; then\n echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)";\n fi;\n echo "rewriting symlink $f to be relative to $prefix";\n ln -snrf "$symlinkTarget" "$f";\n done < <(find $prefix -type l -print0)\n}\n_makeSymlinksRelativeInAllOutputs ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" _makeSymlinksRelative;\n done\n}\n_moveLib64 ()\n{\n \n if [ "${dontMoveLib64-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then\n return;\n fi;\n echo "moving $prefix/lib64/* to $prefix/lib";\n mkdir -p $prefix/lib;\n shopt -s dotglob;\n for i in $prefix/lib64/*;\n do\n mv --no-clobber "$i" $prefix/lib;\n done;\n shopt -u dotglob;\n rmdir $prefix/lib64;\n ln -s lib $prefix/lib64\n}\n_moveSbin ()\n{\n \n if [ "${dontMoveSbin-}" = 1 ]; then\n return;\n fi;\n if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then\n return;\n fi;\n echo "moving $prefix/sbin/* to $prefix/bin";\n mkdir -p $prefix/bin;\n shopt -s dotglob;\n for i in $prefix/sbin/*;\n do\n mv "$i" $prefix/bin;\n done;\n shopt -u dotglob;\n rmdir $prefix/sbin;\n ln -s bin $prefix/sbin\n}\n_moveSystemdUserUnits ()\n{\n \n if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then\n return;\n fi;\n if [ ! -e "${prefix:?}/lib/systemd/user" ]; then\n return;\n fi;\n local source="$prefix/lib/systemd/user";\n local target="$prefix/share/systemd/user";\n echo "moving $source/* to $target";\n mkdir -p "$target";\n ( shopt -s dotglob;\n for i in "$source"/*;\n do\n mv "$i" "$target";\n done );\n rmdir "$source";\n ln -s "$target" "$source"\n}\n_moveToShare ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n if [ -z "${forceShare-}" ]; then\n forceShare=(man doc info);\n fi;\n else\n forceShare=(${forceShare:-man doc info});\n fi;\n if [[ -z "$out" ]]; then\n return;\n fi;\n for d in "${forceShare[@]}";\n do\n if [ -d "$out/$d" ]; then\n if [ -d "$out/share/$d" ]; then\n echo "both $d/ and share/$d/ exist!";\n else\n echo "moving $out/$d to $out/share/$d";\n mkdir -p $out/share;\n mv $out/$d $out/share/;\n fi;\n fi;\n done\n}\n_multioutConfig ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then\n return;\n fi;\n if [ -z "${shareDocName:-}" ]; then\n local confScript="${configureScript:-}";\n if [ -z "$confScript" ] && [ -x ./configure ]; then\n confScript=./configure;\n fi;\n if [ -f "$confScript" ]; then\n local shareDocName="$(sed -n "s/^PACKAGE_TARNAME=\'\\(.*\\)\'$/\\1/p" < "$confScript")";\n fi;\n if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q \'[^a-zA-Z0-9_-]\'; then\n shareDocName="$(echo "$name" | sed \'s/-[^a-zA-Z].*//\')";\n fi;\n fi;\n prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale;\n prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal\n}\n_multioutDevs ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then\n return;\n fi;\n moveToOutput include "${!outputInclude}";\n moveToOutput lib/pkgconfig "${!outputDev}";\n moveToOutput share/pkgconfig "${!outputDev}";\n moveToOutput lib/cmake "${!outputDev}";\n moveToOutput share/aclocal "${!outputDev}";\n for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc;\n do\n echo "Patching \'$f\' includedir to output ${!outputInclude}";\n sed -i "/^includedir=/s,=\\${prefix},=${!outputInclude}," "$f";\n done\n}\n_multioutDocs ()\n{\n \n local REMOVE=REMOVE;\n moveToOutput share/info "${!outputInfo}";\n moveToOutput share/doc "${!outputDoc}";\n moveToOutput share/gtk-doc "${!outputDevdoc}";\n moveToOutput share/devhelp/books "${!outputDevdoc}";\n moveToOutput share/man "${!outputMan}";\n moveToOutput share/man/man3 "${!outputDevman}"\n}\n_multioutPropagateDev ()\n{\n \n if [ "$(getAllOutputNames)" = "out" ]; then\n return;\n fi;\n local outputFirst;\n for outputFirst in $(getAllOutputNames);\n do\n break;\n done;\n local propagaterOutput="$outputDev";\n if [ -z "$propagaterOutput" ]; then\n propagaterOutput="$outputFirst";\n fi;\n if [ -z "${propagatedBuildOutputs+1}" ]; then\n local po_dirty="$outputBin $outputInclude $outputLib";\n set +o pipefail;\n propagatedBuildOutputs=`echo "$po_dirty" | tr -s \' \' \'\\n\' | grep -v -F "$propagaterOutput" | sort -u | tr \'\\n\' \' \' `;\n set -o pipefail;\n fi;\n if [ -z "$propagatedBuildOutputs" ]; then\n return;\n fi;\n mkdir -p "${!propagaterOutput}"/nix-support;\n for output in $propagatedBuildOutputs;\n do\n echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs;\n done\n}\n_nixLogWithLevel ()\n{\n \n [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0;\n local logLevel;\n case "${1:?}" in \n 0)\n logLevel=ERROR\n ;;\n 1)\n logLevel=WARN\n ;;\n 2)\n logLevel=NOTICE\n ;;\n 3)\n logLevel=INFO\n ;;\n 4)\n logLevel=TALKATIVE\n ;;\n 5)\n logLevel=CHATTY\n ;;\n 6)\n logLevel=DEBUG\n ;;\n 7)\n logLevel=VOMIT\n ;;\n *)\n echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD";\n return 1\n ;;\n esac;\n local callerName="${FUNCNAME[2]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s: %s\\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD"\n}\n_overrideFirst ()\n{\n \n if [ -z "${!1-}" ]; then\n _assignFirst "$@";\n fi\n}\n_pruneLibtoolFiles ()\n{\n \n if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then\n return;\n fi;\n find "$prefix" -type f -name \'*.la\' -exec grep -q \'^# Generated by .*libtool\' {} \\; -exec grep -q "^old_library=\'\'" {} \\; -exec sed -i {} -e "/^dependency_libs=\'[^\']/ c dependency_libs=\'\' #pruned" \\;\n}\n_updateSourceDateEpochFromSourceRoot ()\n{\n \n if [ -n "$sourceRoot" ]; then\n updateSourceDateEpoch "$sourceRoot";\n fi\n}\nactivatePackage ()\n{\n \n local pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n if [ -f "$pkg" ]; then\n nixTalkativeLog "sourcing setup hook \'$pkg\'";\n source "$pkg";\n fi;\n if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then\n addToSearchPath _PATH "$pkg/bin";\n fi;\n if (( hostOffset <= -1 )); then\n addToSearchPath _XDG_DATA_DIRS "$pkg/share";\n fi;\n if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then\n addToSearchPath _HOST_PATH "$pkg/bin";\n fi;\n if [[ -f "$pkg/nix-support/setup-hook" ]]; then\n nixTalkativeLog "sourcing setup hook \'$pkg/nix-support/setup-hook\'";\n source "$pkg/nix-support/setup-hook";\n fi\n}\naddEnvHooks ()\n{\n \n local depHostOffset="$1";\n shift;\n local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]";\n local pkgHookVar;\n for pkgHookVar in "${!pkgHookVarsSlice}";\n do\n eval "${pkgHookVar}s"\'+=("$@")\';\n done\n}\naddNodePath ()\n{\n \n addToSearchPath NODE_PATH "$1/lib/node_modules"\n}\naddPythonPath ()\n{\n \n addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.13/site-packages\n}\naddToSearchPath ()\n{\n \n addToSearchPathWithCustomDelimiter ":" "$@"\n}\naddToSearchPathWithCustomDelimiter ()\n{\n \n local delimiter="$1";\n local varName="$2";\n local dir="$3";\n if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then\n export "${varName}=${!varName:+${!varName}${delimiter}}${dir}";\n fi\n}\nappendToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\\"X\\"]=\\"Y\\") instead." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=(${nameref+"${nameref[@]}"} "$@");\n else\n nameref="${nameref-} $*";\n fi\n}\nauditTmpdir ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "checking for references to $TMPDIR/ in $dir...";\n local tmpdir elf_fifo script_fifo;\n tmpdir="$(mktemp -d)";\n elf_fifo="$tmpdir/elf";\n script_fifo="$tmpdir/script";\n mkfifo "$elf_fifo" "$script_fifo";\n ( find "$dir" -type f -not -path \'*/.build-id/*\' -print0 | while IFS= read -r -d \'\' file; do\n if isELF "$file"; then\n printf \'%s\\0\' "$file" 1>&3;\n else\n if isScript "$file"; then\n filename=${file##*/};\n dir=${file%/*};\n if [ -e "$dir/.$filename-wrapped" ]; then\n printf \'%s\\0\' "$file" 1>&4;\n fi;\n fi;\n fi;\n done;\n exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then\n echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$elf_fifo" ) & local pid_elf=$!;\n local pid_script;\n ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c \'\n if grep -q -F "$TMPDIR/" "$1"; then\n echo "wrapper script $1 contains a forbidden reference to $TMPDIR/"\n exit 1\n fi\n \' _ < "$script_fifo" ) & local pid_script=$!;\n wait "$pid_elf" || { \n echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n wait "$pid_script" || { \n echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!";\n exit 1\n };\n rm -r "$tmpdir"\n}\nbintoolsWrapper_addLDVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib64";\n fi;\n if [[ -d "$1/lib" ]]; then\n local -a glob=($1/lib/lib*);\n if [ "${#glob[*]}" -gt 0 ]; then\n export NIX_LDFLAGS${role_post}+=" -L$1/lib";\n fi;\n fi\n}\nbuildPhase ()\n{\n \n runHook preBuild;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom buildPhase, doing nothing";\n else\n foundMakefile=1;\n local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray;\n echoCmd \'build flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postBuild\n}\nccWrapper_addCVars ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n local found=;\n if [ -d "$1/include" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include";\n found=1;\n fi;\n if [ -d "$1/Library/Frameworks" ]; then\n export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks";\n found=1;\n fi;\n if [[ -n "" && -n ${NIX_STORE:-} && -n $found ]]; then\n local scrubbed="$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${1#"$NIX_STORE"/*-}";\n export NIX_CFLAGS_COMPILE${role_post}+=" -fmacro-prefix-map=$1=$scrubbed";\n fi\n}\ncheckPhase ()\n{\n \n runHook preCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom checkPhase, doing nothing";\n runHook postCheck;\n return;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then\n checkTarget="check";\n else\n if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then\n checkTarget="test";\n fi;\n fi;\n fi;\n if [[ -z "${checkTarget:-}" ]]; then\n echo "no check/test target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget;\n echoCmd \'check flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n runHook postCheck\n}\ncompressManPages ()\n{\n \n local dir="$1";\n if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then\n return;\n fi;\n echo "gzipping man pages under $dir/share/man/";\n find "$dir"/share/man/ -type f -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f;\n find "$dir"/share/man/ -type l -a \'!\' -regex \'.*\\.\\(bz2\\|gz\\|xz\\)$\' -print0 | sort -z | while IFS= read -r -d \'\' f; do\n local target;\n target="$(readlink -f "$f")";\n if [ -f "$target".gz ]; then\n ln -sf "$target".gz "$f".gz && rm "$f";\n fi;\n done\n}\nconcatStringsSep ()\n{\n \n local sep="$1";\n local name="$2";\n local type oldifs;\n if type=$(declare -p "$name" 2> /dev/null); then\n local -n nameref="$name";\n case "${type#* }" in \n -A*)\n echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n local IFS="$(printf \'\\036\')"\n ;;\n *)\n local IFS=" "\n ;;\n esac;\n local ifs_separated="${nameref[*]}";\n echo -n "${ifs_separated//"$IFS"/"$sep"}";\n fi\n}\nconcatTo ()\n{\n \n local -;\n set -o noglob;\n local -n targetref="$1";\n shift;\n local arg default name type;\n for arg in "$@";\n do\n IFS="=" read -r name default <<< "$arg";\n local -n nameref="$name";\n if [[ -z "${nameref[*]}" && -n "$default" ]]; then\n targetref+=("$default");\n else\n if type=$(declare -p "$name" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n targetref+=("${nameref[@]}")\n ;;\n *)\n if [[ "$name" = *"Array" ]]; then\n nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future";\n targetref+=(${nameref+"${nameref[@]}"});\n else\n targetref+=(${nameref-});\n fi\n ;;\n esac;\n fi;\n fi;\n done\n}\nconfigurePhase ()\n{\n \n runHook preConfigure;\n : "${configureScript=}";\n if [[ -z "$configureScript" && -x ./configure ]]; then\n configureScript=./configure;\n fi;\n if [ -z "${dontFixLibtool:-}" ]; then\n export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}";\n local i;\n find . -iname "ltmain.sh" -print0 | while IFS=\'\' read -r -d \'\' i; do\n echo "fixing libtool script $i";\n fixLibtool "$i";\n done;\n CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX);\n find . -executable -type f -name configure -exec grep -l \'GNU Libtool is free software; you can redistribute it and/or modify\' {} \\; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \\; -exec sed -i s_/usr/bin/file_file_g {} \\; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \\;;\n rm -f "$CONFIGURE_MTIME_REFERENCE";\n fi;\n if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then\n prependToVar configureFlags "${prefixKey:---prefix=}$prefix";\n fi;\n if [[ -f "$configureScript" ]]; then\n if [ -z "${dontAddDisableDepTrack:-}" ]; then\n if grep -q dependency-tracking "$configureScript"; then\n prependToVar configureFlags --disable-dependency-tracking;\n fi;\n fi;\n if [ -z "${dontDisableStatic:-}" ]; then\n if grep -q enable-static "$configureScript"; then\n prependToVar configureFlags --disable-static;\n fi;\n fi;\n if [ -z "${dontPatchShebangsInConfigure:-}" ]; then\n patchShebangs --build "$configureScript";\n fi;\n fi;\n if [ -n "$configureScript" ]; then\n local -a flagsArray;\n concatTo flagsArray configureFlags configureFlagsArray;\n echoCmd \'configure flags\' "${flagsArray[@]}";\n $configureScript "${flagsArray[@]}";\n unset flagsArray;\n else\n echo "no configure script, doing nothing";\n fi;\n runHook postConfigure\n}\nconsumeEntire ()\n{\n \n if IFS=\'\' read -r -d \'\' "$1"; then\n echo "consumeEntire(): ERROR: Input null bytes, won\'t process" 1>&2;\n return 1;\n fi\n}\ndistPhase ()\n{\n \n runHook preDist;\n local flagsArray=();\n concatTo flagsArray distFlags distFlagsArray distTarget=dist;\n echo \'dist flags: %q\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n if [ "${dontCopyDist:-0}" != 1 ]; then\n mkdir -p "$out/tarballs";\n cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs";\n fi;\n runHook postDist\n}\ndumpVars ()\n{\n \n if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then\n local old_umask;\n old_umask=$(umask);\n umask 0077;\n export 2> /dev/null > "$NIX_BUILD_TOP/env-vars";\n umask "$old_umask";\n fi\n}\nechoCmd ()\n{\n \n printf "%s:" "$1";\n shift;\n printf \' %q\' "$@";\n echo\n}\nexitHandler ()\n{\n \n exitCode="$?";\n set +e;\n if [ -n "${showBuildStats:-}" ]; then\n read -r -d \'\' -a buildTimes < <(times);\n echo "build times:";\n echo "user time for the shell ${buildTimes[0]}";\n echo "system time for the shell ${buildTimes[1]}";\n echo "user time for all child processes ${buildTimes[2]}";\n echo "system time for all child processes ${buildTimes[3]}";\n fi;\n if (( "$exitCode" != 0 )); then\n runHook failureHook;\n if [ -n "${succeedOnFailure:-}" ]; then\n echo "build failed with exit code $exitCode (ignored)";\n mkdir -p "$out/nix-support";\n printf "%s" "$exitCode" > "$out/nix-support/failed";\n exit 0;\n fi;\n else\n runHook exitHook;\n fi;\n return "$exitCode"\n}\nfindInputs ()\n{\n \n local -r pkg="$1";\n local -r hostOffset="$2";\n local -r targetOffset="$3";\n (( hostOffset <= targetOffset )) || exit 1;\n local varVar="${pkgAccumVarVars[hostOffset + 1]}";\n local varRef="$varVar[$((targetOffset - hostOffset))]";\n local var="${!varRef}";\n unset -v varVar varRef;\n local varSlice="$var[*]";\n case " ${!varSlice-} " in \n *" $pkg "*)\n return 0\n ;;\n esac;\n unset -v varSlice;\n eval "$var"\'+=("$pkg")\';\n if ! [ -e "$pkg" ]; then\n echo "build input $pkg does not exist" 1>&2;\n exit 1;\n fi;\n function mapOffset () \n { \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n };\n local relHostOffset;\n for relHostOffset in "${allPlatOffsets[@]}";\n do\n local files="${propagatedDepFilesVars[relHostOffset + 1]}";\n local hostOffsetNext;\n mapOffset "$relHostOffset" hostOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n local relTargetOffset;\n for relTargetOffset in "${allPlatOffsets[@]}";\n do\n (( "$relHostOffset" <= "$relTargetOffset" )) || continue;\n local fileRef="${files}[$relTargetOffset - $relHostOffset]";\n local file="${!fileRef}";\n unset -v fileRef;\n local targetOffsetNext;\n mapOffset "$relTargetOffset" targetOffsetNext;\n (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue;\n [[ -f "$pkg/nix-support/$file" ]] || continue;\n local pkgNext;\n read -r -d \'\' pkgNext < "$pkg/nix-support/$file" || true;\n for pkgNext in $pkgNext;\n do\n findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext";\n done;\n done;\n done\n}\nfixLibtool ()\n{\n \n local search_path;\n for flag in $NIX_LDFLAGS;\n do\n case $flag in \n -L*)\n search_path+=" ${flag#-L}"\n ;;\n esac;\n done;\n sed -i "$1" -e "s^eval \\(sys_lib_search_path=\\).*^\\1\'${search_path:-}\'^" -e \'s^eval sys_lib_.+search_path=.*^^\'\n}\nfixupPhase ()\n{\n \n local output;\n for output in $(getAllOutputNames);\n do\n if [ -e "${!output}" ]; then\n chmod -R u+w,u-s,g-s "${!output}";\n fi;\n done;\n runHook preFixup;\n local output;\n for output in $(getAllOutputNames);\n do\n prefix="${!output}" runHook fixupOutput;\n done;\n recordPropagatedDependencies;\n if [ -n "${setupHook:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook";\n fi;\n if [ -n "${setupHooks:-}" ]; then\n mkdir -p "${!outputDev}/nix-support";\n local hook;\n for hook in ${setupHooks[@]};\n do\n local content;\n consumeEntire content < "$hook";\n substituteAllStream content "file \'$hook\'" >> "${!outputDev}/nix-support/setup-hook";\n unset -v content;\n done;\n unset -v hook;\n fi;\n if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then\n mkdir -p "${!outputBin}/nix-support";\n printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages";\n fi;\n runHook postFixup\n}\ngenericBuild ()\n{\n \n export GZIP_NO_TIMESTAMPS=1;\n if [ -f "${buildCommandPath:-}" ]; then\n source "$buildCommandPath";\n return;\n fi;\n if [ -n "${buildCommand:-}" ]; then\n eval "$buildCommand";\n return;\n fi;\n if [ -z "${phases[*]:-}" ]; then\n phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}";\n fi;\n for curPhase in ${phases[*]};\n do\n runPhase "$curPhase";\n done\n}\ngetAllOutputNames ()\n{\n \n if [ -n "$__structuredAttrs" ]; then\n echo "${!outputs[*]}";\n else\n echo "$outputs";\n fi\n}\ngetHostRole ()\n{\n \n getRole "$hostOffset"\n}\ngetHostRoleEnvHook ()\n{\n \n getRole "$depHostOffset"\n}\ngetRole ()\n{\n \n case $1 in \n -1)\n role_post=\'_FOR_BUILD\'\n ;;\n 0)\n role_post=\'\'\n ;;\n 1)\n role_post=\'_FOR_TARGET\'\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ngetTargetRole ()\n{\n \n getRole "$targetOffset"\n}\ngetTargetRoleEnvHook ()\n{\n \n getRole "$depTargetOffset"\n}\ngetTargetRoleWrapper ()\n{\n \n case $targetOffset in \n -1)\n export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1\n ;;\n 0)\n export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1\n ;;\n 1)\n export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1\n ;;\n *)\n echo "binutils-wrapper-2.44: used as improper sort of dependency" 1>&2;\n return 1\n ;;\n esac\n}\ninstallCheckPhase ()\n{\n \n runHook preInstallCheck;\n if [[ -z "${foundMakefile:-}" ]]; then\n echo "no Makefile or custom installCheckPhase, doing nothing";\n else\n if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then\n echo "no installcheck target in ${makefile:-Makefile}, doing nothing";\n else\n local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck;\n echoCmd \'installcheck flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n fi;\n fi;\n runHook postInstallCheck\n}\ninstallPhase ()\n{\n \n runHook preInstall;\n if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then\n echo "no Makefile or custom installPhase, doing nothing";\n runHook postInstall;\n return;\n else\n foundMakefile=1;\n fi;\n if [ -n "$prefix" ]; then\n mkdir -p "$prefix";\n fi;\n local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL");\n concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install;\n echoCmd \'install flags\' "${flagsArray[@]}";\n make ${makefile:+-f $makefile} "${flagsArray[@]}";\n unset flagsArray;\n runHook postInstall\n}\nisELF ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [ "$magic" = \'\177ELF\' ]; then\n return 0;\n else\n return 1;\n fi\n}\nisMachO ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 4 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xcf") || "$magic" = $(echo -ne "\\xcf\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xfe\\xed\\xfa\\xce") || "$magic" = $(echo -ne "\\xce\\xfa\\xed\\xfe") ]]; then\n return 0;\n else\n if [[ "$magic" = $(echo -ne "\\xca\\xfe\\xba\\xbe") || "$magic" = $(echo -ne "\\xbe\\xba\\xfe\\xca") ]]; then\n return 0;\n else\n return 1;\n fi;\n fi;\n fi\n}\nisScript ()\n{\n \n local fn="$1";\n local fd;\n local magic;\n exec {fd}< "$fn";\n LANG=C read -r -n 2 -u "$fd" magic;\n exec {fd}>&-;\n if [[ "$magic" =~ \\#! ]]; then\n return 0;\n else\n return 1;\n fi\n}\nmapOffset ()\n{\n \n local -r inputOffset="$1";\n local -n outputOffset="$2";\n if (( inputOffset <= 0 )); then\n outputOffset=$((inputOffset + hostOffset));\n else\n outputOffset=$((inputOffset - 1 + targetOffset));\n fi\n}\nmoveToOutput ()\n{\n \n local patt="$1";\n local dstOut="$2";\n local output;\n for output in $(getAllOutputNames);\n do\n if [ "${!output}" = "$dstOut" ]; then\n continue;\n fi;\n local srcPath;\n for srcPath in "${!output}"/$patt;\n do\n if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then\n continue;\n fi;\n if [ "$dstOut" = REMOVE ]; then\n echo "Removing $srcPath";\n rm -r "$srcPath";\n else\n local dstPath="$dstOut${srcPath#${!output}}";\n echo "Moving $srcPath to $dstPath";\n if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then\n rmdir "$srcPath" --ignore-fail-on-non-empty;\n if [ -d "$srcPath" ]; then\n mv -t "$dstPath" "$srcPath"/*;\n rmdir "$srcPath";\n fi;\n else\n mkdir -p "$(readlink -m "$dstPath/..")";\n mv "$srcPath" "$dstPath";\n fi;\n fi;\n local srcParent="$(readlink -m "$srcPath/..")";\n if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then\n echo "Removing empty $srcParent/ and (possibly) its parents";\n rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true;\n fi;\n done;\n done\n}\nnixChattyLog ()\n{\n \n _nixLogWithLevel 5 "$*"\n}\nnixDebugLog ()\n{\n \n _nixLogWithLevel 6 "$*"\n}\nnixErrorLog ()\n{\n \n _nixLogWithLevel 0 "$*"\n}\nnixInfoLog ()\n{\n \n _nixLogWithLevel 3 "$*"\n}\nnixLog ()\n{\n \n [[ -z ${NIX_LOG_FD-} ]] && return 0;\n local callerName="${FUNCNAME[1]}";\n if [[ $callerName == "_callImplicitHook" ]]; then\n callerName="${hookName:?}";\n fi;\n printf "%s: %s\\n" "$callerName" "$*" >&"$NIX_LOG_FD"\n}\nnixNoticeLog ()\n{\n \n _nixLogWithLevel 2 "$*"\n}\nnixTalkativeLog ()\n{\n \n _nixLogWithLevel 4 "$*"\n}\nnixVomitLog ()\n{\n \n _nixLogWithLevel 7 "$*"\n}\nnixWarnLog ()\n{\n \n _nixLogWithLevel 1 "$*"\n}\nnoBrokenSymlinks ()\n{\n \n local -r output="${1:?}";\n local path;\n local pathParent;\n local symlinkTarget;\n local -i numDanglingSymlinks=0;\n local -i numReflexiveSymlinks=0;\n local -i numUnreadableSymlinks=0;\n if [[ ! -e $output ]]; then\n nixWarnLog "skipping non-existent output $output";\n return 0;\n fi;\n nixInfoLog "running on $output";\n while IFS= read -r -d \'\' path; do\n pathParent="$(dirname "$path")";\n if ! symlinkTarget="$(readlink "$path")"; then\n nixErrorLog "the symlink $path is unreadable";\n numUnreadableSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget == /* ]]; then\n nixInfoLog "symlink $path points to absolute target $symlinkTarget";\n else\n nixInfoLog "symlink $path points to relative target $symlinkTarget";\n symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")";\n fi;\n if [[ $symlinkTarget = "$TMPDIR"/* ]]; then\n nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget";\n numDanglingSymlinks+=1;\n continue;\n fi;\n if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then\n nixInfoLog "symlink $path points outside the Nix store; ignoring";\n continue;\n fi;\n if [[ $path == "$symlinkTarget" ]]; then\n nixErrorLog "the symlink $path is reflexive";\n numReflexiveSymlinks+=1;\n else\n if [[ ! -e $symlinkTarget ]]; then\n nixErrorLog "the symlink $path points to a missing target: $symlinkTarget";\n numDanglingSymlinks+=1;\n else\n nixDebugLog "the symlink $path is irreflexive and points to a target which exists";\n fi;\n fi;\n done < <(find "$output" -type l -print0);\n if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then\n nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks";\n exit 1;\n fi;\n return 0\n}\nnoBrokenSymlinksInAllOutputs ()\n{\n \n if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then\n for output in $(getAllOutputNames);\n do\n noBrokenSymlinks "${!output}";\n done;\n fi\n}\npatchELF ()\n{\n \n local dir="$1";\n [ -e "$dir" ] || return 0;\n echo "shrinking RPATHs of ELF executables and libraries in $dir";\n local i;\n while IFS= read -r -d \'\' i; do\n if [[ "$i" =~ .build-id ]]; then\n continue;\n fi;\n if ! isELF "$i"; then\n continue;\n fi;\n echo "shrinking $i";\n patchelf --shrink-rpath "$i" || true;\n done < <(find "$dir" -type f -print0)\n}\npatchPhase ()\n{\n \n runHook prePatch;\n local -a patchesArray;\n concatTo patchesArray patches;\n local -a flagsArray;\n concatTo flagsArray patchFlags=-p1;\n for i in "${patchesArray[@]}";\n do\n echo "applying patch $i";\n local uncompress=cat;\n case "$i" in \n *.gz)\n uncompress="gzip -d"\n ;;\n *.bz2)\n uncompress="bzip2 -d"\n ;;\n *.xz)\n uncompress="xz -d"\n ;;\n *.lzma)\n uncompress="lzma -d"\n ;;\n esac;\n $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}";\n done;\n runHook postPatch\n}\npatchShebangs ()\n{\n \n local pathName;\n local update=false;\n while [[ $# -gt 0 ]]; do\n case "$1" in \n --host)\n pathName=HOST_PATH;\n shift\n ;;\n --build)\n pathName=PATH;\n shift\n ;;\n --update)\n update=true;\n shift\n ;;\n --)\n shift;\n break\n ;;\n -* | --*)\n echo "Unknown option $1 supplied to patchShebangs" 1>&2;\n return 1\n ;;\n *)\n break\n ;;\n esac;\n done;\n echo "patching script interpreter paths in $@";\n local f;\n local oldPath;\n local newPath;\n local arg0;\n local args;\n local oldInterpreterLine;\n local newInterpreterLine;\n if [[ $# -eq 0 ]]; then\n echo "No arguments supplied to patchShebangs" 1>&2;\n return 0;\n fi;\n local f;\n while IFS= read -r -d \'\' f; do\n isScript "$f" || continue;\n read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ];\n read -r oldPath arg0 args <<< "${oldInterpreterLine:2}";\n if [[ -z "${pathName:-}" ]]; then\n if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then\n pathName=HOST_PATH;\n else\n pathName=PATH;\n fi;\n fi;\n if [[ "$oldPath" == *"/bin/env" ]]; then\n if [[ $arg0 == "-S" ]]; then\n arg0=${args%% *};\n [[ "$args" == *" "* ]] && args=${args#* } || args=;\n newPath="$(PATH="${!pathName}" type -P "env" || true)";\n args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args";\n else\n if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then\n echo "$f: unsupported interpreter directive \\"$oldInterpreterLine\\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2;\n exit 1;\n else\n newPath="$(PATH="${!pathName}" type -P "$arg0" || true)";\n fi;\n fi;\n else\n if [[ -z $oldPath ]]; then\n oldPath="/bin/sh";\n fi;\n newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)";\n args="$arg0 $args";\n fi;\n newInterpreterLine="$newPath $args";\n newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}};\n if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then\n if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then\n echo "$f: interpreter directive changed from \\"$oldInterpreterLine\\" to \\"$newInterpreterLine\\"";\n escapedInterpreterLine=${newInterpreterLine//\\\\/\\\\\\\\};\n timestamp=$(stat --printf "%y" "$f");\n tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX);\n sed -e "1 s|.*|#\\!$escapedInterpreterLine|" "$f" > "$tmpFile";\n local restoreReadOnly;\n if [[ ! -w "$f" ]]; then\n chmod +w "$f";\n restoreReadOnly=true;\n fi;\n cat "$tmpFile" > "$f";\n rm "$tmpFile";\n if [[ -n "${restoreReadOnly:-}" ]]; then\n chmod -w "$f";\n fi;\n touch --date "$timestamp" "$f";\n fi;\n fi;\n done < <(find "$@" -type f -perm -0100 -print0)\n}\npatchShebangsAuto ()\n{\n \n if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then\n if [[ "$output" != out && "$output" = "$outputDev" ]]; then\n patchShebangs --build "$prefix";\n else\n patchShebangs --host "$prefix";\n fi;\n fi\n}\npkgConfigWrapper_addPkgConfigPath ()\n{\n \n local role_post;\n getHostRoleEnvHook;\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig";\n addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig"\n}\nprependToVar ()\n{\n \n local -n nameref="$1";\n local useArray type;\n if [ -n "$__structuredAttrs" ]; then\n useArray=true;\n else\n useArray=false;\n fi;\n if type=$(declare -p "$1" 2> /dev/null); then\n case "${type#* }" in \n -A*)\n echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2;\n return 1\n ;;\n -a*)\n useArray=true\n ;;\n *)\n useArray=false\n ;;\n esac;\n fi;\n shift;\n if $useArray; then\n nameref=("$@" ${nameref+"${nameref[@]}"});\n else\n nameref="$* ${nameref-}";\n fi\n}\nprintLines ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s\\n\' "$@"\n}\nprintWords ()\n{\n \n (( "$#" > 0 )) || return 0;\n printf \'%s \' "$@"\n}\nrecordPropagatedDependencies ()\n{\n \n declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated);\n declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}");\n local propagatedInputsIndex;\n for propagatedInputsIndex in "${!flatVars[@]}";\n do\n local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]";\n local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}";\n [[ -n "${!propagatedInputsSlice}" ]] || continue;\n mkdir -p "${!outputDev}/nix-support";\n printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile";\n done\n}\nrunHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook;\n for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n _eval "$hook" "$@";\n done;\n return 0\n}\nrunOneHook ()\n{\n \n local hookName="$1";\n shift;\n local hooksSlice="${hookName%Hook}Hooks[@]";\n local hook ret=1;\n for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"};\n do\n _logHook "$hookName" "$hook" "$@";\n if _eval "$hook" "$@"; then\n ret=0;\n break;\n fi;\n done;\n return "$ret"\n}\nrunPhase ()\n{\n \n local curPhase="$*";\n if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then\n return;\n fi;\n if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then\n return;\n fi;\n showPhaseHeader "$curPhase";\n dumpVars;\n local startTime endTime;\n startTime=$(date +"%s");\n eval "${!curPhase:-$curPhase}";\n endTime=$(date +"%s");\n showPhaseFooter "$curPhase" "$startTime" "$endTime";\n if [ "$curPhase" = unpackPhase ]; then\n [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}";\n cd -- "${sourceRoot:-.}";\n fi\n}\nshowPhaseFooter ()\n{\n \n local phase="$1";\n local startTime="$2";\n local endTime="$3";\n local delta=$(( endTime - startTime ));\n (( delta < 30 )) && return;\n local H=$((delta/3600));\n local M=$((delta%3600/60));\n local S=$((delta%60));\n echo -n "$phase completed in ";\n (( H > 0 )) && echo -n "$H hours ";\n (( M > 0 )) && echo -n "$M minutes ";\n echo "$S seconds"\n}\nshowPhaseHeader ()\n{\n \n local phase="$1";\n echo "Running phase: $phase";\n if [[ -z ${NIX_LOG_FD-} ]]; then\n return;\n fi;\n printf "@nix { \\"action\\": \\"setPhase\\", \\"phase\\": \\"%s\\" }\\n" "$phase" >&"$NIX_LOG_FD"\n}\nstripDirs ()\n{\n \n local cmd="$1";\n local ranlibCmd="$2";\n local paths="$3";\n local stripFlags="$4";\n local excludeFlags=();\n local pathsNew=;\n [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1;\n [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1;\n local pattern;\n if [ -n "${stripExclude:-}" ]; then\n for pattern in "${stripExclude[@]}";\n do\n excludeFlags+=(-a \'!\' \'(\' -name "$pattern" -o -wholename "$prefix/$pattern" \')\');\n done;\n fi;\n local p;\n for p in ${paths};\n do\n if [ -e "$prefix/$p" ]; then\n pathsNew="${pathsNew} $prefix/$p";\n fi;\n done;\n paths=${pathsNew};\n if [ -n "${paths}" ]; then\n echo "stripping (with command $cmd and flags $stripFlags) in $paths";\n local striperr;\n striperr="$(mktemp --tmpdir="$TMPDIR" \'striperr.XXXXXX\')";\n 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=$?;\n [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 );\n rm "$striperr";\n find $paths -name \'*.a\' -type f -exec $ranlibCmd \'{}\' \\; 2> /dev/null;\n fi\n}\nstripHash ()\n{\n \n local strippedName casematchOpt=0;\n strippedName="$(basename -- "$1")";\n shopt -q nocasematch && casematchOpt=1;\n shopt -u nocasematch;\n if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then\n echo "${strippedName:33}";\n else\n echo "$strippedName";\n fi;\n if (( casematchOpt )); then\n shopt -s nocasematch;\n fi\n}\nsubstitute ()\n{\n \n local input="$1";\n local output="$2";\n shift 2;\n if [ ! -f "$input" ]; then\n echo "substitute(): ERROR: file \'$input\' does not exist" 1>&2;\n return 1;\n fi;\n local content;\n consumeEntire content < "$input";\n if [ -e "$output" ]; then\n chmod +w "$output";\n fi;\n substituteStream content "file \'$input\'" "$@" > "$output"\n}\nsubstituteAll ()\n{\n \n local input="$1";\n local output="$2";\n local -a args=();\n _allFlags;\n substitute "$input" "$output" "${args[@]}"\n}\nsubstituteAllInPlace ()\n{\n \n local fileName="$1";\n shift;\n substituteAll "$fileName" "$fileName" "$@"\n}\nsubstituteAllStream ()\n{\n \n local -a args=();\n _allFlags;\n substituteStream "$1" "$2" "${args[@]}"\n}\nsubstituteInPlace ()\n{\n \n local -a fileNames=();\n for arg in "$@";\n do\n if [[ "$arg" = "--"* ]]; then\n break;\n fi;\n fileNames+=("$arg");\n shift;\n done;\n if ! [[ "${#fileNames[@]}" -gt 0 ]]; then\n echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2;\n return 1;\n fi;\n for file in "${fileNames[@]}";\n do\n substitute "$file" "$file" "$@";\n done\n}\nsubstituteStream ()\n{\n \n local var=$1;\n local description=$2;\n shift 2;\n while (( "$#" )); do\n local replace_mode="$1";\n case "$1" in \n --replace)\n if ! "$_substituteStream_has_warned_replace_deprecation"; then\n echo "substituteStream() in derivation $name: WARNING: \'--replace\' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2;\n _substituteStream_has_warned_replace_deprecation=true;\n fi;\n replace_mode=\'--replace-warn\'\n ;&\n --replace-quiet | --replace-warn | --replace-fail)\n pattern="$2";\n replacement="$3";\n shift 3;\n if ! [[ "${!var}" == *"$pattern"* ]]; then\n if [ "$replace_mode" == --replace-warn ]; then\n printf "substituteStream() in derivation $name: WARNING: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n else\n if [ "$replace_mode" == --replace-fail ]; then\n printf "substituteStream() in derivation $name: ERROR: pattern %q doesn\'t match anything in %s\\n" "$pattern" "$description" 1>&2;\n return 1;\n fi;\n fi;\n fi;\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var)\n local varName="$2";\n shift 2;\n if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then\n echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \\"$varName\\" isn\'t." 1>&2;\n return 1;\n fi;\n if [ -z ${!varName+x} ]; then\n echo "substituteStream() in derivation $name: ERROR: variable \\$$varName is unset" 1>&2;\n return 1;\n fi;\n pattern="@$varName@";\n replacement="${!varName}";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\'\n ;;\n --subst-var-by)\n pattern="@$2@";\n replacement="$3";\n eval "$var"\'=${\'"$var"\'//"$pattern"/"$replacement"}\';\n shift 3\n ;;\n *)\n echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2;\n return 1\n ;;\n esac;\n done;\n printf "%s" "${!var}"\n}\nsysconfigdataHook ()\n{\n \n if [ "$1" = \'/nix/store/3lll9y925zz9393sa59h653xik66srjb-python3-3.13.9\' ]; then\n export _PYTHON_HOST_PLATFORM=\'linux-x86_64\';\n export _PYTHON_SYSCONFIGDATA_NAME=\'_sysconfigdata__linux_x86_64-linux-gnu\';\n fi\n}\ntoPythonPath ()\n{\n \n local paths="$1";\n local result=;\n for i in $paths;\n do\n p="$i/lib/python3.13/site-packages";\n result="${result}${result:+:}$p";\n done;\n echo $result\n}\nunpackFile ()\n{\n \n curSrc="$1";\n echo "unpacking source archive $curSrc";\n if ! runOneHook unpackCmd "$curSrc"; then\n echo "do not know how to unpack source archive $curSrc";\n exit 1;\n fi\n}\nunpackPhase ()\n{\n \n runHook preUnpack;\n if [ -z "${srcs:-}" ]; then\n if [ -z "${src:-}" ]; then\n echo \'variable $src or $srcs should point to the source\';\n exit 1;\n fi;\n srcs="$src";\n fi;\n local -a srcsArray;\n concatTo srcsArray srcs;\n local dirsBefore="";\n for i in *;\n do\n if [ -d "$i" ]; then\n dirsBefore="$dirsBefore $i ";\n fi;\n done;\n for i in "${srcsArray[@]}";\n do\n unpackFile "$i";\n done;\n : "${sourceRoot=}";\n if [ -n "${setSourceRoot:-}" ]; then\n runOneHook setSourceRoot;\n else\n if [ -z "$sourceRoot" ]; then\n for i in *;\n do\n if [ -d "$i" ]; then\n case $dirsBefore in \n *\\ $i\\ *)\n\n ;;\n *)\n if [ -n "$sourceRoot" ]; then\n echo "unpacker produced multiple directories";\n exit 1;\n fi;\n sourceRoot="$i"\n ;;\n esac;\n fi;\n done;\n fi;\n fi;\n if [ -z "$sourceRoot" ]; then\n echo "unpacker appears to have produced no directories";\n exit 1;\n fi;\n echo "source root is $sourceRoot";\n if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then\n chmod -R u+w -- "$sourceRoot";\n fi;\n runHook postUnpack\n}\nupdateAutotoolsGnuConfigScriptsPhase ()\n{\n \n if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then\n return;\n fi;\n for script in config.sub config.guess;\n do\n for f in $(find . -type f -name "$script");\n do\n echo "Updating Autotools / GNU config script to a newer upstream version: $f";\n cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f";\n done;\n done\n}\nupdateSourceDateEpoch ()\n{\n \n local path="$1";\n [[ $path == -* ]] && path="./$path";\n 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));\n local time="${res[0]//\\.[0-9]*/}";\n local newestFile="${res[1]}";\n if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then\n echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile";\n export SOURCE_DATE_EPOCH="$time";\n local now="$(date +%s)";\n if [ "$time" -gt $((now - 60)) ]; then\n echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic";\n fi;\n fi\n}\nPATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}"\nXDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}"\nexport NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"\nexport TMP="$NIX_BUILD_TOP"\nexport TMPDIR="$NIX_BUILD_TOP"\nexport TEMP="$NIX_BUILD_TOP"\nexport TEMPDIR="$NIX_BUILD_TOP"\neval "${shellHook:-}"' | |
| ./.envrc: eval:65: syntax error near unexpected token `(' | |
| ./.envrc: eval:65: `Checking secrets in dr-ctf using onepassword (profile: development)...' | |
| ++ [[ -n '' ]] | |
| ++ _nix_export_or_unset NIX_BUILD_TOP __UNSET__ | |
| ++ local key=NIX_BUILD_TOP value=__UNSET__ | |
| ++ [[ __UNSET__ == __UNSET__ ]] | |
| ++ unset NIX_BUILD_TOP | |
| ++ _nix_export_or_unset TMP __UNSET__ | |
| ++ local key=TMP value=__UNSET__ | |
| ++ [[ __UNSET__ == __UNSET__ ]] | |
| ++ unset TMP | |
| ++ _nix_export_or_unset TMPDIR __UNSET__ | |
| ++ local key=TMPDIR value=__UNSET__ | |
| ++ [[ __UNSET__ == __UNSET__ ]] | |
| ++ unset TMPDIR | |
| ++ _nix_export_or_unset TEMP __UNSET__ | |
| ++ local key=TEMP value=__UNSET__ | |
| ++ [[ __UNSET__ == __UNSET__ ]] | |
| ++ unset TEMP | |
| ++ _nix_export_or_unset TEMPDIR __UNSET__ | |
| ++ local key=TEMPDIR value=__UNSET__ | |
| ++ [[ __UNSET__ == __UNSET__ ]] | |
| ++ unset TEMPDIR | |
| ++ local new_xdg_data_dirs=/usr/share/gnome:/usr/share/cinnamon:/usr/share/gnome:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share | |
| ++ export XDG_DATA_DIRS= | |
| ++ XDG_DATA_DIRS= | |
| ++ local IFS=: | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/share/gnome | |
| ++ [[ :: = *:/usr/share/gnome:* ]] | |
| ++ XDG_DATA_DIRS=/usr/share/gnome | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/share/cinnamon | |
| ++ [[ :/usr/share/gnome: = *:/usr/share/cinnamon:* ]] | |
| ++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/share/gnome | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon: = *:/usr/share/gnome:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/home/ender/.local/share/flatpak/exports/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon: = *:/home/ender/.local/share/flatpak/exports/share:* ]] | |
| ++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/var/lib/flatpak/exports/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share: = *:/var/lib/flatpak/exports/share:* ]] | |
| ++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/local/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share: = *:/usr/local/share:* ]] | |
| ++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share: = *:/usr/share:* ]] | |
| ++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/home/ender/.nix-profile/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share: = *:/home/ender/.nix-profile/share:* ]] | |
| ++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/nix/var/nix/profiles/default/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share: = *:/nix/var/nix/profiles/default/share:* ]] | |
| ++ XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/home/ender/.nix-profile/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/home/ender/.nix-profile/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/nix/var/nix/profiles/default/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/nix/var/nix/profiles/default/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/share/gnome | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/share/gnome:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/share/cinnamon | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/share/cinnamon:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/share/gnome | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/share/gnome:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/home/ender/.local/share/flatpak/exports/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/home/ender/.local/share/flatpak/exports/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/var/lib/flatpak/exports/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/var/lib/flatpak/exports/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/local/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/local/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/usr/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/usr/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/home/ender/.nix-profile/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/home/ender/.nix-profile/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/nix/var/nix/profiles/default/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/nix/var/nix/profiles/default/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/home/ender/.nix-profile/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/home/ender/.nix-profile/share:* ]] | |
| ++ continue | |
| ++ for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs | |
| ++ dir=/nix/var/nix/profiles/default/share | |
| ++ [[ :/usr/share/gnome:/usr/share/cinnamon:/home/ender/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/home/ender/.nix-profile/share:/nix/var/nix/profiles/default/share: = *:/nix/var/nix/profiles/default/share:* ]] | |
| ++ continue |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Checking secrets in dr-ctf using onepassword (profile: development)... | |
| ✓ POSTGRES_USER - Database user | |
| ✓ POSTGRES_PASSWORD - Database password | |
| ✓ POSTGRES_URL - Database connection string | |
| ✓ defaults - No description | |
| Summary: 4 found, 0 missing | |
| direnv: ([/nix/store/wpj4la1jgf0p8aimfzx49gfr3228vk8f-direnv-2.37.1/bin/direnv export zsh]) is taking a while to execute. Use CTRL-C to give up. | |
| • Using Cachix caches: devenv, rbabaev | |
| ✓ Building shell in 17.6s | |
| ./.envrc: eval:65: syntax error near unexpected token `(' | |
| ./.envrc: eval:65: `Checking secrets in dr-ctf using onepassword (profile: development)...' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [project] | |
| name = "dr-ctf" | |
| revision = "1.0" | |
| # Extend configurations from subdirectories | |
| # extends = [ "subdir1", "subdir2" ] | |
| [profiles.default] | |
| POSTGRES_USER = { description = "Database user", required = true } | |
| POSTGRES_PASSWORD = { description = "Database password", required = true } | |
| POSTGRES_URL = { description = "Database connection string", required = true } | |
| [profiles.development] | |
| # Development profile inherits all secrets from default profile | |
| # Only define secrets here that need different values or settings than default | |
| # DATABASE_URL = { default = "sqlite:///dev.db" } | |
| # | |
| # New secrets | |
| # REDIS_URL = { description = "Redis connection URL for caching", required = false, default = "redis://localhost:6379" } | |
| [profiles.development.defaults] | |
| providers = ["drctf_dev", "drctf_shared", "keyring"] | |
| [profiles.production] | |
| [profiles.production.defaults] | |
| providers = ["drctf_prod", "drctf_shared", "keyring"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment