depot/third_party/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix

68 lines
1.2 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
automake,
autoconf,
pkg-config,
gettext,
libtool,
pandoc,
which,
attr,
libiconv,
}:
stdenv.mkDerivation rec {
pname = "mergerfs";
version = "2.40.2";
src = fetchFromGitHub {
owner = "trapexit";
repo = pname;
rev = version;
sha256 = "sha256-3DfSGuTtM+h0IdtsIhLVXQxX5/Tj9G5Qcha3DWmyyq4=";
};
nativeBuildInputs = [
automake
autoconf
pkg-config
gettext
libtool
pandoc
which
];
prePatch = ''
sed -i -e '/chown/d' -e '/chmod/d' libfuse/Makefile
'';
buildInputs = [
attr
libiconv
];
preConfigure = ''
echo "${version}" > VERSION
'';
makeFlags = [
"DESTDIR=${placeholder "out"}"
"XATTR_AVAILABLE=1"
"PREFIX=/"
"SBINDIR=/bin"
];
enableParallelBuilding = true;
postFixup = ''
ln -srf $out/bin/mergerfs $out/bin/mount.fuse.mergerfs
ln -srf $out/bin/mergerfs $out/bin/mount.mergerfs
'';
meta = {
description = "FUSE based union filesystem";
homepage = "https://github.com/trapexit/mergerfs";
license = lib.licenses.isc;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ makefu ];
};
}