summaryrefslogtreecommitdiff
path: root/archivers
diff options
context:
space:
mode:
authorwiz <wiz>2016-09-04 12:36:59 +0000
committerwiz <wiz>2016-09-04 12:36:59 +0000
commit6f30021cfcdbeae4e8a907092d0540e2a1b73adc (patch)
treef372823c155b7c87c90ac25a188a6f38d7b103ac /archivers
parent0da516396a7b053380dc6e2d81860007e6ce5255 (diff)
downloadpkgsrc-6f30021cfcdbeae4e8a907092d0540e2a1b73adc.tar.gz
Import zstd-1.0.0 as archivers/zstd.
Zstd, short for Zstandard, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.
Diffstat (limited to 'archivers')
-rw-r--r--archivers/zstd/DESCR3
-rw-r--r--archivers/zstd/Makefile18
-rw-r--r--archivers/zstd/PLIST15
-rw-r--r--archivers/zstd/distinfo11
-rw-r--r--archivers/zstd/patches/patch-Makefile15
-rw-r--r--archivers/zstd/patches/patch-lib_Makefile15
-rw-r--r--archivers/zstd/patches/patch-programs_Makefile15
-rw-r--r--archivers/zstd/patches/patch-tests_zbufftest.c121
-rw-r--r--archivers/zstd/patches/patch-tests_zstreamtest.c129
9 files changed, 342 insertions, 0 deletions
diff --git a/archivers/zstd/DESCR b/archivers/zstd/DESCR
new file mode 100644
index 00000000000..4503b242706
--- /dev/null
+++ b/archivers/zstd/DESCR
@@ -0,0 +1,3 @@
+Zstd, short for Zstandard, is a fast lossless compression algorithm,
+targeting real-time compression scenarios at zlib-level and better
+compression ratios.
diff --git a/archivers/zstd/Makefile b/archivers/zstd/Makefile
new file mode 100644
index 00000000000..a5b61ae50b2
--- /dev/null
+++ b/archivers/zstd/Makefile
@@ -0,0 +1,18 @@
+# $NetBSD: Makefile,v 1.1 2016/09/04 12:36:59 wiz Exp $
+
+DISTNAME= zstd-1.0.0
+CATEGORIES= archivers
+MASTER_SITES= ${MASTER_SITE_GITHUB:=facebook/}
+GITHUB_TAG= v${PKGVERSION_NOREV}
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.zstd.net/
+COMMENT= Fast real-time compression algorithm
+LICENSE= modified-bsd
+
+USE_TOOLS+= gmake pkg-config
+MAKE_FLAGS= MANDIR=${PREFIX}/${PKGMANDIR}/man1
+
+PKGCONFIG_OVERRIDE+= lib/libzstd.pc.in
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/archivers/zstd/PLIST b/archivers/zstd/PLIST
new file mode 100644
index 00000000000..561eafda1a9
--- /dev/null
+++ b/archivers/zstd/PLIST
@@ -0,0 +1,15 @@
+@comment $NetBSD: PLIST,v 1.1 2016/09/04 12:36:59 wiz Exp $
+bin/unzstd
+bin/zstd
+bin/zstdcat
+include/zbuff.h
+include/zdict.h
+include/zstd.h
+lib/libzstd.a
+lib/libzstd.so
+lib/libzstd.so.1
+lib/libzstd.so.${PKGVERSION}
+lib/pkgconfig/libzstd.pc
+man/man1/unzstd.1
+man/man1/zstd.1
+man/man1/zstdcat.1
diff --git a/archivers/zstd/distinfo b/archivers/zstd/distinfo
new file mode 100644
index 00000000000..c14ab1c669a
--- /dev/null
+++ b/archivers/zstd/distinfo
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.1 2016/09/04 12:36:59 wiz Exp $
+
+SHA1 (zstd-1.0.0.tar.gz) = 4865e52b308fccbf8cabf704f63cadbeccb1b6d9
+RMD160 (zstd-1.0.0.tar.gz) = 37abd266b75dc62eea83e75f6868bfd7dc53a648
+SHA512 (zstd-1.0.0.tar.gz) = ba7b1c993656fa220dd8d4c8cd6b7999b0d7b59b4290d7767063f6c4bfbb81e04b9d9890dea4d223d48082ab253159209d6187dc7b42cafc28ebc738bfa17ace
+Size (zstd-1.0.0.tar.gz) = 593430 bytes
+SHA1 (patch-Makefile) = 6cb92b591d2daa236218714c50a85ad2d13516c4
+SHA1 (patch-lib_Makefile) = 1b4136bc1580547a129cc0ba2965fda9ebf90e3c
+SHA1 (patch-programs_Makefile) = 74d1c393e2918d4da27f18e915d9424965a68e5d
+SHA1 (patch-tests_zbufftest.c) = 68a796958aea6256ecd5ac18fc4c96d753ebbec2
+SHA1 (patch-tests_zstreamtest.c) = 31c0d6c661cc21119871d1ad3650d9842cbd59c1
diff --git a/archivers/zstd/patches/patch-Makefile b/archivers/zstd/patches/patch-Makefile
new file mode 100644
index 00000000000..d66fd4ceb76
--- /dev/null
+++ b/archivers/zstd/patches/patch-Makefile
@@ -0,0 +1,15 @@
+$NetBSD: patch-Makefile,v 1.1 2016/09/04 12:36:59 wiz Exp $
+
+Enable install target for NetBSD.
+
+--- Makefile.orig 2016-09-04 12:01:55.355932317 +0000
++++ Makefile
+@@ -51,7 +51,7 @@ clean:
+ #----------------------------------------------------------------------------------
+ #make install is validated only for Linux, OSX, kFreeBSD, Hurd and some BSD targets
+ #----------------------------------------------------------------------------------
+-ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD DragonFly))
++ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD DragonFly NetBSD))
+ HOST_OS = POSIX
+ install:
+ $(MAKE) -C $(ZSTDDIR) $@
diff --git a/archivers/zstd/patches/patch-lib_Makefile b/archivers/zstd/patches/patch-lib_Makefile
new file mode 100644
index 00000000000..efe60eaa94a
--- /dev/null
+++ b/archivers/zstd/patches/patch-lib_Makefile
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_Makefile,v 1.1 2016/09/04 12:36:59 wiz Exp $
+
+Enable install target for NetBSD.
+
+--- lib/Makefile.orig 2016-08-31 16:09:10.000000000 +0000
++++ lib/Makefile
+@@ -78,7 +78,7 @@ clean:
+
+ #------------------------------------------------------------------------
+ #make install is validated only for Linux, OSX, kFreeBSD, Hurd and some BSD targets
+-ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD DragonFly))
++ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD DragonFly NetBSD))
+
+ libzstd.pc:
+ libzstd.pc: libzstd.pc.in
diff --git a/archivers/zstd/patches/patch-programs_Makefile b/archivers/zstd/patches/patch-programs_Makefile
new file mode 100644
index 00000000000..72750a3b263
--- /dev/null
+++ b/archivers/zstd/patches/patch-programs_Makefile
@@ -0,0 +1,15 @@
+$NetBSD: patch-programs_Makefile,v 1.1 2016/09/04 12:36:59 wiz Exp $
+
+Enable install target for NetBSD.
+
+--- programs/Makefile.orig 2016-08-31 16:09:10.000000000 +0000
++++ programs/Makefile
+@@ -125,7 +125,7 @@ clean:
+ #----------------------------------------------------------------------------------
+ #make install is validated only for Linux, OSX, kFreeBSD, Hurd and some BSD targets
+ #----------------------------------------------------------------------------------
+-ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly))
++ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD))
+ install: zstd
+ @echo Installing binaries
+ @install -d -m 755 $(DESTDIR)$(BINDIR)/ $(DESTDIR)$(MANDIR)/
diff --git a/archivers/zstd/patches/patch-tests_zbufftest.c b/archivers/zstd/patches/patch-tests_zbufftest.c
new file mode 100644
index 00000000000..6675e084000
--- /dev/null
+++ b/archivers/zstd/patches/patch-tests_zbufftest.c
@@ -0,0 +1,121 @@
+$NetBSD: patch-tests_zbufftest.c,v 1.1 2016/09/04 12:36:59 wiz Exp $
+
+https://github.com/facebook/zstd/commit/5153a084f3065229bdcc689dd0cb2d90396b51c2
+
+--- tests/zbufftest.c.orig 2016-08-31 16:09:10.000000000 +0000
++++ tests/zbufftest.c
+@@ -23,7 +23,7 @@
+ **************************************/
+ #include <stdlib.h> /* free */
+ #include <stdio.h> /* fgets, sscanf */
+-#include <sys/timeb.h> /* timeb */
++#include <time.h> /* clock_t, clock() */
+ #include <string.h> /* strcmp */
+ #include "mem.h"
+ #define ZSTD_STATIC_LINKING_ONLY /* ZSTD_maxCLevel */
+@@ -58,13 +58,13 @@ static const U32 prime2 = 2246822519U;
+ static U32 g_displayLevel = 2;
+
+ #define DISPLAYUPDATE(l, ...) if (g_displayLevel>=l) { \
+- if ((FUZ_GetMilliSpan(g_displayTime) > g_refreshRate) || (g_displayLevel>=4)) \
+- { g_displayTime = FUZ_GetMilliStart(); DISPLAY(__VA_ARGS__); \
++ if ((FUZ_GetClockSpan(g_displayClock) > g_refreshRate) || (g_displayLevel>=4)) \
++ { g_displayClock = clock(); DISPLAY(__VA_ARGS__); \
+ if (g_displayLevel>=4) fflush(stdout); } }
+-static const U32 g_refreshRate = 150;
+-static U32 g_displayTime = 0;
++static const clock_t g_refreshRate = CLOCKS_PER_SEC * 15 / 100;
++static clock_t g_displayClock = 0;
+
+-static U32 g_testTime = 0;
++static clock_t g_clockTime = 0;
+
+
+ /*-*******************************************************
+@@ -72,23 +72,9 @@ static U32 g_testTime = 0;
+ *********************************************************/
+ #define MAX(a,b) ((a)>(b)?(a):(b))
+
+-static U32 FUZ_GetMilliStart(void)
++static clock_t FUZ_GetClockSpan(clock_t clockStart)
+ {
+- struct timeb tb;
+- U32 nCount;
+- ftime( &tb );
+- nCount = (U32) (((tb.time & 0xFFFFF) * 1000) + tb.millitm);
+- return nCount;
+-}
+-
+-
+-static U32 FUZ_GetMilliSpan(U32 nTimeStart)
+-{
+- U32 const nCurrent = FUZ_GetMilliStart();
+- U32 nSpan = nCurrent - nTimeStart;
+- if (nTimeStart > nCurrent)
+- nSpan += 0x100000 * 1000;
+- return nSpan;
++ return clock() - clockStart; /* works even when overflow. Max span ~ 30 mn */
+ }
+
+ /*! FUZ_rand() :
+@@ -291,7 +277,7 @@ static int fuzzerTests(U32 seed, U32 nbT
+ U32 coreSeed = seed;
+ ZBUFF_CCtx* zc;
+ ZBUFF_DCtx* zd;
+- U32 startTime = FUZ_GetMilliStart();
++ clock_t startClock = clock();
+
+ /* allocations */
+ zc = ZBUFF_createCCtx();
+@@ -321,7 +307,7 @@ static int fuzzerTests(U32 seed, U32 nbT
+ FUZ_rand(&coreSeed);
+
+ /* test loop */
+- for ( ; (testNb <= nbTests) || (FUZ_GetMilliSpan(startTime) < g_testTime) ; testNb++ ) {
++ for ( ; (testNb <= nbTests) || (FUZ_GetClockSpan(startClock) < g_clockTime) ; testNb++ ) {
+ U32 lseed;
+ const BYTE* srcBuffer;
+ const BYTE* dict;
+@@ -543,7 +529,7 @@ int main(int argc, const char** argv)
+
+ case 'i':
+ argument++;
+- nbTests=0; g_testTime=0;
++ nbTests=0; g_clockTime=0;
+ while ((*argument>='0') && (*argument<='9')) {
+ nbTests *= 10;
+ nbTests += *argument - '0';
+@@ -553,15 +539,15 @@ int main(int argc, const char** argv)
+
+ case 'T':
+ argument++;
+- nbTests=0; g_testTime=0;
++ nbTests=0; g_clockTime=0;
+ while ((*argument>='0') && (*argument<='9')) {
+- g_testTime *= 10;
+- g_testTime += *argument - '0';
++ g_clockTime *= 10;
++ g_clockTime += *argument - '0';
+ argument++;
+ }
+- if (*argument=='m') g_testTime *=60, argument++;
++ if (*argument=='m') g_clockTime *=60, argument++;
+ if (*argument=='n') argument++;
+- g_testTime *= 1000;
++ g_clockTime *= CLOCKS_PER_SEC;
+ break;
+
+ case 's':
+@@ -605,7 +591,11 @@ int main(int argc, const char** argv)
+ /* Get Seed */
+ DISPLAY("Starting zstd_buffered tester (%i-bits, %s)\n", (int)(sizeof(size_t)*8), ZSTD_VERSION_STRING);
+
+- if (!seedset) seed = FUZ_GetMilliStart() % 10000;
++ if (!seedset) {
++ time_t const t = time(NULL);
++ U32 const h = XXH32(&t, sizeof(t), 1);
++ seed = h % 10000;
++ }
+ DISPLAY("Seed = %u\n", seed);
+ if (proba!=FUZ_COMPRESSIBILITY_DEFAULT) DISPLAY("Compressibility : %i%%\n", proba);
+
diff --git a/archivers/zstd/patches/patch-tests_zstreamtest.c b/archivers/zstd/patches/patch-tests_zstreamtest.c
new file mode 100644
index 00000000000..c04c9bf552f
--- /dev/null
+++ b/archivers/zstd/patches/patch-tests_zstreamtest.c
@@ -0,0 +1,129 @@
+$NetBSD: patch-tests_zstreamtest.c,v 1.1 2016/09/04 12:36:59 wiz Exp $
+
+https://github.com/facebook/zstd/commit/ef9999f0b9762003f96a3e5bddb7e60dace458bc
+
+--- tests/zstreamtest.c.orig 2016-08-31 16:09:10.000000000 +0000
++++ tests/zstreamtest.c
+@@ -23,13 +23,13 @@
+ **************************************/
+ #include <stdlib.h> /* free */
+ #include <stdio.h> /* fgets, sscanf */
+-#include <sys/timeb.h> /* timeb */
++#include <time.h> /* clock_t, clock() */
+ #include <string.h> /* strcmp */
+ #include "mem.h"
+-#define ZSTD_STATIC_LINKING_ONLY /* ZSTD_maxCLevel */
++#define ZSTD_STATIC_LINKING_ONLY /* ZSTD_maxCLevel, ZSTD_customMem */
+ #include "zstd.h" /* ZSTD_compressBound */
+ #include "datagen.h" /* RDG_genBuffer */
+-#define XXH_STATIC_LINKING_ONLY
++#define XXH_STATIC_LINKING_ONLY /* XXH64_state_t */
+ #include "xxhash.h" /* XXH64_* */
+
+
+@@ -55,13 +55,13 @@ static const U32 prime2 = 2246822519U;
+ static U32 g_displayLevel = 2;
+
+ #define DISPLAYUPDATE(l, ...) if (g_displayLevel>=l) { \
+- if ((FUZ_GetMilliSpan(g_displayTime) > g_refreshRate) || (g_displayLevel>=4)) \
+- { g_displayTime = FUZ_GetMilliStart(); DISPLAY(__VA_ARGS__); \
++ if ((FUZ_GetClockSpan(g_displayClock) > g_refreshRate) || (g_displayLevel>=4)) \
++ { g_displayClock = clock(); DISPLAY(__VA_ARGS__); \
+ if (g_displayLevel>=4) fflush(stdout); } }
+-static const U32 g_refreshRate = 150;
+-static U32 g_displayTime = 0;
++static const clock_t g_refreshRate = CLOCKS_PER_SEC * 15 / 100;
++static clock_t g_displayClock = 0;
+
+-static U32 g_testTime = 0;
++static clock_t g_clockTime = 0;
+
+
+ /*-*******************************************************
+@@ -69,22 +69,9 @@ static U32 g_testTime = 0;
+ *********************************************************/
+ #define MAX(a,b) ((a)>(b)?(a):(b))
+
+-static U32 FUZ_GetMilliStart(void)
++static clock_t FUZ_GetClockSpan(clock_t clockStart)
+ {
+- struct timeb tb;
+- U32 nCount;
+- ftime( &tb );
+- nCount = (U32) (((tb.time & 0xFFFFF) * 1000) + tb.millitm);
+- return nCount;
+-}
+-
+-static U32 FUZ_GetMilliSpan(U32 nTimeStart)
+-{
+- U32 const nCurrent = FUZ_GetMilliStart();
+- U32 nSpan = nCurrent - nTimeStart;
+- if (nTimeStart > nCurrent)
+- nSpan += 0x100000 * 1000;
+- return nSpan;
++ return clock() - clockStart; /* works even when overflow. Max span ~ 30 mn */
+ }
+
+ /*! FUZ_rand() :
+@@ -336,7 +323,7 @@ static int fuzzerTests(U32 seed, U32 nbT
+ U32 coreSeed = seed;
+ ZSTD_CStream* zc;
+ ZSTD_DStream* zd;
+- U32 startTime = FUZ_GetMilliStart();
++ clock_t startClock = clock();
+
+ /* allocations */
+ zc = ZSTD_createCStream();
+@@ -366,7 +353,7 @@ static int fuzzerTests(U32 seed, U32 nbT
+ FUZ_rand(&coreSeed);
+
+ /* test loop */
+- for ( ; (testNb <= nbTests) || (FUZ_GetMilliSpan(startTime) < g_testTime) ; testNb++ ) {
++ for ( ; (testNb <= nbTests) || (FUZ_GetClockSpan(startClock) < g_clockTime) ; testNb++ ) {
+ U32 lseed;
+ const BYTE* srcBuffer;
+ const BYTE* dict;
+@@ -594,7 +581,7 @@ int main(int argc, const char** argv)
+
+ case 'i':
+ argument++;
+- nbTests=0; g_testTime=0;
++ nbTests=0; g_clockTime=0;
+ while ((*argument>='0') && (*argument<='9')) {
+ nbTests *= 10;
+ nbTests += *argument - '0';
+@@ -604,15 +591,15 @@ int main(int argc, const char** argv)
+
+ case 'T':
+ argument++;
+- nbTests=0; g_testTime=0;
++ nbTests=0; g_clockTime=0;
+ while ((*argument>='0') && (*argument<='9')) {
+- g_testTime *= 10;
+- g_testTime += *argument - '0';
++ g_clockTime *= 10;
++ g_clockTime += *argument - '0';
+ argument++;
+ }
+- if (*argument=='m') g_testTime *=60, argument++;
++ if (*argument=='m') g_clockTime *=60, argument++;
+ if (*argument=='n') argument++;
+- g_testTime *= 1000;
++ g_clockTime *= CLOCKS_PER_SEC;
+ break;
+
+ case 's':
+@@ -656,7 +643,12 @@ int main(int argc, const char** argv)
+ /* Get Seed */
+ DISPLAY("Starting zstream tester (%i-bits, %s)\n", (int)(sizeof(size_t)*8), ZSTD_VERSION_STRING);
+
+- if (!seedset) seed = FUZ_GetMilliStart() % 10000;
++ if (!seedset) {
++ time_t const t = time(NULL);
++ U32 const h = XXH32(&t, sizeof(t), 1);
++ seed = h % 10000;
++ }
++
+ DISPLAY("Seed = %u\n", seed);
+ if (proba!=FUZ_COMPRESSIBILITY_DEFAULT) DISPLAY("Compressibility : %i%%\n", proba);
+