about summary refs log tree commit diff
path: root/pkgs/tools/filesystems/xfsprogs
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2017-07-20 11:54:25 +0300
committerTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2017-07-20 17:14:28 +0300
commit2712554f4f2d3629ea3ab3d8ec437936bb5515e0 (patch)
tree91cad8adffe68ae210e810cc115905019d5ce697 /pkgs/tools/filesystems/xfsprogs
parent563847275649c868c71d8df9103cc00b249fa422 (diff)
xfsprogs: 4.5.0 -> 4.11.0
Diffstat (limited to 'pkgs/tools/filesystems/xfsprogs')
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix59
1 files changed, 31 insertions, 28 deletions
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index ed41470f60017..eaea921c6f5c1 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,56 +1,59 @@
-{ stdenv, fetchurl, gettext, libuuid, readline }:
+{ stdenv, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, readline, utillinux }:
+
+let
+  gentooPatch = name: sha256: fetchpatch {
+    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=8293574ab30c85e2965fb2b7dd890b44841b8404";
+    inherit sha256;
+  };
+in
 
 stdenv.mkDerivation rec {
-  name = "xfsprogs-4.5.0";
+  name = "xfsprogs-${version}";
+  version = "4.11.0";
 
-  src = fetchurl {
-    urls = map (dir: "ftp://oss.sgi.com/projects/xfs/${dir}/${name}.tar.gz")
-      [ "cmd_tars" "previous" ];
-    sha256 = "1y49rwvbbvqdq2a1x7p5i05bcfyv6xhmrfwafl6vvvw494qyp6z4";
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0icliinacg6c3ziaqzyyxfz9jykn80njj9fdv3milhsf81yhnrpn";
   };
 
-  prePatch = ''
-    sed -i "s,/bin/bash,$(type -P bash),g" install-sh
-    sed -i "s,ldconfig,$(type -P ldconfig),g" configure m4/libtool.m4
+  outputs = [ "bin" "dev" "out" "doc" ];
 
-    # Fixes from gentoo 3.2.1 ebuild
-    sed -i "/^PKG_DOC_DIR/s:@pkg_name@:${name}:" include/builddefs.in
-    sed -i "/LLDFLAGS.*libtool-libs/d" $(find -name Makefile)
-    sed -i '/LIB_SUBDIRS/s:libdisk::' Makefile
-  '';
+  nativeBuildInputs = [ autoconf automake libtool gettext ];
+  propagatedBuildInputs = [ utillinux ]; # Dev headers include <uuid/uuid.h>
+  buildInputs = [ readline ];
+
+  enableParallelBuilding = true;
 
+  # Why is all this garbage needed? Why? Why?
   patches = [
-    # This patch fixes shared libs installation, still not fixed in 4.2.0
-    ./4.3.0-sharedlibs.patch
+    (gentooPatch "xfsprogs-4.7.0-sharedlibs.patch" "1s83ihaccmjrw4zm0nbdwqk3jx4wc1rijpsqrg7ir71ln7qknwzz")
+    (gentooPatch "xfsprogs-4.7.0-libxcmd-link.patch" "1lvy1ajzml39a631a7jqficnzsd40bzkca7hkxv1ybiqyp8sf55s")
+    (gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7")
   ];
 
-  propagatedBuildInputs = [ libuuid ];
-  buildInputs = [ gettext readline ];
-
-  outputs = [ "bin" "dev" "out" ]; # TODO: review xfs
-
   preConfigure = ''
-    NIX_LDFLAGS="$(echo $NIX_LDFLAGS | sed "s,$out,$lib,g")"
+    sed -i Makefile -e '/cp include.install-sh/d'
+    make configure
   '';
 
   configureFlags = [
-    "MAKE=make"
-    "MSGFMT=msgfmt"
-    "MSGMERGE=msgmerge"
-    "XGETTEXT=xgettext"
     "--disable-lib64"
     "--enable-readline"
   ];
 
   installFlags = [ "install-dev" ];
 
-  enableParallelBuilding = true;
+  # 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; [ wkennington ];
+    maintainers = with maintainers; [ dezgeg ];
   };
 }