diff options
Diffstat (limited to 'pkgs/tools/filesystems')
-rw-r--r-- | pkgs/tools/filesystems/btrfs-progs/default.nix | 17 | ||||
-rw-r--r-- | pkgs/tools/filesystems/e2fsprogs/default.nix | 6 | ||||
-rw-r--r-- | pkgs/tools/filesystems/nilfs-utils/default.nix | 14 | ||||
-rw-r--r-- | pkgs/tools/filesystems/xfsprogs/default.nix | 1 | ||||
-rw-r--r-- | pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch | 53 |
5 files changed, 83 insertions, 8 deletions
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix index 09f004f28440..e84260052a41 100644 --- a/pkgs/tools/filesystems/btrfs-progs/default.nix +++ b/pkgs/tools/filesystems/btrfs-progs/default.nix @@ -1,17 +1,24 @@ -{ stdenv, fetchurl, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo +{ stdenv, fetchurl, fetchpatch, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt, zstd }: -let version = "4.15.1"; in - stdenv.mkDerivation rec { name = "btrfs-progs-${version}"; + version = "4.15.1"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; sha256 = "15izak6jg6pqr6ha9447cdrdj9k6kfiarvwlrj53cpvrsv02l437"; }; + patches = [ + # Fix build with e2fsprogs 1.44.0 + (fetchpatch { + url = "https://patchwork.kernel.org/patch/10281327/raw/"; + sha256 = "016124hjms220809zjvvr7l1gq23j419d3piaijsaw8n7yd3kksf"; + }) + ]; + nativeBuildInputs = [ pkgconfig asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt ]; @@ -20,12 +27,14 @@ stdenv.mkDerivation rec { # gcc bug with -O1 on ARM with gcc 4.8 # This should be fine on all platforms so apply universally - patchPhase = "sed -i s/-O1/-O2/ configure"; + postPatch = "sed -i s/-O1/-O2/ configure"; postInstall = '' install -v -m 444 -D btrfs-completion $out/etc/bash_completion.d/btrfs ''; + configureFlags = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace"; + meta = with stdenv.lib; { description = "Utilities for the btrfs filesystem"; homepage = https://btrfs.wiki.kernel.org/; diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index 62eab06c387c..1c8835a2ed4c 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -1,18 +1,18 @@ { stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo }: stdenv.mkDerivation rec { - name = "e2fsprogs-1.43.9"; + name = "e2fsprogs-1.44.1"; src = fetchurl { url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; - sha256 = "15rqvkzylqqckshfy7vmk15k7wds2rh3k1pwrkrs684p3g0gzq2v"; + sha256 = "1rn1nvp8kcvjmbh2bxrjfbrz7zz519d52rrxqvc50l0hzs6hda55"; }; outputs = [ "bin" "dev" "out" "man" "info" ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ pkgconfig texinfo ]; - buildInputs = [ libuuid ] ++ stdenv.lib.optional (!stdenv.isLinux) gettext; + buildInputs = [ libuuid gettext ]; configureFlags = if stdenv.isLinux then [ diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix index 977add39b94b..5bce33065192 100644 --- a/pkgs/tools/filesystems/nilfs-utils/default.nix +++ b/pkgs/tools/filesystems/nilfs-utils/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libuuid, libselinux }: +{ stdenv, fetchurl, fetchpatch, libuuid, libselinux }: let sourceInfo = rec { version = "2.2.7"; @@ -23,6 +23,18 @@ stdenv.mkDerivation rec { sed -e 's@/sbin/@'"$out"'/sbin/@' -i ./lib/cleaner*.c ''; + patches = [ + # Fix w/musl + (fetchpatch { + url = "https://github.com/nilfs-dev/nilfs-utils/commit/115fe4b976858c487cf83065f513d8626089579a.patch"; + sha256 = "0h89jz9l5d4rqj647ljbnv451l4ncqpsvzj0v70mn5391hfwsjlv"; + }) + (fetchpatch { + url = "https://github.com/nilfs-dev/nilfs-utils/commit/51b32c614be9e98c32de7f531ee600ca0740946f.patch"; + sha256 = "1ycq83c6jjy74aif47v075k5y2szzwhq6mbcrpd1z4b4i1x6yhpn"; + }) + ]; + # FIXME: https://github.com/NixOS/patchelf/pull/98 is in, but stdenv # still doesn't use it # diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix index 5321fd8a830f..cc2bbad1680a 100644 --- a/pkgs/tools/filesystems/xfsprogs/default.nix +++ b/pkgs/tools/filesystems/xfsprogs/default.nix @@ -30,6 +30,7 @@ stdenv.mkDerivation rec { (gentooPatch "xfsprogs-4.12.0-sharedlibs.patch" "1i081749x91jvlrw84l4a3r081vqcvn6myqhnqbnfcfhd64h12bq") (gentooPatch "xfsprogs-4.7.0-libxcmd-link.patch" "1lvy1ajzml39a631a7jqficnzsd40bzkca7hkxv1ybiqyp8sf55s") (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 new file mode 100644 index 000000000000..1f398b1daa85 --- /dev/null +++ b/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch @@ -0,0 +1,53 @@ +From 8041435de7ed028a27ecca64302945ad455c69a6 Mon Sep 17 00:00:00 2001 +From: "Darrick J. Wong" <darrick.wong@oracle.com> +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 <darrick.wong@oracle.com> +Reviewed-by: Eric Sandeen <sandeen@redhat.com> +Signed-off-by: Eric Sandeen <sandeen@sandeen.net> +--- + 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 + |