Diff below brings zstd to 1.4.5, which is a maintenance release and
includes performance improvements and new major CLI features. Changelog
can be found at https://github.com/facebook/zstd/blob/v1.4.5/CHANGELOG.

Changes to the port:
- Minor so version bumped due to new symbol
- Remove patches for issues that have been addressed upstream
- Simplify remaining patch by setting MAKE_FLAGS

Testing:
- 'make test' runs successful
- build tested consumers
- run tested, as compressor in borg, on amd64

Comments/OK?


diff --git archivers/zstd/Makefile archivers/zstd/Makefile
index b4012c7f2dd..7581c02f47a 100644
--- archivers/zstd/Makefile
+++ archivers/zstd/Makefile
@@ -2,11 +2,10 @@
 
 COMMENT =              zstandard fast real-time compression algorithm
 
-V =                    1.4.4
-REVISION =             1
+V =                    1.4.5
 DISTNAME =             zstd-${V}
 
-SHARED_LIBS =          zstd    3.1     # 1.4.4
+SHARED_LIBS =          zstd    3.2     # 1.4.5
 
 CATEGORIES =           archivers
 
@@ -29,26 +28,27 @@ COMPILER =          base-clang ports-gcc
 
 MAKE_ENV =             CC="${CC}" \
                        CFLAGS="${CFLAGS}" \
-                       CPPFLAGS="-I${WRKSRC}/lib -I${WRKSRC}/lib/dictBuilder 
-I${LOCALBASE}/include" \
+                       CPPFLAGS="-I${WRKSRC}/lib -I${WRKSRC}/lib/common 
-I${LOCALBASE}/include" \
                        CXX="${CXX}" \
                        CXXFLAGS="${CXXFLAGS}" \
-                       LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib" \
-                       LIBzstd_VERSION="${LIBzstd_VERSION}"
+                       LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
+MAKE_FLAGS =           SHARED_EXT_VER="so.$(LIBzstd_VERSION)" \
+                       SONAME_FLAGS= \
+                       V=1
+FAKE_FLAGS =           PREFIX="${PREFIX}"
 
 .if ${MACHINE_ARCH:Mhppa}
 WANTLIB +=             atomic
 LDFLAGS +=             -latomic
 .endif
 
-FAKE_FLAGS =           PREFIX="${PREFIX}"
-
 USE_GMAKE =            Yes
 
 DEBUG_PACKAGES =       ${BUILD_PACKAGES}
 
 TEST_TARGET =          check
 
-post-extract:
-        sed -i 's,grep,ggrep,g' 
${WRKSRC}/contrib/single_file_decoder/combine.sh
+pre-build:
+       ln -fs ${LOCALBASE}/bin/ggrep ${WRKDIR}/bin/grep
 
 .include <bsd.port.mk>
diff --git archivers/zstd/distinfo archivers/zstd/distinfo
index d46c3e843b4..855ff04cb30 100644
--- archivers/zstd/distinfo
+++ archivers/zstd/distinfo
@@ -1,2 +1,2 @@
-SHA256 (zstd-1.4.4.tar.gz) = We9w67dX/+dKez/pwwXiujNQAhqRjRaKBGxjAK7qkxU=
-SIZE (zstd-1.4.4.tar.gz) = 1948426
+SHA256 (zstd-1.4.5.tar.gz) = mOkcfGvxYr+Q5OcP28QagYi5+o3lrYQMQBGYAUQGzp4=
+SIZE (zstd-1.4.5.tar.gz) = 1973695
diff --git archivers/zstd/patches/patch-lib_Makefile 
archivers/zstd/patches/patch-lib_Makefile
index 574355626bd..e4de86d26f8 100644
--- archivers/zstd/patches/patch-lib_Makefile
+++ archivers/zstd/patches/patch-lib_Makefile
@@ -3,43 +3,21 @@ $OpenBSD: patch-lib_Makefile,v 1.7 2019/11/06 10:19:15 bket 
Exp $
 Index: lib/Makefile
 --- lib/Makefile.orig
 +++ lib/Makefile
-@@ -135,10 +135,10 @@ ifeq ($(shell uname), Darwin)
-       SHARED_EXT_VER = $(LIBVER).$(SHARED_EXT)
-       SONAME_FLAGS = -install_name $(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR) 
-compatibility_version $(LIBVER_MAJOR) -current_version $(LIBVER)
+@@ -81,7 +81,7 @@ ifneq ($(ZSTD_LIB_MINIFY), 0)
+       CFLAGS += -fno-stack-protector -fomit-frame-pointer -fno-ident \
+                 -DDYNAMIC_BMI2=0 -DNDEBUG
  else
--      SONAME_FLAGS = -Wl,-soname=libzstd.$(SHARED_EXT).$(LIBVER_MAJOR)
-+      SONAME_FLAGS =
-       SHARED_EXT = so
-       SHARED_EXT_MAJOR = $(SHARED_EXT).$(LIBVER_MAJOR)
--      SHARED_EXT_VER = $(SHARED_EXT).$(LIBVER)
-+      SHARED_EXT_VER = $(SHARED_EXT).$(LIBzstd_VERSION)
+-      CFLAGS += -O3
++      CFLAGS +=
  endif
  
- 
-@@ -151,7 +151,7 @@ all: lib
- libzstd.a: ARFLAGS = rcs
- libzstd.a: $(ZSTD_OBJ)
-       @echo compiling static library
--      @$(AR) $(ARFLAGS) $@ $^
-+      $(AR) $(ARFLAGS) $@ $^
- 
- libzstd.a-mt: CPPFLAGS += -DZSTD_MULTITHREAD
- libzstd.a-mt: libzstd.a
-@@ -169,7 +169,7 @@ LIBZSTD = libzstd.$(SHARED_EXT_VER)
- $(LIBZSTD): LDFLAGS += -shared -fPIC -fvisibility=hidden
- $(LIBZSTD): $(ZSTD_FILES)
-       @echo compiling dynamic library $(LIBVER)
--      @$(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
-+      $(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
-       @echo creating versioned links
-       @ln -sf $@ libzstd.$(SHARED_EXT_MAJOR)
-       @ln -sf $@ libzstd.$(SHARED_EXT)
-@@ -263,8 +263,6 @@ install-shared: libzstd
+ # Modules
+@@ -328,8 +328,6 @@ install-shared: libzstd
        @echo Installing shared library
-       @$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/
-       @$(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(LIBDIR)
--      @ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
--      @ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
+       $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/
+       $(Q)$(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(LIBDIR)
+-      $(Q)ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
+-      $(Q)ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
  
  install-includes:
        @echo Installing includes
diff --git archivers/zstd/patches/patch-programs_Makefile 
archivers/zstd/patches/patch-programs_Makefile
deleted file mode 100644
index 8e9cc13647c..00000000000
--- archivers/zstd/patches/patch-programs_Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-$OpenBSD: patch-programs_Makefile,v 1.3 2020/02/15 12:38:15 bket Exp $
-
-Fix for \# backward-incompatibility in gmake 4.3. Taken from
-https://github.com/facebook/zstd/pull/1987.
-
-Index: programs/Makefile
---- programs/Makefile.orig
-+++ programs/Makefile
-@@ -94,9 +94,12 @@ endif
- 
- VOID = /dev/null
- 
-+# Make 4.3 doesn't support '\#' anymore (https://lwn.net/Articles/810071/)
-+NUM_SYMBOL := \#
-+
- # thread detection
- NO_THREAD_MSG := ==> no threads, building without multithreading support
--HAVE_PTHREAD := $(shell printf '\#include <pthread.h>\nint main(void) { 
return 0; }' > have_pthread.c && $(CC) $(FLAGS) -o have_pthread$(EXT) 
have_pthread.c -pthread 2> $(VOID) && rm have_pthread$(EXT) && echo 1 || echo 
0; rm have_pthread.c)
-+HAVE_PTHREAD := $(shell printf '$(NUM_SYMBOL)include <pthread.h>\nint 
main(void) { return 0; }' > have_pthread.c && $(CC) $(FLAGS) -o 
have_pthread$(EXT) have_pthread.c -pthread 2> $(VOID) && rm have_pthread$(EXT) 
&& echo 1 || echo 0; rm have_pthread.c)
- HAVE_THREAD := $(shell [ "$(HAVE_PTHREAD)" -eq "1" -o -n "$(filter 
Windows%,$(OS))" ] && echo 1 || echo 0)
- ifeq ($(HAVE_THREAD), 1)
- THREAD_MSG := ==> building with threading support
-@@ -108,7 +111,7 @@ endif
- 
- # zlib detection
- NO_ZLIB_MSG := ==> no zlib, building zstd without .gz support
--HAVE_ZLIB := $(shell printf '\#include <zlib.h>\nint main(void) { return 0; 
}' > have_zlib.c && $(CC) $(FLAGS) -o have_zlib$(EXT) have_zlib.c -lz 2> 
$(VOID) && rm have_zlib$(EXT) && echo 1 || echo 0; rm have_zlib.c)
-+HAVE_ZLIB := $(shell printf '$(NUM_SYMBOL)include <zlib.h>\nint main(void) { 
return 0; }' > have_zlib.c && $(CC) $(FLAGS) -o have_zlib$(EXT) have_zlib.c -lz 
2> $(VOID) && rm have_zlib$(EXT) && echo 1 || echo 0; rm have_zlib.c)
- ifeq ($(HAVE_ZLIB), 1)
- ZLIB_MSG := ==> building zstd with .gz compression support
- ZLIBCPP = -DZSTD_GZCOMPRESS -DZSTD_GZDECOMPRESS
-@@ -119,7 +122,7 @@ endif
- 
- # lzma detection
- NO_LZMA_MSG := ==> no liblzma, building zstd without .xz/.lzma support
--HAVE_LZMA := $(shell printf '\#include <lzma.h>\nint main(void) { return 0; 
}' > have_lzma.c && $(CC) $(FLAGS) -o have_lzma$(EXT) have_lzma.c -llzma 2> 
$(VOID) && rm have_lzma$(EXT) && echo 1 || echo 0; rm have_lzma.c)
-+HAVE_LZMA := $(shell printf '$(NUM_SYMBOL)include <lzma.h>\nint main(void) { 
return 0; }' > have_lzma.c && $(CC) $(FLAGS) -o have_lzma$(EXT) have_lzma.c 
-llzma 2> $(VOID) && rm have_lzma$(EXT) && echo 1 || echo 0; rm have_lzma.c)
- ifeq ($(HAVE_LZMA), 1)
- LZMA_MSG := ==> building zstd with .xz/.lzma compression support
- LZMACPP = -DZSTD_LZMACOMPRESS -DZSTD_LZMADECOMPRESS
-@@ -130,7 +133,7 @@ endif
- 
- # lz4 detection
- NO_LZ4_MSG := ==> no liblz4, building zstd without .lz4 support
--HAVE_LZ4 := $(shell printf '\#include <lz4frame.h>\n\#include <lz4.h>\nint 
main(void) { return 0; }' > have_lz4.c && $(CC) $(FLAGS) -o have_lz4$(EXT) 
have_lz4.c -llz4 2> $(VOID) && rm have_lz4$(EXT) && echo 1 || echo 0; rm 
have_lz4.c)
-+HAVE_LZ4 := $(shell printf '$(NUM_SYMBOL)include 
<lz4frame.h>\n$(NUM_SYMBOL)include <lz4.h>\nint main(void) { return 0; }' > 
have_lz4.c && $(CC) $(FLAGS) -o have_lz4$(EXT) have_lz4.c -llz4 2> $(VOID) && 
rm have_lz4$(EXT) && echo 1 || echo 0; rm have_lz4.c)
- ifeq ($(HAVE_LZ4), 1)
- LZ4_MSG := ==> building zstd with .lz4 compression support
- LZ4CPP = -DZSTD_LZ4COMPRESS -DZSTD_LZ4DECOMPRESS
diff --git archivers/zstd/patches/patch-tests_playTests_sh 
archivers/zstd/patches/patch-tests_playTests_sh
deleted file mode 100644
index adef4d8dce4..00000000000
--- archivers/zstd/patches/patch-tests_playTests_sh
+++ /dev/null
@@ -1,39 +0,0 @@
-$OpenBSD: patch-tests_playTests_sh,v 1.12 2019/11/06 10:19:15 bket Exp $
-
-date(1) has no option for displaying the modification time of a file. 'head 
-c' is non-portable.
-
-Index: tests/playTests.sh
---- tests/playTests.sh.orig
-+++ tests/playTests.sh
-@@ -227,8 +227,8 @@ sleep 5
- $ZSTD --exclude-compressed --long --rm -r precompressedFilterTestDir
- test ! -f precompressedFilterTestDir/input.5.zst.zst
- test ! -f precompressedFilterTestDir/input.6.zst.zst
--file1timestamp=`date -r precompressedFilterTestDir/input.5.zst +%s`
--file2timestamp=`date -r precompressedFilterTestDir/input.7.zst +%s`
-+file1timestamp=`stat -f %m precompressedFilterTestDir/input.5.zst`
-+file2timestamp=`stat -f %m precompressedFilterTestDir/input.7.zst`
- if [[ $file2timestamp -ge $file1timestamp ]]; then
-   println "Test is successful. input.5.zst is precompressed and therefore not 
compressed/modified again."
- else
-@@ -274,7 +274,7 @@ test -f tmp.zst  # destination file should still be pr
- rm -rf tmp*  # may also erase tmp* directory from previous failed run
- 
- println "\n===> decompression only tests "
--head -c 1048576 /dev/zero > tmp
-+dd bs=1 count=1048576 if=/dev/zero of=tmp
- $ZSTD -d -o tmp1 "$TESTDIR/golden-decompression/rle-first-block.zst"
- $DIFF -s tmp1 tmp
- rm tmp*
-@@ -1173,9 +1173,9 @@ rm -f tmp* dictionary
- if [ "$isWindows" = false ] ; then
- 
- println "\n===>  zstd fifo named pipe test "
--head -c 10 /dev/zero > tmp_original
-+dd bs=1 count=10 if=/dev/zero of=tmp_original
- mkfifo named_pipe
--head -c 10 /dev/zero > named_pipe &
-+dd bs=1 count=10 if=/dev/zero of=named_pipe &
- $ZSTD named_pipe -o tmp_compressed
- $ZSTD -d -o tmp_decompressed tmp_compressed
- $DIFF -s tmp_original tmp_decompressed

Reply via email to