nixpkgs/pkgs/tools/filesystems/xfsprogs/default.nix
2020-04-10 17:54:53 +01:00

65 lines
1.8 KiB
Nix

{ stdenv, buildPackages, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, pkgconfig
, icu, libuuid, readline
}:
let
gentooPatch = name: sha256: fetchpatch {
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=2517dd766cf84d251631f4324f7ec4bce912abb9";
inherit sha256;
};
in
stdenv.mkDerivation rec {
pname = "xfsprogs";
version = "4.19.0";
src = fetchgit {
url = "https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git";
rev = "v${version}";
sha256 = "18728hzfxr1bg4bdzqlxjs893ac1zwlfr7nmc2q4a1sxs0sphd1d";
};
outputs = [ "bin" "dev" "out" "doc" ];
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [
autoconf automake libtool gettext pkgconfig
libuuid # codegen tool uses libuuid
];
buildInputs = [ readline icu ];
propagatedBuildInputs = [ libuuid ]; # Dev headers include <uuid/uuid.h>
enableParallelBuilding = true;
# Why is all this garbage needed? Why? Why?
patches = [
(gentooPatch "xfsprogs-4.15.0-sharedlibs.patch" "0bv2naxpiw7vcsg8p1v2i47wgfda91z1xy1kfwydbp4wmb4nbyyv")
(gentooPatch "xfsprogs-4.15.0-docdir.patch" "1srgdidvq2ka0rmfdwpqp92fapgh53w1h7rajm4nnby5vp2v8dfr")
(gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7")
];
preConfigure = ''
sed -i Makefile -e '/cp include.install-sh/d'
make configure
'';
configureFlags = [
"--disable-lib64"
"--enable-readline"
];
installFlags = [ "install-dev" ];
# FIXME: forbidden rpath
postInstall = ''
find . -type d -name .libs | xargs rm -rf
'';
meta = with stdenv.lib; {
homepage = "http://xfs.org/";
description = "SGI XFS utilities";
license = licenses.lgpl21;
platforms = platforms.linux;
maintainers = with maintainers; [ dezgeg ];
};
}