summary refs log tree commit diff
path: root/pkgs/tools/filesystems/9pfs/default.nix
blob: d9c609d7c0a9e477b19a0b93592f82fd5be59e89 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{ lib, stdenv, fetchFromGitHub, fuse }:

stdenv.mkDerivation {
  pname = "9pfs";
  version = "unstable-2015-09-18";

  src = fetchFromGitHub {
    owner = "mischief";
    repo = "9pfs";
    rev = "7f4ca4cd750d650c1215b92ac3cc2a28041960e4";
    sha256 = "007s2idsn6bspmfxv1qabj39ggkgvn6gwdbhczwn04lb4c6gh3xc";
  };

  # Upstream development has stopped and is no longer accepting patches
  # https://github.com/mischief/9pfs/pull/3
  patches = [ ./fix-darwin-build.patch ];

  preConfigure =
    ''
      substituteInPlace Makefile --replace '-g bin' ""
      installFlagsArray+=(BIN=$out/bin MAN=$out/share/man/man1)
      mkdir -p $out/bin $out/share/man/man1
    '';

  buildInputs = [ fuse ];

  # Workaround build failure on -fno-common toolchains like upstream
  # gcc-10. Otherwise build fails as:
  #   ld: lib/auth_rpc.o:/build/source/lib/../9pfs.h:35: multiple definition of
  #     `logfile'; 9pfs.o:/build/source/9pfs.h:35: first defined here
  NIX_CFLAGS_COMPILE = "-fcommon";

  enableParallelBuilding = true;

  meta = {
    homepage = "https://github.com/mischief/9pfs";
    description = "FUSE-based client of the 9P network filesystem protocol";
    maintainers = [ lib.maintainers.eelco ];
    platforms = lib.platforms.unix;
    license = with lib.licenses; [ lpl-102 bsd2 ];
  };
}