diff options
author | Thomas Zander <riggs@FreeBSD.org> | 2015-05-24 18:01:03 +0000 |
---|---|---|
committer | Thomas Zander <riggs@FreeBSD.org> | 2015-05-24 18:01:03 +0000 |
commit | 64f83ed83ab0b6b50d0b2aa3d59a5113045dca60 (patch) | |
tree | 8f9892d5beba9bedc3c826a6ac9ed22c7ee46ff0 /archivers/liblz4 | |
parent | games/openra: update to 20150424 (diff) |
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/Makefile | 1 | ||||
-rw-r--r-- | archivers/liblz4/files/patch-programs_Makefile | 21 | ||||
-rw-r--r-- | archivers/liblz4/files/patch-programs_lz4cli.c | 11 | ||||
-rw-r--r-- | archivers/liblz4/files/patch-programs_lz4io.c | 61 |
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"); + } + } + |