From owner-dev-commits-ports-all@freebsd.org Fri Aug 13 01:50:40 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 4CE4D675EB1; Fri, 13 Aug 2021 01:50:40 +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 4Gm62m1jNyz4bTN; Fri, 13 Aug 2021 01:50:40 +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 235B02D8DD; Fri, 13 Aug 2021 01:50:40 +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 17D1oeMu021643; Fri, 13 Aug 2021 01:50:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 17D1oehJ021642; Fri, 13 Aug 2021 01:50:40 GMT (envelope-from git) Date: Fri, 13 Aug 2021 01:50:40 GMT Message-Id: <202108130150.17D1oehJ021642@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: 35f24e09c672 - main - archivers/vbz-compression: Compression for Oxford Nanopore signal data 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: 35f24e09c6727c745478197cdd15e9294238884f 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 01:50:40 -0000 The branch main has been updated by jwb: URL: https://cgit.FreeBSD.org/ports/commit/?id=35f24e09c6727c745478197cdd15e9294238884f commit 35f24e09c6727c745478197cdd15e9294238884f Author: Jason W. Bacon AuthorDate: 2021-08-13 01:48:47 +0000 Commit: Jason W. Bacon CommitDate: 2021-08-13 01:50:35 +0000 archivers/vbz-compression: Compression for Oxford Nanopore signal data VBZ Compression uses variable byte integer encoding to compress Oxford Nanopore signal data. --- archivers/Makefile | 1 + archivers/vbz-compression/Makefile | 31 ++++++++++++++++++ archivers/vbz-compression/distinfo | 3 ++ .../vbz-compression/files/patch-CMakeLists.txt | 37 ++++++++++++++++++++++ .../vbz-compression/files/patch-vbz_CMakeLists.txt | 15 +++++++++ archivers/vbz-compression/pkg-descr | 10 ++++++ 6 files changed, 97 insertions(+) diff --git a/archivers/Makefile b/archivers/Makefile index 22c1259cb943..fca4d8a860c5 100644 --- a/archivers/Makefile +++ b/archivers/Makefile @@ -245,6 +245,7 @@ SUBDIR += urbackup-client SUBDIR += urbackup-server SUBDIR += v1541commander + SUBDIR += vbz-compression SUBDIR += xar SUBDIR += xarchive SUBDIR += xarchiver diff --git a/archivers/vbz-compression/Makefile b/archivers/vbz-compression/Makefile new file mode 100644 index 000000000000..db7a778e88ba --- /dev/null +++ b/archivers/vbz-compression/Makefile @@ -0,0 +1,31 @@ +PORTNAME= vbz-compression +DISTVERSIONPREFIX= v +DISTVERSION= 1.0.1 +CATEGORIES= archivers + +MAINTAINER= jwb@FreeBSD.org +COMMENT= Variable byte integer encoding to compress Oxford Nanopore signal data + +LICENSE= MPL20 +LICENSE_FILE= ${WRKSRC}/LICENCE.txt + +BUILD_DEPENDS= streamvbyte>=0.4.1:archivers/streamvbyte +LIB_DEPENDS= libhdf5.so:science/hdf5 \ + libzstd.so:archivers/zstd + +USES= cmake +USE_GITHUB= yes +USE_LDCONFIG= ${PREFIX}/hdf5/lib/plugin + +GH_ACCOUNT= nanoporetech +GH_PROJECT= vbz_compression + +CMAKE_ARGS= -DENABLE_CONAN=OFF \ + -DENABLE_PERF_TESTING=OFF \ + -DENABLE_PYTHON=OFF \ + -DSTREAMVBYTE_INSTALL_DIR=${LOCALBASE} \ + -DSTREAMVBYTE_STATIC_LIB=${LOCALBASE}/lib/libstreamvbyte_static.a + +PLIST_FILES= hdf5/lib/plugin/libvbz_hdf_plugin.so + +.include diff --git a/archivers/vbz-compression/distinfo b/archivers/vbz-compression/distinfo new file mode 100644 index 000000000000..38af63eba95a --- /dev/null +++ b/archivers/vbz-compression/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1628777147 +SHA256 (nanoporetech-vbz_compression-v1.0.1_GH0.tar.gz) = 3c140fb4f60f8451db68768457c59b10aadba4c33f1b1a1eadb4439345b68192 +SIZE (nanoporetech-vbz_compression-v1.0.1_GH0.tar.gz) = 5292519 diff --git a/archivers/vbz-compression/files/patch-CMakeLists.txt b/archivers/vbz-compression/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..048c9e78875d --- /dev/null +++ b/archivers/vbz-compression/files/patch-CMakeLists.txt @@ -0,0 +1,37 @@ +--- CMakeLists.txt.orig 2020-06-19 15:45:38 UTC ++++ CMakeLists.txt +@@ -139,34 +139,6 @@ find_package(HDF5 1.8.16) + find_package(zstd 1.3.1 REQUIRED) + find_package(Sanitizers) + +-get_filename_component(STREAMVBYTE_SOURCE_DIR +- third_party/streamvbyte +- ABSOLUTE +-) +-set(STREAMVBYTE_INSTALL_DIR "${CMAKE_BINARY_DIR}/streamvbyte_lib/") +-set(STREAMVBYTE_PREFIX ${CMAKE_BINARY_DIR}/streamvbyte) +-set(STREAMVBYTE_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}streamvbyte_static${CMAKE_STATIC_LIBRARY_SUFFIX}) +-set(STREAMVBYTE_STATIC_LIB_SUBDIR ".") +-get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +-if (is_multi_config) +- set(STREAMVBYTE_STATIC_LIB_SUBDIR "$") +-endif() +-ExternalProject_Add( +- streamvbyte +- SOURCE_DIR ${STREAMVBYTE_SOURCE_DIR} +- UPDATE_DISCONNECTED TRUE +- PREFIX ${STREAMVBYTE_PREFIX} +- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STREAMVBYTE_INSTALL_DIR} -DSTREAMVBYTE_DISABLE_NATIVE=ON -DSTD_FLAGS="-std=c99" +- # We need to tell CMake about libraries we will link to, otherwise some generators (eg: Ninja) +- # complain about how knowing how to build libstreamvbyte_static.a, for example. +- # Ideally, we'd set a hypothetical INSTALL_BYPRODUCTS, and link to the installed file, but that +- # doesn't seem to be an option. +- BUILD_BYPRODUCTS "/${STREAMVBYTE_STATIC_LIB_NAME}" +-) +-ExternalProject_Get_Property(streamvbyte BINARY_DIR) +-set(STREAMVBYTE_STATIC_LIB "${BINARY_DIR}/${STREAMVBYTE_STATIC_LIB_SUBDIR}/${STREAMVBYTE_STATIC_LIB_NAME}") +- +- + ######################################################################## + # + # Warnings diff --git a/archivers/vbz-compression/files/patch-vbz_CMakeLists.txt b/archivers/vbz-compression/files/patch-vbz_CMakeLists.txt new file mode 100644 index 000000000000..fe9d4131a9f9 --- /dev/null +++ b/archivers/vbz-compression/files/patch-vbz_CMakeLists.txt @@ -0,0 +1,15 @@ +--- vbz/CMakeLists.txt.orig 2020-06-19 15:45:38 UTC ++++ vbz/CMakeLists.txt +@@ -25,12 +25,6 @@ target_include_directories(vbz + ${STREAMVBYTE_INSTALL_DIR}/include + ) + +-# This explicit dependency is required to make sure the header files are installed into the right +-# location before we try building against them. +-add_dependencies(vbz +- streamvbyte +-) +- + if (WIN32 OR APPLE OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64") + if(NOT MSVC) + target_compile_options(vbz PRIVATE -mssse3) diff --git a/archivers/vbz-compression/pkg-descr b/archivers/vbz-compression/pkg-descr new file mode 100644 index 000000000000..78a0d6ace188 --- /dev/null +++ b/archivers/vbz-compression/pkg-descr @@ -0,0 +1,10 @@ +VBZ Compression uses variable byte integer encoding to compress Oxford +Nanopore signal data. + +The performance of VBZ is achieved by taking advantage of the properties of the +raw signal and therefore is most effective when applied to the signal dataset. +Other datasets you may have in your Fast5 files will not be able to take +advantage of the default VBZ settings for compression. VBZ will be used as the +default compression scheme in a future release of MinKNOW. + +WWW: https://github.com/nanoporetech/vbz_compression