Nixpkgs version
Describe the bug
The build for direnv on darwin recently started to fail due to the test-fish unit test:
Running phase: checkPhase
@nix { "action": "setPhase", "phase": "checkPhase" }
go test -v ./...
? github.com/direnv/direnv/v2 [no test files]
? github.com/direnv/direnv/v2/gzenv [no test files]
=== RUN TestVersionDotTxt
--- PASS: TestVersionDotTxt (0.00s)
=== RUN TestEnvDiff
--- PASS: TestEnvDiff (0.00s)
=== RUN TestEnvDiffEmptyValue
--- PASS: TestEnvDiffEmptyValue (0.00s)
...skipping...
direnv: unloading
## Testing symlink-dir ##
## Testing utf-8 ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/utf-8/.envrc
direnv: export +UTFSTUFF
direnv: unloading
## Testing failure ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/failure/.envrc
direnv: error exit status 5
direnv: unloading
## Testing watch-dir ##
No watches by default
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/watch-dir/.envrc
After eval, watches have changed
direnv: unloading
## Testing load-envrc-before-env ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/load-envrc-before-env/.envrc
direnv: export +HELLO
direnv: unloading
## Testing load-env ##
direnv: export +HELLO
direnv: unloading
## Testing skip-env ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/.envrc
direnv: unloading
## Testing aliases ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/aliases/.envrc
direnv: export +HELLO
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/aliases/.envrc
direnv: export +HELLO
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/aliases/.envrc
direnv: export +HELLO
direnv: unloading
## Testing $test ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/$test/.envrc
direnv: export ~FOO
direnv: unloading
## Testing special-characters/backspace/return ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/special-characters/backspace/return/.envrc
direnv: export +HI
direnv: unloading
fish ./test/direnv-test.fish
make: *** [GNUmakefile:150: test-fish] Killed: 9
I was able to bisect this to git commit 32e655f.
Steps to reproduce
in a nixpkgs git clone:
$ git checkout 6a37d79277569f03b0bb684b4297de0ca82db16a # commit from release-25.11
$ nix-build . -A direnv
Expected behaviour
build shall pass
Screenshots
No response
Relevant log output
bisection:
$ git bisect log
git bisect start
# Status: warte auf guten und schlechten Commit
# bad: [6a37d79277569f03b0bb684b4297de0ca82db16a] [Backport release-25.11] bird3: 3.2.0 -> 3.2.1 (#507110)
git bisect bad 6a37d79277569f03b0bb684b4297de0ca82db16a
# Status: warte auf gute(n) Commit(s), schlechter Commit bekannt
# good: [bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e] [Backport release-25.11] google-chrome: 146.0.7680.164 -> 146.0.7680.177 (#505492)
git bisect good bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e
# bad: [23c1d8958a49f484fc7f3d5978b676426282aced] Merge release-25.11 into staging-next-25.11
git bisect bad 23c1d8958a49f484fc7f3d5978b676426282aced
# good: [aeae1930cc034f96b1df75694638647d49ea9b5e] [Backport staging-25.11] inetutils: apply patches for CVE-2026-32746 and CVE-2026-28372 (#501896)
git bisect good aeae1930cc034f96b1df75694638647d49ea9b5e
# good: [e6505dfb286ba3c2fd9226397c029f589e3ea713] [Backport release-25.11] siyuan: 3.6.1 -> 3.6.2 (#505931)
git bisect good e6505dfb286ba3c2fd9226397c029f589e3ea713
# bad: [f24691033fb52e93bba3057c09570b5c7e492973] Merge release-25.11 into staging-next-25.11
git bisect bad f24691033fb52e93bba3057c09570b5c7e492973
# bad: [95bd4283d7e0e254080d4ac5b36dd2a235ee1751] [staging-next-25.11 backport] nodejs_22: 22.22.1 -> 22.22.2 (#503177)
git bisect bad 95bd4283d7e0e254080d4ac5b36dd2a235ee1751
# bad: [668a4ec8bc060938f7cf0e19414cf15c974f4567] Merge branch 'staging-25.11' into staging-next-25.11
git bisect bad 668a4ec8bc060938f7cf0e19414cf15c974f4567
# bad: [32e655fe5c81a476c2c2d6fca6b41284f1d5196e] [Backport staging-25.11] libarchive: 3.8.4 -> 3.8.6 (#501903)
git bisect bad 32e655fe5c81a476c2c2d6fca6b41284f1d5196e
# good: [4e5defa1182116e76b94b76a2c5f7f6a39cc2fd9] libarchive: 3.8.4 -> 3.8.6
git bisect good 4e5defa1182116e76b94b76a2c5f7f6a39cc2fd9
# first bad commit: [32e655fe5c81a476c2c2d6fca6b41284f1d5196e] [Backport staging-25.11] libarchive: 3.8.4 -> 3.8.6 (#501903)
build log:
$ nix log /nix/store/yqx9bl0yanbwyq6xbs0yfri8zkirm2l1-direnv-2.37.1.drv | cat
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/p8ywg6cpcln89lfcd8msn7sqvsajzy60-source
source root is source
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: configurePhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: buildPhase
@nix { "action": "setPhase", "phase": "buildPhase" }
go build -ldflags '-X main.bashPath=/nix/store/iqyw7p8wq3pr9svqw10rnk0acg1ns0hf-bash-interactive-5.3p3/bin/bash' -o direnv
Running phase: checkPhase
@nix { "action": "setPhase", "phase": "checkPhase" }
go test -v ./...
? github.com/direnv/direnv/v2 [no test files]
? github.com/direnv/direnv/v2/gzenv [no test files]
=== RUN TestVersionDotTxt
--- PASS: TestVersionDotTxt (0.00s)
=== RUN TestEnvDiff
--- PASS: TestEnvDiff (0.00s)
=== RUN TestEnvDiffEmptyValue
--- PASS: TestEnvDiffEmptyValue (0.00s)
=== RUN TestIgnoredEnv
--- PASS: TestIgnoredEnv (0.00s)
=== RUN TestEnv
--- PASS: TestEnv (0.00s)
=== RUN TestUpdate
--- PASS: TestUpdate (0.00s)
=== RUN TestFTJsons
--- PASS: TestFTJsons (0.00s)
=== RUN TestRoundTrip
--- PASS: TestRoundTrip (0.00s)
=== RUN TestCanonicalAdds
--- PASS: TestCanonicalAdds (0.00s)
=== RUN TestCheckPasses
--- PASS: TestCheckPasses (0.00s)
=== RUN TestCheckStale
--- PASS: TestCheckStale (0.00s)
=== RUN TestCheckAppeared
--- PASS: TestCheckAppeared (0.00s)
=== RUN TestCheckGone
--- PASS: TestCheckGone (0.00s)
=== RUN TestSomething
--- PASS: TestSomething (0.00s)
=== RUN TestCutEncapsulated_ok
--- PASS: TestCutEncapsulated_ok (0.00s)
=== RUN TestExport_ok
--- PASS: TestExport_ok (0.00s)
=== RUN TestBashEscape
--- PASS: TestBashEscape (0.00s)
=== RUN TestShellDetection
--- PASS: TestShellDetection (0.00s)
PASS
ok github.com/direnv/direnv/v2/internal/cmd 0.906s
=== RUN TestDotEnvExported
--- PASS: TestDotEnvExported (0.00s)
=== RUN TestDotEnvPlain
--- PASS: TestDotEnvPlain (0.00s)
=== RUN TestSoloEmpty
--- PASS: TestSoloEmpty (0.00s)
=== RUN TestDotEnvQuoted
--- PASS: TestDotEnvQuoted (0.00s)
=== RUN TestDotEnvYAML
--- PASS: TestDotEnvYAML (0.00s)
=== RUN TestFailingMustParse
--- PASS: TestFailingMustParse (0.00s)
=== RUN TestCommentOverride
--- PASS: TestCommentOverride (0.00s)
=== RUN TestVariableExpansion
--- PASS: TestVariableExpansion (0.00s)
=== RUN TestVariableExpansionWithDefaults
--- PASS: TestVariableExpansionWithDefaults (0.00s)
PASS
ok github.com/direnv/direnv/v2/pkg/dotenv 0.440s
=== RUN TestWriter
--- PASS: TestWriter (0.00s)
=== RUN TestParser
--- PASS: TestParser (0.00s)
PASS
ok github.com/direnv/direnv/v2/pkg/sri 0.599s
? github.com/direnv/direnv/v2/xdg [no test files]
bash ./test/direnv-test.bash
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/.envrc
## Testing base ##
Setting up
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/base/.envrc
direnv: export +HELLO
Reloading (should be no-op)
Updating envrc and reloading (should reload)
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/base/.envrc
direnv: export +HELLO
Leaving dir (should clear env set by dir's envrc)
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/.envrc
direnv: unloading
## Testing inherit ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/inherit/.envrc
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/inherited/.envrc
world
direnv: export +HELLO
HELLO should be world: world
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/inherit/.envrc
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/inherited/.envrc
goodbye
direnv: export +HELLO
direnv: unloading
## Testing space dir ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/space dir/.envrc
direnv: export +SPACE_DIR ~PATH
direnv: unloading
## Testing child-env ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/child-env/.envrc
direnv: export +CHILD +PARENT_POST +PARENT_PRE
direnv: unloading
## Testing special-vars ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/special-vars/.envrc
direnv: unloading
## Testing dump ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/dump/.envrc
to stdout
to stderr
direnv: direnv_load would previously hang if DIRENV_DUMP_FILE_PATH was not opened.
direnv: Expect the following to emit an error (which we suppress).
direnv: As long as it doesn't hang, we're okay.
direnv: Environment not dumped; did you invoke 'direnv dump'?
direnv: export +LESSOPEN +LS_COLORS +THREE_BACKSLASHES +__CF_USER_TEXT_ENCODING
direnv: unloading
## Testing empty-var ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/empty-var/.envrc
direnv: export +FOO
direnv: unloading
## Testing empty-var-unset ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/empty-var-unset/.envrc
direnv: export -FOO
direnv: unloading
## Testing in-envrc ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/.envrc
direnv: unloading
## Testing missing-file-source-env ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/missing-file-source-env/.envrc
direnv: referenced /nix/var/nix/builds/nix-99608-2006707585/10863.JFZPZIk9/.envrc does not exist
direnv: unloading
## Testing symlink-changed ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/symlink-changed/.envrc
direnv: export +STATE
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/symlink-changed/.envrc
direnv: export +STATE
direnv: unloading
## Testing symlink-dir ##
## Testing utf-8 ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/utf-8/.envrc
direnv: export +UTFSTUFF
direnv: unloading
## Testing failure ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/failure/.envrc
direnv: error exit status 5
direnv: unloading
## Testing watch-dir ##
No watches by default
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/watch-dir/.envrc
After eval, watches have changed
direnv: unloading
## Testing load-envrc-before-env ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/load-envrc-before-env/.envrc
direnv: export +HELLO
direnv: unloading
## Testing load-env ##
direnv: export +HELLO
direnv: unloading
## Testing skip-env ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/.envrc
direnv: unloading
## Testing aliases ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/aliases/.envrc
direnv: export +HELLO
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/aliases/.envrc
direnv: export +HELLO
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/aliases/.envrc
direnv: export +HELLO
direnv: unloading
## Testing $test ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/$test/.envrc
direnv: export ~FOO
direnv: unloading
## Testing special-characters/backspace/return ##
direnv: loading /nix/var/nix/builds/nix-99608-2006707585/source/test/scenarios/special-characters/backspace/return/.envrc
direnv: export +HI
direnv: unloading
fish ./test/direnv-test.fish
make: *** [GNUmakefile:150: test-fish] Killed: 9
Additional context
No response
System metadata
- system:
"aarch64-darwin"
- host os:
Darwin 25.4.0, macOS 26.4
- multi-user?:
yes
- sandbox:
no
- version:
nix-env (Nix) 2.31.2+1
- nixpkgs:
/nix/store/03d4shy8nbqgsrq7q3amqgc461lvds92-source
Are you using nix-darwin?
Yes, I am using nix-darwin.
Notify maintainers
@zimbatm
@jcumming (for the libarchive bisection result)
Note for maintainers: Please tag this issue in your pull request description. (i.e. Resolves #ISSUE.)
I assert that this issue is relevant for Nixpkgs
Is this issue important to you?
Add a 👍 reaction to issues you find important.
Nixpkgs version
Describe the bug
The build for direnv on darwin recently started to fail due to the test-fish unit test:
I was able to bisect this to git commit 32e655f.
Steps to reproduce
in a nixpkgs git clone:
Expected behaviour
build shall pass
Screenshots
No response
Relevant log output
Additional context
No response
System metadata
"aarch64-darwin"Darwin 25.4.0, macOS 26.4yesnonix-env (Nix) 2.31.2+1/nix/store/03d4shy8nbqgsrq7q3amqgc461lvds92-sourceAre you using nix-darwin?
Yes, I am using nix-darwin.
Notify maintainers
@zimbatm
@jcumming (for the libarchive bisection result)
Note for maintainers: Please tag this issue in your pull request description. (i.e.
Resolves #ISSUE.)I assert that this issue is relevant for Nixpkgs
Is this issue important to you?
Add a 👍 reaction to issues you find important.