59 lines
1.6 KiB
Nix
59 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
autoreconfHook,
|
|
subversion,
|
|
fuse,
|
|
apr,
|
|
perl,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "svnfs";
|
|
version = "0.4";
|
|
|
|
src = fetchurl {
|
|
url = "http://www.jmadden.eu/wp-content/uploads/svnfs/svnfs-${version}.tgz";
|
|
sha256 = "1lrzjr0812lrnkkwk60bws9k1hq2iibphm0nhqyv26axdsygkfky";
|
|
};
|
|
|
|
nativeBuildInputs = [ autoreconfHook ];
|
|
buildInputs = [
|
|
subversion
|
|
fuse
|
|
apr
|
|
perl
|
|
];
|
|
|
|
# autoconf's AC_CHECK_HEADERS and AC_CHECK_LIBS fail to detect libfuse on
|
|
# Darwin if FUSE_USE_VERSION isn't set at configure time.
|
|
#
|
|
# NOTE: Make sure the value of FUSE_USE_VERSION specified here matches the
|
|
# actual version used in the source code:
|
|
#
|
|
# $ tar xf "$(nix-build -A svnfs.src)"
|
|
# $ grep -R FUSE_USE_VERSION
|
|
configureFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "CFLAGS=-DFUSE_USE_VERSION=25" ];
|
|
|
|
# why is this required?
|
|
preConfigure = ''
|
|
export LD_LIBRARY_PATH=${subversion.out}/lib
|
|
'';
|
|
|
|
# -fcommon: workaround build failure on -fno-common toolchains like upstream
|
|
# gcc-10. Otherwise build fails as:
|
|
# ld: svnclient.o:/build/svnfs-0.4/src/svnfs.h:40: multiple definition of
|
|
# `dirbuf'; svnfs.o:/build/svnfs-0.4/src/svnfs.h:40: first defined here
|
|
env.NIX_CFLAGS_COMPILE = "-I ${subversion.dev}/include/subversion-1 -fcommon";
|
|
NIX_LDFLAGS = "-lsvn_client-1 -lsvn_subr-1";
|
|
|
|
meta = {
|
|
description = "FUSE filesystem for accessing Subversion repositories";
|
|
homepage = "https://www.jmadden.eu/index.php/svnfs/";
|
|
license = lib.licenses.gpl2Only;
|
|
maintainers = [ lib.maintainers.marcweber ];
|
|
platforms = lib.platforms.unix;
|
|
mainProgram = "svnfs";
|
|
};
|
|
}
|