Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
65 lines
1.5 KiB
Nix
65 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
autoreconfHook,
|
|
libuuid,
|
|
libselinux,
|
|
e2fsprogs,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "nilfs-utils";
|
|
version = "2.2.12";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "nilfs-dev";
|
|
repo = "nilfs-utils";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-9IUuam5g24+eywEeNZET8TAvKJVevJBwHTHSwN9Tz58=";
|
|
};
|
|
|
|
nativeBuildInputs = [ autoreconfHook ];
|
|
|
|
buildInputs = [
|
|
libuuid
|
|
libselinux
|
|
];
|
|
|
|
postPatch = ''
|
|
# Fix up hardcoded paths.
|
|
substituteInPlace lib/cleaner_exec.c --replace /sbin/ $out/bin/
|
|
substituteInPlace sbin/mkfs/mkfs.c --replace /sbin/ ${lib.getBin e2fsprogs}/bin/
|
|
'';
|
|
|
|
# According to upstream, libmount should be detected automatically but the
|
|
# build system fails to do this. This is likely a bug with their build system
|
|
# hence it is explicitly enabled here.
|
|
configureFlags = [ "--with-libmount" ];
|
|
|
|
installFlags = [
|
|
"sysconfdir=${placeholder "out"}/etc"
|
|
"root_sbindir=${placeholder "out"}/sbin"
|
|
];
|
|
|
|
# FIXME: https://github.com/NixOS/patchelf/pull/98 is in, but stdenv
|
|
# still doesn't use it
|
|
#
|
|
# To make sure patchelf doesn't mistakenly keep the reference via
|
|
# build directory
|
|
postInstall = ''
|
|
find . -name .libs -exec rm -rf -- {} +
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "NILFS utilities";
|
|
maintainers = [ maintainers.raskin ];
|
|
platforms = platforms.linux;
|
|
license = with licenses; [
|
|
gpl2Plus
|
|
lgpl21
|
|
];
|
|
downloadPage = "http://nilfs.sourceforge.net/en/download.html";
|
|
};
|
|
}
|