Enclosed a diff for bringing archivers/zstd to 1.3.5, which is
a maintenance release focused on dictionary compression performance.
Changelog can be found at https://github.com/facebook/zstd/releases
A couple of patches have been deleted as these have been accepted
upstream.
Bumped minor of shared lib as symbols have been added. While here change
email address of ${MAINTAINER}.
'make test' runs successfully, and consumers have been build tested.
Tested more intensively with borgbackup (zstd is used as archive
format).
OK?
Index: Makefile
===================================================================
RCS file: /cvs/ports/archivers/zstd/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile 12 May 2018 14:49:01 -0000 1.17
+++ Makefile 29 Jun 2018 13:45:49 -0000
@@ -4,14 +4,14 @@ COMMENT = zstandard fast real-time comp
GH_ACCOUNT = facebook
GH_PROJECT = zstd
-GH_TAGNAME = v1.3.4
-SHARED_LIBS = zstd 1.0 # 1.3.4
+GH_TAGNAME = v1.3.5
+SHARED_LIBS = zstd 1.1 # 1.3.5
CATEGORIES = archivers
HOMEPAGE = https://facebook.github.io/zstd/
-MAINTAINER = Bjorn Ketelaars <[email protected]>
+MAINTAINER = Bjorn Ketelaars <[email protected]>
# BSD 3 clauses + GPLv2
PERMIT_PACKAGE_CDROM = Yes
Index: distinfo
===================================================================
RCS file: /cvs/ports/archivers/zstd/distinfo,v
retrieving revision 1.10
diff -u -p -r1.10 distinfo
--- distinfo 4 Apr 2018 16:10:02 -0000 1.10
+++ distinfo 29 Jun 2018 13:45:49 -0000
@@ -1,2 +1,2 @@
-SHA256 (zstd-1.3.4.tar.gz) = kuQbbo3Sa71GJI6KodhvFVG8Ihp5Yneuk2KVTybWBak=
-SIZE (zstd-1.3.4.tar.gz) = 2059958
+SHA256 (zstd-1.3.5.tar.gz) = 1uFVnkzbfEImdn1N3JkL/1+aq3cIX/DQSQyCiwJeLuo=
+SIZE (zstd-1.3.5.tar.gz) = 1706005
Index: patches/patch-Makefile
===================================================================
RCS file: patches/patch-Makefile
diff -N patches/patch-Makefile
--- patches/patch-Makefile 4 Apr 2018 16:10:02 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-Makefile,v 1.2 2018/04/04 16:10:02 bket Exp $
-
-Index: Makefile
---- Makefile.orig
-+++ Makefile
-@@ -120,7 +120,7 @@ clean:
-
#------------------------------------------------------------------------------
- # make install is validated only for Linux, OSX, Hurd and some BSD targets
-
#------------------------------------------------------------------------------
--ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD
DragonFly NetBSD MSYS_NT))
-+ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD
DragonFly NetBSD MSYS_NT))
-
- HOST_OS = POSIX
- CMAKE_PARAMS = -DZSTD_BUILD_CONTRIB:BOOL=ON -DZSTD_BUILD_STATIC:BOOL=ON
-DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_ZLIB_SUPPORT:BOOL=ON
-DZSTD_LZMA_SUPPORT:BOOL=ON
Index: patches/patch-examples_Makefile
===================================================================
RCS file: patches/patch-examples_Makefile
diff -N patches/patch-examples_Makefile
--- patches/patch-examples_Makefile 4 Apr 2018 16:10:02 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-examples_Makefile,v 1.1 2018/04/04 16:10:02 bket Exp $
-
-Index: examples/Makefile
---- examples/Makefile.orig
-+++ examples/Makefile
-@@ -22,7 +22,7 @@ all: simple_compression simple_decompression \
- multiple_streaming_compression streaming_memory_usage
-
- $(LIB) :
-- make -C ../lib libzstd.a
-+ $(MAKE) -C ../lib libzstd.a
-
- simple_compression : simple_compression.c $(LIB)
- $(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@
Index: patches/patch-lib_Makefile
===================================================================
RCS file: /cvs/ports/archivers/zstd/patches/patch-lib_Makefile,v
retrieving revision 1.1
diff -u -p -r1.1 patch-lib_Makefile
--- patches/patch-lib_Makefile 4 Jan 2018 14:47:20 -0000 1.1
+++ patches/patch-lib_Makefile 29 Jun 2018 13:45:49 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-lib_Makefile,v 1.1 2018/
Index: lib/Makefile
--- lib/Makefile.orig
+++ lib/Makefile
-@@ -51,10 +51,10 @@ ifeq ($(shell uname), Darwin)
+@@ -85,10 +85,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)
else
@@ -16,7 +16,7 @@ Index: lib/Makefile
endif
LIBZSTD = libzstd.$(SHARED_EXT_VER)
-@@ -69,7 +69,7 @@ all: lib
+@@ -103,7 +103,7 @@ all: lib
libzstd.a: ARFLAGS = rcs
libzstd.a: $(ZSTD_OBJ)
@echo compiling static library
@@ -25,7 +25,7 @@ Index: lib/Makefile
libzstd.a-mt: CPPFLAGS += -DZSTD_MULTITHREAD
libzstd.a-mt: libzstd.a
-@@ -81,7 +81,7 @@ ifneq (,$(filter Windows%,$(OS)))
+@@ -115,7 +115,7 @@ ifneq (,$(filter Windows%,$(OS)))
@$(CC) $(FLAGS) -DZSTD_DLL_EXPORT=1 -shared $^ -o dll\libzstd.dll
dlltool -D dll\libzstd.dll -d dll\libzstd.def -l dll\libzstd.lib
else
@@ -34,21 +34,12 @@ Index: lib/Makefile
@echo creating versioned links
@ln -sf $@ libzstd.$(SHARED_EXT_MAJOR)
@ln -sf $@ libzstd.$(SHARED_EXT)
-@@ -134,7 +134,7 @@ LIBDIR ?= $(libdir)
- includedir ?= $(PREFIX)/include
- INCLUDEDIR ?= $(includedir)
-
--ifneq (,$(filter $(shell uname),OpenBSD FreeBSD NetBSD DragonFly))
-+ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
- PKGCONFIGDIR ?= $(PREFIX)/libdata/pkgconfig
- else
- PKGCONFIGDIR ?= $(LIBDIR)/pkgconfig
-@@ -165,8 +165,6 @@ install: libzstd.a libzstd libzstd.pc
- @echo Installing libraries
- @$(INSTALL_DATA) libzstd.a $(DESTDIR)$(LIBDIR)
+@@ -209,8 +209,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)
+
+ install-includes:
@echo Installing includes
- @$(INSTALL_DATA) zstd.h $(DESTDIR)$(INCLUDEDIR)
- @$(INSTALL_DATA) common/zstd_errors.h $(DESTDIR)$(INCLUDEDIR)
Index: patches/patch-lib_dictBuilder_cover_c
===================================================================
RCS file: patches/patch-lib_dictBuilder_cover_c
diff -N patches/patch-lib_dictBuilder_cover_c
--- patches/patch-lib_dictBuilder_cover_c 4 Apr 2018 16:10:02 -0000
1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-$OpenBSD: patch-lib_dictBuilder_cover_c,v 1.1 2018/04/04 16:10:02 bket Exp $
-
-zstd doesn't play nice with libc's qsort(). Reason is that qsort() is not
-guaranteed to be stable. Proposed fix is to use libc's mergesort() instead.
-
-https://github.com/facebook/zstd/issues/1088
-
-Index: lib/dictBuilder/cover.c
---- lib/dictBuilder/cover.c.orig
-+++ lib/dictBuilder/cover.c
-@@ -583,7 +583,7 @@ static int COVER_ctx_init(COVER_ctx_t *ctx, const void
- }
- /* qsort doesn't take an opaque pointer, so pass as a global */
- g_ctx = ctx;
-- qsort(ctx->suffix, ctx->suffixSize, sizeof(U32),
-+ mergesort(ctx->suffix, ctx->suffixSize, sizeof(U32),
- (ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp));
- }
- DISPLAYLEVEL(2, "Computing frequencies\n");
Index: patches/patch-tests_playTests_sh
===================================================================
RCS file: /cvs/ports/archivers/zstd/patches/patch-tests_playTests_sh,v
retrieving revision 1.9
diff -u -p -r1.9 patch-tests_playTests_sh
--- patches/patch-tests_playTests_sh 4 Apr 2018 16:10:02 -0000 1.9
+++ patches/patch-tests_playTests_sh 29 Jun 2018 13:45:49 -0000
@@ -1,21 +1,19 @@
-$OpenBSD: patch-tests_playTests_sh,v 1.9 2018/04/04 16:10:02 bket Exp $
+$OpenBSD$
+
+Revert https://github.com/facebook/zstd/pull/1124 as it causes 'make test' to
+fail. This is explained by a test trying to write to /dev/random, which fails
+as a regular user is not allowed to write to this device. /dev/zero has
+different permissions set.
+
Index: tests/playTests.sh
--- tests/playTests.sh.orig
+++ tests/playTests.sh
-@@ -69,6 +69,7 @@ UNAME=$(uname)
- case "$UNAME" in
- Darwin) MD5SUM="md5 -r" ;;
- FreeBSD) MD5SUM="gmd5sum" ;;
-+ OpenBSD) MD5SUM="md5" ;;
- *) MD5SUM="md5sum" ;;
- esac
+@@ -56,7 +56,7 @@ fi
-@@ -258,7 +259,7 @@ rm ./*.tmp ./*.zstd
- $ECHO "frame concatenation tests completed"
-
-
--if [ "$isWindows" = false ] && [ "$UNAME" != 'SunOS' ] ; then
-+if [ "$isWindows" = false ] && [ "$UNAME" != 'SunOS' ] && [ "$(uname -s)" !=
"OpenBSD" ] ; then
- $ECHO "\n**** flush write error test **** "
-
- $ECHO "$ECHO foo | $ZSTD > /dev/full"
+ isWindows=false
+ INTOVOID="/dev/null"
+-DEVDEVICE="/dev/random"
++DEVDEVICE="/dev/zero"
+ case "$OS" in
+ Windows*)
+ isWindows=true