From owner-dev-commits-ports-all@freebsd.org Fri Aug 13 00:39:06 2021 Return-Path: Delivered-To: dev-commits-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 91D7B674A66; Fri, 13 Aug 2021 00:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Gm4SB3h0Hz4X5l; Fri, 13 Aug 2021 00:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6253A2C999; Fri, 13 Aug 2021 00:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 17D0d6jQ017967; Fri, 13 Aug 2021 00:39:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 17D0d67j017966; Fri, 13 Aug 2021 00:39:06 GMT (envelope-from git) Date: Fri, 13 Aug 2021 00:39:06 GMT Message-Id: <202108130039.17D0d67j017966@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: "Jason W. Bacon" Subject: git: ebe45fb054f9 - main - archivers/streamvbyte: Integer compression with SIMD based on Google's varint MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jwb X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ebe45fb054f91b6c193c592ddef0ee1403ca7dd9 Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Aug 2021 00:39:06 -0000 The branch main has been updated by jwb: URL: https://cgit.FreeBSD.org/ports/commit/?id=ebe45fb054f91b6c193c592ddef0ee1403ca7dd9 commit ebe45fb054f91b6c193c592ddef0ee1403ca7dd9 Author: Jason W. Bacon AuthorDate: 2021-08-13 00:38:32 +0000 Commit: Jason W. Bacon CommitDate: 2021-08-13 00:38:32 +0000 archivers/streamvbyte: Integer compression with SIMD based on Google's varint StreamVByte is an integer compression technique that applies SIMD instructions (vectorization) to Google's varint approach. The net result is faster than other byte-oriented compression techniques. --- archivers/Makefile | 1 + archivers/streamvbyte/Makefile | 38 ++++++++++++++++++++++++ archivers/streamvbyte/distinfo | 3 ++ archivers/streamvbyte/files/patch-CMakeLists.txt | 23 ++++++++++++++ archivers/streamvbyte/pkg-descr | 13 ++++++++ 5 files changed, 78 insertions(+) diff --git a/archivers/Makefile b/archivers/Makefile index 8494c1a9dc39..22c1259cb943 100644 --- a/archivers/Makefile +++ b/archivers/Makefile @@ -216,6 +216,7 @@ SUBDIR += snzip SUBDIR += squsq SUBDIR += star + SUBDIR += streamvbyte SUBDIR += stuffit SUBDIR += szip SUBDIR += tar-stream-chunker diff --git a/archivers/streamvbyte/Makefile b/archivers/streamvbyte/Makefile new file mode 100644 index 000000000000..69708e93a9a7 --- /dev/null +++ b/archivers/streamvbyte/Makefile @@ -0,0 +1,38 @@ +PORTNAME= streamvbyte +DISTVERSIONPREFIX= v +DISTVERSION= 0.4.1 +CATEGORIES= archivers + +MAINTAINER= jwb@FreeBSD.org +COMMENT= Integer compression with SIMD based on Google's varint + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BROKEN_powerpc= Test fails on big-endian systems +BROKEN_powerpc64= Test fails on big-endian systems + +USES= cmake +USE_GITHUB= yes +USE_LDCONFIG= yes + +GH_ACCOUNT= lemire + +CFLAGS+= -fPIC # For vbz-compression using static lib + +PLIST_FILES= include/streamvbyte.h \ + include/streamvbyte_zigzag.h \ + include/streamvbytedelta.h \ + lib/libstreamvbyte.so \ + lib/libstreamvbyte.so.0.0.1 \ + lib/libstreamvbyte_static.a + +# so version taken from basic Makefile +post-stage: + ${RLN} ${STAGEDIR}${PREFIX}/lib/libstreamvbyte.so \ + ${STAGEDIR}${PREFIX}/lib/libstreamvbyte.so.0.0.1 + +do-test: + cd ${WRKDIR}/.build && ./unit + +.include diff --git a/archivers/streamvbyte/distinfo b/archivers/streamvbyte/distinfo new file mode 100644 index 000000000000..d74374800ef6 --- /dev/null +++ b/archivers/streamvbyte/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1628771432 +SHA256 (lemire-streamvbyte-v0.4.1_GH0.tar.gz) = 4c4e53134a60b0b06816d3faa7dcde28c3e5e8a656dd415d16d80ae6e3d39fcc +SIZE (lemire-streamvbyte-v0.4.1_GH0.tar.gz) = 31065 diff --git a/archivers/streamvbyte/files/patch-CMakeLists.txt b/archivers/streamvbyte/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..d95df27fcffa --- /dev/null +++ b/archivers/streamvbyte/files/patch-CMakeLists.txt @@ -0,0 +1,23 @@ +--- CMakeLists.txt.orig 2021-08-11 23:13:03 UTC ++++ CMakeLists.txt +@@ -25,7 +25,6 @@ if(CMAKE_BUILD_TYPE MATCHES Debug) + else() + set(BASE_FLAGS + ${BASE_FLAGS} +- "-O3" + "-g" + ) + endif() +@@ -66,12 +65,6 @@ install(FILES + install( + TARGETS streamvbyte streamvbyte_static + DESTINATION lib) +-## -march=native is not supported on some platforms +-if(NOT MSVC) +-if(NOT STREAMVBYTE_DISABLE_NATIVE) +-set(OPT_FLAGS "-march=native") +-endif() +-endif() + + set(CMAKE_C_FLAGS "${STD_FLAGS} ${OPT_FLAGS} ${INCLUDE_FLAGS} ${WARNING_FLAGS} ${SANITIZE_FLAGS} ") + diff --git a/archivers/streamvbyte/pkg-descr b/archivers/streamvbyte/pkg-descr new file mode 100644 index 000000000000..449a758627f6 --- /dev/null +++ b/archivers/streamvbyte/pkg-descr @@ -0,0 +1,13 @@ +StreamVByte is an integer compression technique that applies SIMD +instructions (vectorization) to Google's varint approach. The net result +is faster than other byte-oriented compression techniques. + +The approach is patent-free, the code is available under the Apache License. + +It includes fast differential coding. + +It assumes a recent Intel processor (e.g., haswell or better, though we provide +runtime dispatching for compatibility with legacy systems) or an ARM processor +with NEON instructions (which is almost all of them). + +WWW: https://github.com/lemire/streamvbyte