summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/compression.scm12
-rw-r--r--gnu/packages/patches/lz4-fix-test-failures.patch136
3 files changed, 144 insertions, 5 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 93bafa282d..ac6a596923 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -759,6 +759,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/luit-posix.patch				\
   %D%/packages/patches/lvm2-static-link.patch			\
   %D%/packages/patches/lxsession-use-gapplication.patch         \
+  %D%/packages/patches/lz4-fix-test-failures.patch		\
   %D%/packages/patches/make-impure-dirs.patch			\
   %D%/packages/patches/mars-install.patch			\
   %D%/packages/patches/mars-sfml-2.3.patch			\
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 5404f66ecf..4793755c21 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
 ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
@@ -673,14 +673,16 @@ writing of compressed data created with the zlib and bzip2 libraries.")
 (define-public lz4
   (package
     (name "lz4")
-    (version "1.7.4.2")
+    (version "1.7.5")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://github.com/Cyan4973/lz4/archive/"
+       (uri (string-append "https://github.com/lz4/lz4/archive/"
                            "v" version ".tar.gz"))
+       (patches (search-patches "lz4-fix-test-failures.patch"))
        (sha256
-        (base32 "0l39bymif15rmmfz7h6wvrr853rix4wj8wbqq8z8fm49xa7gx9fb"))
+        (base32
+         "0zkykqqjfa1q3ji0qmb1ml3l9063qqfh99agyj3cnb02cg6wm401"))
        (file-name (string-append name "-" version ".tar.gz"))))
     (build-system gnu-build-system)
     (native-inputs `(("valgrind" ,valgrind)))   ; for tests
@@ -691,7 +693,7 @@ writing of compressed data created with the zlib and bzip2 libraries.")
                           (string-append "PREFIX=" (assoc-ref %outputs "out")))
        #:phases (modify-phases %standard-phases
                   (delete 'configure))))        ; no configure script
-    (home-page "https://github.com/Cyan4973/lz4")
+    (home-page "https://github.com/lz4/lz4")
     (synopsis "Compression algorithm focused on speed")
     (description "LZ4 is a lossless compression algorithm, providing
 compression speed at 400 MB/s per core (0.16 Bytes/cycle).  It also features an
diff --git a/gnu/packages/patches/lz4-fix-test-failures.patch b/gnu/packages/patches/lz4-fix-test-failures.patch
new file mode 100644
index 0000000000..d38357d402
--- /dev/null
+++ b/gnu/packages/patches/lz4-fix-test-failures.patch
@@ -0,0 +1,136 @@
+These two patches fix some bugs in lz4's test suite:
+
+https://github.com/lz4/lz4/issues/308
+
+Patches copied from upstream source repository:
+
+https://github.com/lz4/lz4/commit/b89cac7b2e92b792af98bb0a12e4d14684d07629
+https://github.com/lz4/lz4/commit/0dfb0b9dad2a8cb7cc347d2139bf9b84de7e1481
+
+From b89cac7b2e92b792af98bb0a12e4d14684d07629 Mon Sep 17 00:00:00 2001
+From: Eric Siegerman <pub08-git@davor.org>
+Date: Tue, 14 Feb 2017 14:17:06 -0500
+Subject: [PATCH] Don't use "foo && false || true"
+
+Replace it with either:
+    test ! -f $FILE_THAT_SHOULD_NOT_EXIST
+or:
+    ! $COMMAND_THAT_SHOULD_FAIL
+
+as appropriate.
+---
+ tests/Makefile | 38 +++++++++++++++++++-------------------
+ 1 file changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 77e6ae7..ebab278 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -236,17 +236,17 @@ test-lz4-basic: lz4 datagen unlz4 lz4cat
+ 	./datagen -g256MB | $(LZ4) -vqB4D | $(LZ4) -t
+ 	@echo "hello world" > tmp
+ 	$(LZ4) --rm -f tmp
+-	ls -ls tmp         && false || true   # must fail (--rm)
+-	ls -ls tmp.lz4
+-	$(PRGDIR)/lz4cat tmp.lz4              # must display hello world
+-	ls -ls tmp.lz4
++	test ! -f tmp                      # must fail (--rm)
++	test   -f tmp.lz4
++	$(PRGDIR)/lz4cat tmp.lz4           # must display hello world
++	test   -f tmp.lz4
+ 	$(PRGDIR)/unlz4 --rm tmp.lz4
+-	ls -ls tmp
+-	ls -ls tmp.lz4     && false || true   # must fail (--rm)
+-	ls -ls tmp.lz4.lz4 && false || true   # must fail (unlz4)
+-	$(PRGDIR)/lz4cat tmp                  # pass-through mode
+-	ls -ls tmp
+-	ls -ls tmp.lz4     && false || true   # must fail (lz4cat)
++	test   -f tmp
++	test ! -f tmp.lz4                  # must fail (--rm)
++	test ! -f tmp.lz4.lz4              # must fail (unlz4)
++	$(PRGDIR)/lz4cat tmp               # pass-through mode
++	test   -f tmp
++	test ! -f tmp.lz4                  # must fail (lz4cat)
+ 	$(LZ4) tmp                         # creates tmp.lz4
+ 	$(PRGDIR)/lz4cat < tmp.lz4 > tmp3  # checks lz4cat works with stdin (#285)
+ 	$(DIFF) -q tmp tmp3
+@@ -262,22 +262,22 @@ test-lz4-hugefile: lz4 datagen
+ 
+ test-lz4-testmode: lz4 datagen
+ 	@echo "\n ---- bench mode ----"
+-	$(LZ4) -bi1
++	  $(LZ4) -bi1
+ 	@echo "\n ---- test mode ----"
+-	./datagen | $(LZ4) -t             && false || true
+-	./datagen | $(LZ4) -tf            && false || true
++	! ./datagen | $(LZ4) -t
++	! ./datagen | $(LZ4) -tf
+ 	@echo "\n ---- pass-through mode ----"
+-	./datagen | $(LZ4) -d  > $(VOID)  && false || true
+-	./datagen | $(LZ4) -df > $(VOID)
++	! ./datagen | $(LZ4) -d  > $(VOID)
++	  ./datagen | $(LZ4) -df > $(VOID)
+ 	@echo "Hello World !" > tmp1
+ 	$(LZ4) -dcf tmp1
+ 	@echo "from underground..." > tmp2
+ 	$(LZ4) -dcfm tmp1 tmp2
+ 	@echo "\n ---- test cli ----"
+-	$(LZ4)     file-does-not-exist    && false || true
+-	$(LZ4) -f  file-does-not-exist    && false || true
+-	$(LZ4) -fm file1-dne file2-dne    && false || true
+-	$(LZ4) -fm file1-dne file2-dne    && false || true
++	! $(LZ4)     file-does-not-exist
++	! $(LZ4) -f  file-does-not-exist
++	! $(LZ4) -fm file1-dne file2-dne
++	! $(LZ4) -fm file1-dne file2-dne
+ 
+ test-lz4-opt-parser: lz4 datagen
+ 	@echo "\n ---- test opt-parser ----"
+-- 
+2.12.2
+
+From 0dfb0b9dad2a8cb7cc347d2139bf9b84de7e1481 Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Sun, 5 Mar 2017 23:20:10 +0000
+Subject: [PATCH] Fix test-lz4-basic
+
+When no output filename is specified and stdout is not a terminal,
+lz4 doesn't attempt to guess an output filename and uses stdout for
+output.
+
+This change fixes test-lz4-basic when run without a terminal
+by specifying output filenames.
+---
+ tests/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index ebab278..d68c700 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -235,19 +235,19 @@ test-lz4-basic: lz4 datagen unlz4 lz4cat
+ 	./datagen -g33M   | $(LZ4) --no-frame-crc | $(LZ4) -t
+ 	./datagen -g256MB | $(LZ4) -vqB4D | $(LZ4) -t
+ 	@echo "hello world" > tmp
+-	$(LZ4) --rm -f tmp
++	$(LZ4) --rm -f tmp tmp.lz4
+ 	test ! -f tmp                      # must fail (--rm)
+ 	test   -f tmp.lz4
+ 	$(PRGDIR)/lz4cat tmp.lz4           # must display hello world
+ 	test   -f tmp.lz4
+-	$(PRGDIR)/unlz4 --rm tmp.lz4
++	$(PRGDIR)/unlz4 --rm tmp.lz4 tmp
+ 	test   -f tmp
+ 	test ! -f tmp.lz4                  # must fail (--rm)
+ 	test ! -f tmp.lz4.lz4              # must fail (unlz4)
+ 	$(PRGDIR)/lz4cat tmp               # pass-through mode
+ 	test   -f tmp
+ 	test ! -f tmp.lz4                  # must fail (lz4cat)
+-	$(LZ4) tmp                         # creates tmp.lz4
++	$(LZ4) tmp tmp.lz4                 # creates tmp.lz4
+ 	$(PRGDIR)/lz4cat < tmp.lz4 > tmp3  # checks lz4cat works with stdin (#285)
+ 	$(DIFF) -q tmp tmp3
+ 	$(PRGDIR)/lz4cat < tmp > tmp2      # checks lz4cat works with stdin (#285)
+-- 
+2.12.2
+