aboutsummaryrefslogtreecommitdiff
path: root/archivers/liblz4
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2015-05-24 18:01:03 +0000
committerThomas Zander <riggs@FreeBSD.org>2015-05-24 18:01:03 +0000
commit64f83ed83ab0b6b50d0b2aa3d59a5113045dca60 (patch)
tree8f9892d5beba9bedc3c826a6ac9ed22c7ee46ff0 /archivers/liblz4
parentf53f2edd1481a1aad92e7f22b84c2ec8031dd7ae (diff)
downloadports-64f83ed83ab0b6b50d0b2aa3d59a5113045dca60.tar.gz
ports-64f83ed83ab0b6b50d0b2aa3d59a5113045dca60.zip
Fix decompression in a pipeline: import fix from dev branch in
https://github.com/Cyan4973/lz4/commit/58b5aadb1fc5d937e81c8f33e0e8290f2097c6bb PR: 200422 Submitted by: eborisch+FreeBSD@gmail.com Approved by: adamw (maintainer, implicit)
Notes
Notes: svn path=/head/; revision=387288
Diffstat (limited to 'archivers/liblz4')
-rw-r--r--archivers/liblz4/Makefile1
-rw-r--r--archivers/liblz4/files/patch-programs_Makefile21
-rw-r--r--archivers/liblz4/files/patch-programs_lz4cli.c11
-rw-r--r--archivers/liblz4/files/patch-programs_lz4io.c61
4 files changed, 94 insertions, 0 deletions
diff --git a/archivers/liblz4/Makefile b/archivers/liblz4/Makefile
index efe19d9d6341..003e7299ae54 100644
--- a/archivers/liblz4/Makefile
+++ b/archivers/liblz4/Makefile
@@ -4,6 +4,7 @@
PORTNAME= lz4
PORTVERSION= 129
DISTVERSIONPREFIX= r
+PORTREVISION= 1
CATEGORIES= archivers
PKGNAMEPREFIX= lib
diff --git a/archivers/liblz4/files/patch-programs_Makefile b/archivers/liblz4/files/patch-programs_Makefile
new file mode 100644
index 000000000000..b9e566c80c2c
--- /dev/null
+++ b/archivers/liblz4/files/patch-programs_Makefile
@@ -0,0 +1,21 @@
+--- programs/Makefile.orig 2015-05-07 11:23:39 UTC
++++ programs/Makefile
+@@ -150,7 +150,7 @@ test-all: test test32
+ test-travis: $(TRAVIS_TARGET)
+
+ test-lz4-sparse: lz4 datagen
+- @echo ---- test sparse file support ----
++ @echo "\n ---- test sparse file support ----"
+ ./datagen -g5M -P100 > tmpSrc
+ ./lz4 -B4D tmpSrc | ./lz4 -dv --sparse > tmpB4
+ diff -s tmpSrc tmpB4
+@@ -167,6 +167,9 @@ test-lz4-sparse: lz4 datagen
+ ./datagen -s1 -g1200007 -P100 | diff -s - tmpOdd
+ ls -ls tmpOdd
+ @rm tmp*
++ @echo "\n Compatibility with Console :"
++ ./lz4 COPYING | ./lz4 -d -c
++ ./lz4 COPYING | ./lz4 -d | cat
+
+ test-lz4-contentSize: lz4 datagen
+ @echo ---- test original size support ----
diff --git a/archivers/liblz4/files/patch-programs_lz4cli.c b/archivers/liblz4/files/patch-programs_lz4cli.c
new file mode 100644
index 000000000000..3a5bdfb26bc8
--- /dev/null
+++ b/archivers/liblz4/files/patch-programs_lz4cli.c
@@ -0,0 +1,11 @@
+--- programs/lz4cli.c.orig 2015-05-07 11:23:39 UTC
++++ programs/lz4cli.c
+@@ -473,7 +473,7 @@ int main(int argc, char** argv)
+ if (multiple_inputs) input_filename = inFileNames[0], output_filename = (const char*)(inFileNames[0]);
+ if(!input_filename) { input_filename=stdinmark; }
+
+- /* Check if input or output are defined as console; trigger an error in this case */
++ /* Check if input is defined as console; trigger an error in this case */
+ if (!strcmp(input_filename, stdinmark) && IS_CONSOLE(stdin) ) badusage();
+
+ /* Check if benchmark is selected */
diff --git a/archivers/liblz4/files/patch-programs_lz4io.c b/archivers/liblz4/files/patch-programs_lz4io.c
new file mode 100644
index 000000000000..7e29ee8c3f37
--- /dev/null
+++ b/archivers/liblz4/files/patch-programs_lz4io.c
@@ -0,0 +1,61 @@
+--- programs/lz4io.c.orig 2015-05-07 11:23:39 UTC
++++ programs/lz4io.c
+@@ -303,6 +303,12 @@ static int LZ4IO_getFiles(const char* in
+
+ if ( *pfoutput==0) EXM_THROW(13, "Pb opening %s", output_filename);
+
++ if (g_sparseFileSupport)
++ {
++ long int ftr = ftell(*pfoutput);
++ if (ftr==-1) g_sparseFileSupport = 0;
++ }
++
+ return 0;
+ }
+
+@@ -639,7 +645,7 @@ static unsigned LZ4IO_fwriteSparse(FILE*
+ if (!g_sparseFileSupport) /* normal write */
+ {
+ size_t sizeCheck = fwrite(buffer, 1, bufferSize, file);
+- if (sizeCheck != bufferSize) EXM_THROW(68, "Write error : cannot write decoded block");
++ if (sizeCheck != bufferSize) EXM_THROW(70, "Write error : cannot write decoded block");
+ return 0;
+ }
+
+@@ -647,7 +653,7 @@ static unsigned LZ4IO_fwriteSparse(FILE*
+ if (storedSkips > 1 GB)
+ {
+ int seekResult = fseek(file, 1 GB, SEEK_CUR);
+- if (seekResult != 0) EXM_THROW(68, "1 GB skip error (sparse file support)");
++ if (seekResult != 0) EXM_THROW(71, "1 GB skip error (sparse file support)");
+ storedSkips -= 1 GB;
+ }
+
+@@ -667,12 +673,12 @@ static unsigned LZ4IO_fwriteSparse(FILE*
+ {
+ size_t sizeCheck;
+ seekResult = fseek(file, storedSkips, SEEK_CUR);
+- if (seekResult) EXM_THROW(68, "Skip error (sparse file)");
++ if (seekResult) EXM_THROW(72, "Skip error (sparse file)");
+ storedSkips = 0;
+ seg0SizeT -= nb0T;
+ ptrT += nb0T;
+ sizeCheck = fwrite(ptrT, sizeT, seg0SizeT, file);
+- if (sizeCheck != seg0SizeT) EXM_THROW(68, "Write error : cannot write decoded block");
++ if (sizeCheck != seg0SizeT) EXM_THROW(73, "Write error : cannot write decoded block");
+ }
+ ptrT += seg0SizeT;
+ }
+@@ -689,10 +695,10 @@ static unsigned LZ4IO_fwriteSparse(FILE*
+ {
+ size_t sizeCheck;
+ int seekResult = fseek(file, storedSkips, SEEK_CUR);
+- if (seekResult) EXM_THROW(68, "Skip error (end of block)");
++ if (seekResult) EXM_THROW(74, "Skip error (end of block)");
+ storedSkips = 0;
+ sizeCheck = fwrite(restPtr, 1, restEnd - restPtr, file);
+- if (sizeCheck != (size_t)(restEnd - restPtr)) EXM_THROW(68, "Write error : cannot write decoded end of block");
++ if (sizeCheck != (size_t)(restEnd - restPtr)) EXM_THROW(75, "Write error : cannot write decoded end of block");
+ }
+ }
+