diff --git a/pkgs/by-name/tu/tup/fuse_fs.patch b/pkgs/by-name/tu/tup/fuse_fs.patch new file mode 100644 index 000000000000..c0191b4429a7 --- /dev/null +++ b/pkgs/by-name/tu/tup/fuse_fs.patch @@ -0,0 +1,13 @@ +diff --git a/src/tup/server/fuse_fs.c b/src/tup/server/fuse_fs.c +index cd121630..5adf6f5f 100644 +--- a/src/tup/server/fuse_fs.c ++++ b/src/tup/server/fuse_fs.c +@@ -1480,7 +1480,7 @@ static void *tup_fs_init(struct fuse_conn_info *conn, struct fuse_config *cfg) + static void *tup_fs_init(struct fuse_conn_info *conn) + #endif + { +- (void) conn; ++ conn->want = conn->want & ~FUSE_CAP_READDIRPLUS; + #ifdef FUSE3 + (void) cfg; + #endif diff --git a/pkgs/by-name/tu/tup/package.nix b/pkgs/by-name/tu/tup/package.nix index 88d66c069e4b..5d636c0b2db6 100644 --- a/pkgs/by-name/tu/tup/package.nix +++ b/pkgs/by-name/tu/tup/package.nix @@ -35,7 +35,10 @@ stdenv.mkDerivation rec { sqlite ]; - patches = [ ./fusermount-setuid.patch ]; + patches = [ + ./fusermount-setuid.patch + ./fuse_fs.patch + ]; configurePhase = '' substituteInPlace src/tup/link.sh --replace-fail '`git describe' '`echo ${version}' @@ -95,5 +98,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = with maintainers; [ ehmry ]; platforms = platforms.unix; + broken = stdenv.hostPlatform.isDarwin; }; }