Unverified Commit 34411192 authored by Adam C. Stephens's avatar Adam C. Stephens Committed by GitHub
Browse files

fish: add patch to fix `$PATH` for nix-darwin (#352666)

parents 3f9134ff c406d3b6
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -148,6 +148,20 @@ let
      hash = "sha256-YUyfVkPNB5nfOROV+mu8NklCe7g5cizjsRTTu8GjslA=";
    };

    patches = [
      # We don’t want to run `/usr/libexec/path_helper` on nix-darwin,
      # as it pulls in paths not tracked in the system configuration
      # and messes up the order of `$PATH`. Upstream are unfortunately
      # unwilling to accept a change for this and have recommended that
      # it should be a distro‐specific patch instead.
      #
      # See:
      #
      # * <https://github.com/LnL7/nix-darwin/issues/122>
      # * <https://github.com/fish-shell/fish-shell/issues/7142>
      ./nix-darwin-path.patch
    ];

    # Fix FHS paths in tests
    postPatch = ''
      # src/fish_tests.cpp
+12 −0
Original line number Diff line number Diff line
diff --git a/share/config.fish b/share/config.fish
index d85fd1e185..c564e45b27 100644
--- a/share/config.fish
+++ b/share/config.fish
@@ -158,6 +158,7 @@
 #
 if status --is-login
     if command -sq /usr/libexec/path_helper
+        and not set -q __NIX_DARWIN_SET_ENVIRONMENT_DONE
         # Adapt construct_path from the macOS /usr/libexec/path_helper
         # executable for fish; see
         # https://opensource.apple.com/source/shell_cmds/shell_cmds-203/path_helper/path_helper.c.auto.html .