summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-06-10 12:21:54 +0200
committerMichał Górny <mgorny@gentoo.org>2020-06-10 12:27:41 +0200
commit2dd9d0a3daa9805a08bc7d92e45db53d33b49a48 (patch)
tree31abd78b9e045523e0a9a12d90b1d3940bacee86 /dev-libs/c-blosc
parentdev-python/ipyparallel: Fix doc path (diff)
downloadgentoo-2dd9d0a3daa9805a08bc7d92e45db53d33b49a48.tar.gz
gentoo-2dd9d0a3daa9805a08bc7d92e45db53d33b49a48.tar.bz2
gentoo-2dd9d0a3daa9805a08bc7d92e45db53d33b49a48.zip
dev-libs/c-blosc: Bump to 1.19.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-libs/c-blosc')
-rw-r--r--dev-libs/c-blosc/Manifest1
-rw-r--r--dev-libs/c-blosc/c-blosc-1.19.0.ebuild50
-rw-r--r--dev-libs/c-blosc/files/c-blosc-1.19.0-xgetbv.patch33
3 files changed, 84 insertions, 0 deletions
diff --git a/dev-libs/c-blosc/Manifest b/dev-libs/c-blosc/Manifest
index 711561b638cc..6894b7f68ab8 100644
--- a/dev-libs/c-blosc/Manifest
+++ b/dev-libs/c-blosc/Manifest
@@ -1 +1,2 @@
DIST c-blosc-1.11.2.tar.gz 633280 BLAKE2B 426de12ffa0db784fc26316e5758836517f3b3498111cfea64ebd2bc4582ebc6236f64845d41e75db272d3741ab8a7f22a12e0847fb7c98ba10a3ae2c2906e22 SHA512 c1282f60f4ef9d24844be225587e7f46c43ba8a5071f5ee49a7326bce9e84b65312c4f9606e78fd3d1209a4ca50f1c31312a7c377caf9522c9915177c92a4d7b
+DIST c-blosc-1.19.0.tar.gz 875356 BLAKE2B 046134e10fec639f1271d9c7cc15dcd239f9f0875f7ad324144338072e6fa006612f7d154ccde11a5dd7ee60471380aab4a60ae332cf1de4a7b773ae354c494a SHA512 15bc009f8880630c531ccd36544869d59b69d21f10c08eebf3c2983d203697429649a1b56b044e28342ec620c6f5850ee9da783005ce83f23e783f091289498c
diff --git a/dev-libs/c-blosc/c-blosc-1.19.0.ebuild b/dev-libs/c-blosc/c-blosc-1.19.0.ebuild
new file mode 100644
index 000000000000..71488e42738a
--- /dev/null
+++ b/dev-libs/c-blosc/c-blosc-1.19.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="https://www.blosc.org/"
+SRC_URI="https://github.com/Blosc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+lz4 +snappy test zlib zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ lz4? ( >=app-arch/lz4-1.7.5:= )
+ snappy? ( app-arch/snappy )
+ zlib? ( sys-libs/zlib )
+ zstd? ( app-arch/zstd )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-xgetbv.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ # remove bundled libs
+ rm -rf internal-complibs || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DDEACTIVATE_LZ4=$(usex !lz4)
+ -DDEACTIVATE_SNAPPY=$(usex !snappy)
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ # snappy is always external
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/c-blosc/files/c-blosc-1.19.0-xgetbv.patch b/dev-libs/c-blosc/files/c-blosc-1.19.0-xgetbv.patch
new file mode 100644
index 000000000000..045a234028be
--- /dev/null
+++ b/dev-libs/c-blosc/files/c-blosc-1.19.0-xgetbv.patch
@@ -0,0 +1,33 @@
+From 14d2d561795c276fc33c8cb54781dff76b398906 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 10 Jun 2020 12:13:39 +0200
+Subject: [PATCH] Redefine blosc_internal_xgetbv for platforms with immintrin.h
+
+Commit 2f2d876 renamed _xgetbv to blosc_internal_xgetbv. Commit 0b8608b
+made it conditional to immintrin.h not being included, apparently
+in order to prevent _xgetbv collision. However, since the block
+no longer defined _xgetbv but blosc_internal_xgetbv, it means that
+the latter is not defined if the condition is false. #define it to
+_xgetbv to fix missing symbol.
+---
+ blosc/shuffle.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/blosc/shuffle.c b/blosc/shuffle.c
+index fc2ca64..7a03bf1 100644
+--- a/blosc/shuffle.c
++++ b/blosc/shuffle.c
+@@ -195,6 +195,10 @@ blosc_internal_xgetbv(uint32_t xcr) {
+ return ((uint64_t)edx << 32) | eax;
+ }
+
++#else
++
++#define blosc_internal_xgetbv _xgetbv
++
+ #endif // !(defined(_IMMINTRIN_H_INCLUDED) && (BLOSC_GCC_VERSION >= 900))
+ #endif /* defined(_MSC_FULL_VER) */
+
+--
+2.27.0
+