diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix index d38e26edec6e..2894ddf28ddc 100644 --- a/pkgs/tools/filesystems/xfsprogs/default.nix +++ b/pkgs/tools/filesystems/xfsprogs/default.nix @@ -1,36 +1,35 @@ -{ stdenv, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, readline, utillinux }: +{ stdenv, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, readline, utillinux, pkgconfig, icu }: let gentooPatch = name: sha256: fetchpatch { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=f4055adc94e11d182033a71e32f97b357c034aff"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=2517dd766cf84d251631f4324f7ec4bce912abb9"; inherit sha256; }; in stdenv.mkDerivation rec { name = "xfsprogs-${version}"; - version = "4.14.0"; + version = "4.19.0"; src = fetchgit { url = "https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git"; rev = "v${version}"; - sha256 = "19mg3avm188xz215hqbbh7251q27qwm7g1xr8ffrjwvzmdq55rxj"; + sha256 = "18728hzfxr1bg4bdzqlxjs893ac1zwlfr7nmc2q4a1sxs0sphd1d"; }; outputs = [ "bin" "dev" "out" "doc" ]; - nativeBuildInputs = [ autoconf automake libtool gettext ]; + nativeBuildInputs = [ autoconf automake libtool gettext pkgconfig ]; propagatedBuildInputs = [ utillinux ]; # Dev headers include - buildInputs = [ readline ]; + buildInputs = [ readline icu ]; enableParallelBuilding = true; # Why is all this garbage needed? Why? Why? patches = [ - (gentooPatch "xfsprogs-4.12.0-sharedlibs.patch" "1i081749x91jvlrw84l4a3r081vqcvn6myqhnqbnfcfhd64h12bq") - (gentooPatch "xfsprogs-4.7.0-libxcmd-link.patch" "1lvy1ajzml39a631a7jqficnzsd40bzkca7hkxv1ybiqyp8sf55s") + (gentooPatch "xfsprogs-4.15.0-sharedlibs.patch" "0bv2naxpiw7vcsg8p1v2i47wgfda91z1xy1kfwydbp4wmb4nbyyv") + (gentooPatch "xfsprogs-4.15.0-docdir.patch" "1srgdidvq2ka0rmfdwpqp92fapgh53w1h7rajm4nnby5vp2v8dfr") (gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7") - ./glibc-2.27.patch ]; preConfigure = '' diff --git a/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch b/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch deleted file mode 100644 index 1f398b1daa85..000000000000 --- a/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 8041435de7ed028a27ecca64302945ad455c69a6 Mon Sep 17 00:00:00 2001 -From: "Darrick J. Wong" -Date: Mon, 5 Feb 2018 14:38:02 -0600 -Subject: xfs_io: fix copy_file_range symbol name collision - -glibc 2.27 has a copy_file_range wrapper, so we need to change our -internal function out of the way to avoid compiler warnings. - -Reported-by: fredrik@crux.nu -Signed-off-by: Darrick J. Wong -Reviewed-by: Eric Sandeen -Signed-off-by: Eric Sandeen ---- - io/copy_file_range.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/io/copy_file_range.c b/io/copy_file_range.c -index d1dfc5a..99fba20 100644 ---- a/io/copy_file_range.c -+++ b/io/copy_file_range.c -@@ -42,13 +42,18 @@ copy_range_help(void) - ")); - } - -+/* -+ * Issue a raw copy_file_range syscall; for our test program we don't want the -+ * glibc buffered copy fallback. -+ */ - static loff_t --copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len) -+copy_file_range_cmd(int fd, loff_t *src, loff_t *dst, size_t len) - { - loff_t ret; - - do { -- ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, len, 0); -+ ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, -+ len, 0); - if (ret == -1) { - perror("copy_range"); - return errno; -@@ -130,7 +135,7 @@ copy_range_f(int argc, char **argv) - copy_dst_truncate(); - } - -- ret = copy_file_range(fd, &src, &dst, len); -+ ret = copy_file_range_cmd(fd, &src, &dst, len); - close(fd); - return ret; - } --- -cgit v1.1 -