about summary refs log tree commit diff
path: root/pkgs/tools/networking/mosh
diff options
context:
space:
mode:
authorEmily <vcs@emily.moe>2021-09-13 04:28:22 +0100
committerEmily <vcs@emily.moe>2021-09-13 05:41:45 +0100
commit0ce7438bd6ffa161bccb10fe693b86a18a579a85 (patch)
tree6b6fc6dc09709ac014878258d162ed39801f943d /pkgs/tools/networking/mosh
parenta48dff941256205c5667d7c9f80a7aee7a221174 (diff)
mosh: fix on aarch64-darwin
The build failure here is not due to Apple Silicon per se but instead
an artifact of the aarch64-darwin toolchain using a newer version of the
Xcode SDK as a basis. This causes issues building on case-insensitive
filesystems due to the collision between the standard <version> header
and a mosh source file called VERSION.

Fix with a MacPorts backport of an upstream mosh commit, via Homebrew.
Diffstat (limited to 'pkgs/tools/networking/mosh')
-rw-r--r--pkgs/tools/networking/mosh/default.nix8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index 92c241967ae0b..00746a7afbd26 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -31,6 +31,14 @@ stdenv.mkDerivation rec {
     ./bash_completion_datadir.patch
   ];
   postPatch = ''
+    # Fix build with Xcode 12.5 toolchain/case-insensitive filesystems
+    # Backport of https://github.com/mobile-shell/mosh/commit/12199114fe4234f791ef4c306163901643b40538;
+    # remove on next upstream release.
+    patch -p0 < ${fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/70ca3f65e622c17582fd938602d800157ed951c3/net/mosh/files/patch-version-subdir.diff";
+      sha256 = "1yyh6d07y9zbdx4fb0r56zkq9nd9knwzj22v4dfi55k4k42qxapd";
+    }}
+
     substituteInPlace scripts/mosh.pl \
         --subst-var-by ssh "${openssh}/bin/ssh"
     substituteInPlace scripts/mosh.pl \