diff options
Diffstat (limited to 'pkgs/applications/version-management/git-and-tools/git/default.nix')
-rw-r--r-- | pkgs/applications/version-management/git-and-tools/git/default.nix | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 5ccd5c9c59ea..02df27e745f4 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -95,7 +95,15 @@ stdenv.mkDerivation { ++ stdenv.lib.optionals stdenv.isSunOS ["INSTALL=install" "NO_INET_NTOP=" "NO_INET_PTON="] ++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc"]) ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"] - ++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1"; + ++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1" + # git-gui refuses to start with the version of tk distributed with + # macOS Catalina. We can prevent git from building the .app bundle + # by specifying an invalid tk framework. The postInstall step will + # then ensure that git-gui uses tcl/tk from nixpkgs, which is an + # acceptable version. + # + # See https://github.com/Homebrew/homebrew-core/commit/dfa3ccf1e7d3901e371b5140b935839ba9d8b706 + ++ stdenv.lib.optional stdenv.isDarwin "TKFRAMEWORK=/nonexistent"; postBuild = '' @@ -232,7 +240,6 @@ stdenv.mkDerivation { for prog in bin/gitk libexec/git-core/{git-gui,git-citool,git-gui--askpass}; do sed -i -e "s|exec 'wish'|exec '${tk}/bin/wish'|g" \ -e "s|exec wish|exec '${tk}/bin/wish'|g" \ - -e "s|exec \"[^\"]*/MacOS/Wish\"|exec '${tk}/bin/wish'|g" \ "$out/$prog" done ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/gitk |