Files
nixpkgs/pkgs/by-name/me/mergerfs/package.nix
2026-06-10 17:07:01 -05:00

77 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
automake,
autoconf,
pkg-config,
gettext,
libtool,
pandoc,
which,
attr,
libiconv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mergerfs";
version = "2.42.0";
src = fetchFromGitHub {
owner = "trapexit";
repo = "mergerfs";
rev = finalAttrs.version;
sha256 = "sha256-FTkJpZkrU9ALMnmeqh1w9r46x4Waq30lA8yAHg3Y54s=";
};
env.NIX_CFLAGS_COMPILE = toString [
"-Wno-error=unused-result"
"-Wno-error=maybe-uninitialized"
# NOTE: _FORTIFY_SOURCE requires compiling with optimization (-O)
"-O"
];
nativeBuildInputs = [
automake
autoconf
pkg-config
gettext
libtool
pandoc
which
];
buildInputs = [
attr
libiconv
];
preConfigure = ''
echo "${finalAttrs.version}" > VERSION
'';
makeFlags = [
"DESTDIR=${placeholder "out"}"
"XATTR_AVAILABLE=1"
"PREFIX=/"
"SBINDIR=/bin"
"CHMOD=true"
"CHOWN=true"
];
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 ];
};
})