summary refs log tree commit diff
path: root/pkgs/development/libraries/libpar2
diff options
context:
space:
mode:
authorJeff Chu <jeff@jeffchu.com>2014-08-09 09:36:10 -0700
committerJeff Chu <jeff@jeffchu.com>2014-08-09 09:36:10 -0700
commit21d12d53b7c755839bd0889aab7c40438975d22b (patch)
tree6da4a8d5e1b747fbb0e76d1e9a647d9f7f570764 /pkgs/development/libraries/libpar2
parentdb8ab2191de7c578120db1f0821111af5a5528e0 (diff)
downloadnixlib-21d12d53b7c755839bd0889aab7c40438975d22b.tar
nixlib-21d12d53b7c755839bd0889aab7c40438975d22b.tar.gz
nixlib-21d12d53b7c755839bd0889aab7c40438975d22b.tar.bz2
nixlib-21d12d53b7c755839bd0889aab7c40438975d22b.tar.lz
nixlib-21d12d53b7c755839bd0889aab7c40438975d22b.tar.xz
nixlib-21d12d53b7c755839bd0889aab7c40438975d22b.tar.zst
nixlib-21d12d53b7c755839bd0889aab7c40438975d22b.zip
libpar2: Update to 0.4
Diffstat (limited to 'pkgs/development/libraries/libpar2')
-rw-r--r--pkgs/development/libraries/libpar2/default.nix10
-rw-r--r--pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch16
2 files changed, 23 insertions, 3 deletions
diff --git a/pkgs/development/libraries/libpar2/default.nix b/pkgs/development/libraries/libpar2/default.nix
index a987768bbc53..89d9a3de02f2 100644
--- a/pkgs/development/libraries/libpar2/default.nix
+++ b/pkgs/development/libraries/libpar2/default.nix
@@ -1,15 +1,19 @@
 { stdenv, fetchurl, pkgconfig, libsigcxx }:
 
+let version = "0.4"; in
+
 stdenv.mkDerivation rec {
-  name = "libpar2-0.2";
+  name = "libpar2-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/parchive/${name}.tar.gz";
-    sha256 = "024r37wi01d1pfkk17l5lk0ci0cc0xhy5z050hzf3cbk1y2bykq7";
+    url = "https://launchpad.net/libpar2/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1m4ncws1h03zq7zyqbaymvjzzbh1d3lc4wb1aksrdf0ync76yv9i";
   };
 
   buildInputs = [ pkgconfig libsigcxx ];
 
+  patches = [ ./libpar2-0.4-external-verification.patch ];
+
   meta = {
     homepage = http://parchive.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch b/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch
new file mode 100644
index 000000000000..74879c4fe9b8
--- /dev/null
+++ b/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch
@@ -0,0 +1,16 @@
+diff -aud -U 5 libpar2-0.4-original/par2repairer.h libpar2-0.4-patched/par2repairer.h
+--- libpar2-0.4-original/par2repairer.h	2013-07-18 15:03:10.000000000 +0200
++++ libpar2-0.4-patched/par2repairer.h	2014-08-06 15:52:59.000000000 +0200
+@@ -94,11 +94,11 @@
+   // Perform a sliding window scan of the DiskFile looking for blocks of data that 
+   // might belong to any of the source files (for which a verification packet was
+   // available). If a block of data might be from more than one source file, prefer
+   // the one specified by the "sourcefile" parameter. If the first data block
+   // found is for a different source file then "sourcefile" is changed accordingly.
+-  bool ScanDataFile(DiskFile                *diskfile,   // [in]     The file being scanned
++  virtual bool ScanDataFile(DiskFile                *diskfile,   // [in]     The file being scanned
+                     Par2RepairerSourceFile* &sourcefile, // [in/out] The source file matched
+                     MatchType               &matchtype,  // [out]    The type of match
+                     MD5Hash                 &hashfull,   // [out]    The full hash of the file
+                     MD5Hash                 &hash16k,    // [out]    The hash of the first 16k
+                     u32                     &count);     // [out]    The number of blocks found