nixpkgs/pkgs/tools/filesystems/9pfs/default.nix
Sergei Trofimovich 72ffe3a604 _9pfs: add -fcommon workaround
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
2022-05-14 12:51:01 +01:00

42 lines
1.3 KiB
Nix

{ 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 ];
};
}