summary refs log tree commit diff
diff options
context:
space:
mode:
authorWill Dietz <github@wdtz.org>2018-05-16 10:46:31 -0500
committerGitHub <noreply@github.com>2018-05-16 10:46:31 -0500
commit16b6f53910f19b84c5d8c5fb58a8ce958fc8a7d3 (patch)
tree3962e910154bc7139335496304c53bfaa7ffd6ad
parent44101ee9d67095af06a977eb7f64ba72a2faa66a (diff)
parent4056b41f95fe172036f8c003afe70b83ecee0f1c (diff)
downloadnixpkgs-16b6f53910f19b84c5d8c5fb58a8ce958fc8a7d3.tar
nixpkgs-16b6f53910f19b84c5d8c5fb58a8ce958fc8a7d3.tar.gz
nixpkgs-16b6f53910f19b84c5d8c5fb58a8ce958fc8a7d3.tar.bz2
nixpkgs-16b6f53910f19b84c5d8c5fb58a8ce958fc8a7d3.tar.lz
nixpkgs-16b6f53910f19b84c5d8c5fb58a8ce958fc8a7d3.tar.xz
nixpkgs-16b6f53910f19b84c5d8c5fb58a8ce958fc8a7d3.tar.zst
nixpkgs-16b6f53910f19b84c5d8c5fb58a8ce958fc8a7d3.zip
Merge pull request #40559 from dtzWill/update/thin-provisioning-tools-0.7.6
thin-provisioning-tools: 0.7.5 -> 0.7.6, fix w/musl, enable parallel
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/default.nix22
1 files changed, 19 insertions, 3 deletions
diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix
index 8b9fa4f2f3f..b4683167f33 100644
--- a/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -1,20 +1,36 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, expat, libaio, boost }:
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, expat, libaio, boost }:
 
 stdenv.mkDerivation rec {
   name = "thin-provisioning-tools-${version}";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "jthornber";
     repo = "thin-provisioning-tools";
     rev = "v${version}";
-    sha256 = "1ibg5wxrbqg4pr3f6aacqm42fxpwn5q00j8ldy9mw4an3ck41cwa";
+    sha256 = "175mk3krfdmn43cjw378s32hs62gq8fmq549rjmyc651sz6jnj0g";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
   buildInputs = [ expat libaio boost ];
 
+  patches = [
+    (fetchpatch {
+      # a) Fix build if limits.h provides definition for PAGE_SIZE, as musl does w/musl per XSI[1] although it's apparently optional [2].
+      #    This value is only provided when it's known to be a constant, to avoid the need to discover the value dynamically.
+      # b) If not using system-provided (kernel headers, or libc headers, or something) use the POSIX approach of querying the value
+      #    dynamically using sysconf(_SC_PAGE_SIZE) instead of hardcoded value that hopefully is correct.
+      # [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
+      # [2] http://www.openwall.com/lists/musl/2015/09/11/8
+      url = "https://raw.githubusercontent.com/voidlinux/void-packages/a0ece13ad7ab2aae760e09e41e0459bd999a3695/srcpkgs/thin-provisioning-tools/patches/musl.patch";
+      sha256 = "1m8r3vhrnsy8drgs0svs3fgpi3mmxzdcqsv6bmvc0j52cvfqvhvy";
+      extraPrefix = ""; # empty means add 'a/' and 'b/'
+    })
+  ];
+
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = https://github.com/jthornber/thin-provisioning-tools/;
     description = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target";