commit:     2dd9d0a3daa9805a08bc7d92e45db53d33b49a48
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 10 10:21:54 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 10 10:27:41 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2dd9d0a3

dev-libs/c-blosc: Bump to 1.19.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-libs/c-blosc/Manifest                          |  1 +
 dev-libs/c-blosc/c-blosc-1.19.0.ebuild             | 50 ++++++++++++++++++++++
 dev-libs/c-blosc/files/c-blosc-1.19.0-xgetbv.patch | 33 ++++++++++++++
 3 files changed, 84 insertions(+)

diff --git a/dev-libs/c-blosc/Manifest b/dev-libs/c-blosc/Manifest
index 711561b638c..6894b7f68ab 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 00000000000..71488e42738
--- /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 00000000000..045a234028b
--- /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?= <[email protected]>
+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
+

Reply via email to