git: f48a28f9c5f6 - main - archivers/pigz: update to 2.7

From: Xin LI <delphij_at_FreeBSD.org>
Date: Mon, 17 Jan 2022 19:41:59 UTC
The branch main has been updated by delphij:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f48a28f9c5f60e4aeacc662b984e13e9251743ea

commit f48a28f9c5f60e4aeacc662b984e13e9251743ea
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2022-01-17 19:36:05 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2022-01-17 19:36:05 +0000

    archivers/pigz: update to 2.7
---
 archivers/pigz/Makefile           |  7 ++++--
 archivers/pigz/distinfo           |  6 +++---
 archivers/pigz/files/patch-pigz.c | 45 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 53 insertions(+), 5 deletions(-)

diff --git a/archivers/pigz/Makefile b/archivers/pigz/Makefile
index def21c804a23..c5a3f312e76f 100644
--- a/archivers/pigz/Makefile
+++ b/archivers/pigz/Makefile
@@ -1,7 +1,7 @@
 # Created by: Gea-Suan Lin <gslin@gslin.org>
 
 PORTNAME=	pigz
-PORTVERSION=	2.6
+PORTVERSION=	2.7
 CATEGORIES=	archivers
 MASTER_SITES=	http://www.zlib.net/pigz/ \
 		http://freebsd.unixfreunde.de/sources/
@@ -23,7 +23,10 @@ PLIST_FILES=	bin/pigz bin/pigzn bin/pigzt bin/unpigz
 PLIST_FILES+=	share/man/man1/pigz.1.gz
 
 post-patch:
-	${REINPLACE_CMD} -e 's/$${ZOPFLI}.*//' \
+	${REINPLACE_CMD} -e 's/$$(ZOPFLI).*//' \
+		-e 's/$$(ZOP).*//' \
+		${WRKSRC}/Makefile
+	${REINPLACE_CMD} -E -e 's/-o pigz(t?) /-pthread -o pigz\1 /' \
 		${WRKSRC}/Makefile
 	${REINPLACE_CMD} -e 's,zopfli/src/,,' \
 		${WRKSRC}/pigz.c
diff --git a/archivers/pigz/distinfo b/archivers/pigz/distinfo
index 8fbea7f075a3..7088bee9bb43 100644
--- a/archivers/pigz/distinfo
+++ b/archivers/pigz/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1635727738
-SHA256 (pigz-2.6.tar.gz) = 2eed7b0d7449d1d70903f2a62cd6005d262eb3a8c9e98687bc8cbb5809db2a7d
-SIZE (pigz-2.6.tar.gz) = 106840
+TIMESTAMP = 1642392318
+SHA256 (pigz-2.7.tar.gz) = b4c9e60344a08d5db37ca7ad00a5b2c76ccb9556354b722d56d55ca7e8b1c707
+SIZE (pigz-2.7.tar.gz) = 108102
diff --git a/archivers/pigz/files/patch-pigz.c b/archivers/pigz/files/patch-pigz.c
new file mode 100644
index 000000000000..72fe98af1c5f
--- /dev/null
+++ b/archivers/pigz/files/patch-pigz.c
@@ -0,0 +1,45 @@
+--- pigz.c.orig	2022-01-17 19:06:15 UTC
++++ pigz.c
+@@ -558,9 +558,7 @@ local struct {
+     int procs;              // maximum number of compression threads (>= 1)
+     int setdict;            // true to initialize dictionary in each thread
+     size_t block;           // uncompressed input size per thread (>= 32K)
+-#ifndef NOTHREAD
+     crc_t shift;            // pre-calculated CRC-32 shift for length block
+-#endif
+ 
+     // saved gzip/zip header data for decompression, testing, and listing
+     time_t stamp;           // time stamp from gzip header
+@@ -1338,9 +1336,6 @@ local long zlib_vernum(void) {
+     return left < 2 ? num << (left << 2) : -1;
+ }
+ 
+-#ifndef NOTHREAD
+-// -- threaded portions of pigz --
+-
+ // -- check value combination routines for parallel calculation --
+ 
+ #define COMB(a,b,c) (g.form == 1 ? adler32_comb(a,b,c) : crc32_comb(a,b,c))
+@@ -1421,6 +1416,9 @@ local unsigned long adler32_comb(unsigned long adler1,
+     return sum1 | (sum2 << 16);
+ }
+ 
++#ifndef NOTHREAD
++// -- threaded portions of pigz --
++
+ // -- pool of spaces for buffer management --
+ 
+ // These routines manage a pool of spaces. Each pool specifies a fixed size
+@@ -4337,11 +4335,11 @@ local void defaults(void) {
+     ZopfliInitOptions(&g.zopts);
+ #endif
+     g.block = 131072UL;             // 128K
++    g.shift = x2nmodp(g.block, 3);
+ #ifdef NOTHREAD
+     g.procs = 1;
+ #else
+     g.procs = nprocs(8);
+-    g.shift = x2nmodp(g.block, 3);
+ #endif
+     g.rsync = 0;                    // don't do rsync blocking
+     g.setdict = 1;                  // initialize dictionary each thread