summaryrefslogtreecommitdiff
path: root/media-gfx/openvdb
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
commit3cf7c3ef441822c889356fd1812ebf2944a59851 (patch)
treec513fe68548b40365c1c2ebfe35c58ad431cdd77 /media-gfx/openvdb
parent05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff)
gentoo resync : 25.08.2020
Diffstat (limited to 'media-gfx/openvdb')
-rw-r--r--media-gfx/openvdb/Manifest20
-rw-r--r--media-gfx/openvdb/files/openvdb-4.0.2-fix-build-docs.patch32
-rw-r--r--media-gfx/openvdb/files/openvdb-4.0.2-fix-const-correctness-for-unittest.patch35
-rw-r--r--media-gfx/openvdb/files/openvdb-5.2.0-use-pkgconfig-for-ilmbase-and-openexr.patch8
-rw-r--r--media-gfx/openvdb/files/openvdb-6.2.1-fix-multilib-header-source.patch38
-rw-r--r--media-gfx/openvdb/files/openvdb-6.2.1-use-gnuinstalldirs.patch54
-rw-r--r--media-gfx/openvdb/files/openvdb-7.1.0-0001-Fix-multilib-header-source.patch75
-rw-r--r--media-gfx/openvdb/files/openvdb-7.1.0-0002-Fix-doc-install-dir.patch25
-rw-r--r--media-gfx/openvdb/metadata.xml25
-rw-r--r--media-gfx/openvdb/openvdb-4.0.2-r3.ebuild57
-rw-r--r--media-gfx/openvdb/openvdb-5.2.0-r1.ebuild63
-rw-r--r--media-gfx/openvdb/openvdb-6.2.1.ebuild102
-rw-r--r--media-gfx/openvdb/openvdb-7.0.0.ebuild123
-rw-r--r--media-gfx/openvdb/openvdb-7.1.0.ebuild121
14 files changed, 731 insertions, 47 deletions
diff --git a/media-gfx/openvdb/Manifest b/media-gfx/openvdb/Manifest
index acd790b5ad8c..085e02467055 100644
--- a/media-gfx/openvdb/Manifest
+++ b/media-gfx/openvdb/Manifest
@@ -1,9 +1,21 @@
AUX openvdb-4.0.2-findboost-fix.patch 747 BLAKE2B a9dbded82960113bc3e4f623636d446a3877abf117980abc3660703e513bbebfe70b153d5b216afbebee9ccb7edda0902cbfb88c0e702e0282b9798910e965a3 SHA512 e29ee68ffd907da86d67cf7ca8e2adb955acc1725d5d22be7e1851f2c387e17fb51b46630964e897c3b536be3f05705f86ddd70be53c2329a171a8d23dd7fd4e
+AUX openvdb-4.0.2-fix-build-docs.patch 1436 BLAKE2B 5093138c7d1dbc7177c7a956b0b9e82a7661253f29ef3d000664735190791028439b403680d220acb748d7dce063ad5781d91802444295ab32ce91685540178e SHA512 e8908dc4eeb6e4e6694c6ceabd8a5965f04d74a53ac733436e45d0e954e8732205daf149fa2d0dddbc3894c276b52ba3db20acc2c6d091d9b008c7d85ff8db23
+AUX openvdb-4.0.2-fix-const-correctness-for-unittest.patch 1654 BLAKE2B 339e70de004c4a5b626100d8db21c4bf23e20953cfadb0bd8becf64116c2f47e8f83566074df4748d1ad7642a557e18f6cb4889495dbfbc8c826dbfc023f39c5 SHA512 25098a15a014ea3e78cb61f4aebce9c217a6e1ffc650df4a372c5b0639cc08b48e24788671d885edc9ae3ed89a558a8896ece5c122d0e17f8267d6ee3bfb1ea8
AUX openvdb-5.2.0-use-gnuinstalldirs.patch 10981 BLAKE2B 5ffdb1ec77280bc926d57fdccf9aa74db470e6031025a79e9503196bf4e4fa1984401eea8e5a7cb386545417014735a17bcf7dfc31aff79b8ef639ec82111255 SHA512 7ec960e07f1b1a81b32445e4cfc3769abb1d75d68076b825857fc12410525875bf50ba316da37d2a189d62162ad28c12530905d6c8696d1caa11b6d6752500a1
-AUX openvdb-5.2.0-use-pkgconfig-for-ilmbase-and-openexr.patch 2990 BLAKE2B d6508d578fb8be689f0a6af41b54f0d8ff158a52c2b0a3fe5940cf8cbce0707f2dee8ce228e8a3a80866f6702121849f15e20af281343ff574aecfdb95eef5cc SHA512 ce91505ca64326457caea3036ff899ff58b2aac4787b7bf84581a4ee55978179f93b57bb8a82a59fcf85d90cb85679fb2ec5e2d95e8b20760159ba55d590d5d5
+AUX openvdb-5.2.0-use-pkgconfig-for-ilmbase-and-openexr.patch 3343 BLAKE2B af20c099993e41a5d067146c166891ebe9bbde39ecf6329fc13d7830d6554388ca17721c44d598aa1d13db939dcdf5d1ea18a8ac9824d36c4899f3ba12ea7447 SHA512 7ffcc699342463bd79406c74b225e8c4033243f62c6d1ec6f8f0a94cc42e8d9262849dfaa1b3ed36a7818e576341ba90071a61350e7854a6993766a1fbd8f38f
+AUX openvdb-6.2.1-fix-multilib-header-source.patch 1536 BLAKE2B 8c08943217c457bf5137464f225db04aed64933f8b6e5257909d470193c5b64bce321b40029b30897967e17574514753e7787dbcb36d0e66396ecce674312f80 SHA512 331d47d2b0e41853ef6ce2d652e3ae3524f197188a0e1314b082e4c16eaffef7e34ebaf4b12e26cb519e6282bcf9747529f93ca9e85c32b4b26fe81efaa74749
+AUX openvdb-6.2.1-use-gnuinstalldirs.patch 1583 BLAKE2B 5ae011f52122231457e9dd0e3f93191d0965ae23f414459143cafb95c2b9b35d6672b095d4a94f2bb327173aa04456c7cb8248770895a8a0ca12513696ceb39f SHA512 b600367c0e431315436f142e1a4f1cffb780cedd9de16b215211109980132c60ee608c4b4f8b02605c0f55ed423f7e674bed6bea37687eb45c6f9112b54dcc1f
+AUX openvdb-7.1.0-0001-Fix-multilib-header-source.patch 2825 BLAKE2B 089bc79bbb8bd4544889c65d8bf064bf95869990778cb66595a19be402db85b569acb836b5918c902e6f6a10011a1480ef89e03636f951e30e5833eb667478cb SHA512 6968a60737b08bbec96beb8ec3796b7d99a713a798e37d8cd4015eacce7e7197b5befcd6721b310a4cdcfaca1781ab0cd7165958b14b487796a4159e9e214499
+AUX openvdb-7.1.0-0002-Fix-doc-install-dir.patch 1014 BLAKE2B 380c26e69da18479266201fd1233d19f3c39b13ee67d11cadca5bba900c470218a7563590f12a400a1f954155bfdfacc00862511ef05f3a61a54679924c57cae SHA512 21d4abf1cae31dfa8e59b6648a7c40f6f5f9572bdb87e6410144b427244ede488e059bf572344efc4e4cea91e7fb59b56364a7df6041f717db759002d09e8ee7
DIST openvdb-4.0.2-patchset-02.tar.xz 12428 BLAKE2B 2684ddf010df975912fcfc8c4f944d9a9ba447b48750140b6c46db31d49297f7495e5c77e9d5b85af0b2e1d0c4987184865642dc95f1fb3e463e85ee5987d203 SHA512 04377d552e218a8eb31c43381ba32263ba206a0870dccda1bcc031863dfdbcc953da7ea89fd420dc1a338fbd6123ac30bac2039c0a2a01c1fa9253a3fdd0b54d
DIST openvdb-4.0.2.tar.gz 1689119 BLAKE2B dbc8d4ab44990440e201327d76bbf9bfe3e8f597505b1d008dedb95dc540277513f465d455079c59820acc5056c9a2edf56235e1097b6c73a1f7dd8c59609c15 SHA512 8e3e12583b81f9b9303b309e839c8321c67b67ff8a0e61bb56c87276bf25c0deff22f5a73c7c5b661b8e5df345bfdabfa6b0aea9bf16fce57d9c53a76751c75d
DIST openvdb-5.2.0.tar.gz 1788969 BLAKE2B d146b78dd7db4936779ca214b1f7957d4868bf76aedb95c9a98e21d25983b750337a63bf4bc9ccb438b683988af7a3d708676dcf7b4662c84e4926e8000ceb68 SHA512 69e21190c27a055e476a319b0c2d961303fa2f3fec30bec93ed44072d01816ef89e5e8f0abfc3a22d1c73742aa31284c664596747b49cd985fea1a751776506e
-EBUILD openvdb-4.0.2-r3.ebuild 2293 BLAKE2B c011e11315446c4ac195e98312125824a99a8017f6191e2e5e318c61304fede08dea92c9edb7f884f0ff92f859bb931ca4fc088a7c37d4480bd4dbe8ed54cdce SHA512 1fe3530d7cfa75e55f5cbdba0ca79e350506f163ef35637e7476a88a2ce8de92e6cad7bff4f6b8cd40c9b711d8c2421a845dbe07205c8d6e6608a0599214dc2d
-EBUILD openvdb-5.2.0-r1.ebuild 2028 BLAKE2B 98aec54c4d96593bc53ef61ba71b85611ac0b93c0e01d7675ec1cd759ab1ed9f8a085b793b26946068ae8a8f28f00bcccc99367041df43360798303263a211cf SHA512 20a909898f3e88d0dc2be8220907478367bf31ff365095ddfad82991f58b8796bc64821fb3385376d64c02c99afeb52e430d91f87cb5fa6f3a886a91aa8661fd
-MISC metadata.xml 1033 BLAKE2B 303f49be8253322a0bbb94875f7b9b03e127e9d2ab2eea64fbac1cd51f50d5be749c4c45c9491fbf3f56de7420fdb47913b6ef3c2d12f5ea0545042f68d990d4 SHA512 a81a1cd4684197d1d9455b1398c9ba1592d596d52c8e8fc5c0cc8de0357c1f1df7478fd76e4e42cda09524b0bbf41985e13cf530adb7ca7f1605f086207301a8
+DIST openvdb-6.2.1.tar.gz 1935325 BLAKE2B 24ca340e513d2f22521994fbb2315a1c3f817bb35a7402ca481b12444e5ced58dfd773cc07b47a56d1ed9f6951e58cf1ef0b5c35917620b031383faed21c6557 SHA512 f5d830880316b5ca3921c77c75f3a254aba47d144ac6c0223fc2732d99cbd6b7ffb7f27049f8ab3760ad77b3658fc08a82728325ba753bc29932aa46336457de
+DIST openvdb-7.0.0.tar.gz 1872744 BLAKE2B e3a8c8d51f77e115d3d397abde0860a6322d56eb6c4795c1ba39539a23aab6cf37602ce7122965fbc3098b15b118b25010263f567e8003363b78c9b7d9d5dfd8 SHA512 f5321b22b10e192012d544cc02921d3d52f621778ec5aa21ba6d450f3e29f2fdbd76486ad390a0c008394dbc6ee4aeecc04527ef30e73adf71c1a08a021746b7
+DIST openvdb-7.1.0.tar.gz 1956052 BLAKE2B 7778d67bcc65ecb17b86f6e67a9e5f2d6574de5869a0a9c675ad7bc8540154c0f249a91c68a9da9068a3951b3e919e5676450fcaf13921c6263e7c87012a2f29 SHA512 49806375f7e6d7b12eaba24e672a068531d2f8a05f12eba29069710d2682f9983f9e6ad26047eed4b28e337f8d0e738b90130582863c710e8dd1e720bf0addad
+EBUILD openvdb-4.0.2-r3.ebuild 2586 BLAKE2B 66ca91b3b90af64436d73dc7447be12ebe705c507a3232a1b41fd883c26eae08751af189e35c9ab423cb3bdfe9fd3a8321adaac9df8da58bdcb4f6aaf0926e80 SHA512 d77f6ad528a3a660fe5553c8b3d545747bd6a6634538ec1b1ceb72025d7da658cc69fa023648ab6781d38da0a9dc80ae606595e4c4bf39aaadf22f71b5c6b9de
+EBUILD openvdb-5.2.0-r1.ebuild 2384 BLAKE2B 878871d565a68418dcf684cdd2464e9bb2c7278f3d1e9b5bc3d543415cd4e00cff63f237eacf2a58af57f287bd7dd70be098a95cb1d84525ab00f662a44ab6b6 SHA512 1b129380efaa23f33fd72fee32e4454b2872afe0bf17794d79bbfd6d58ba082b767a5cba133aa8cb2e2a1b22347318279b1ab17d01f696c39e3ef68ceddca460
+EBUILD openvdb-6.2.1.ebuild 2260 BLAKE2B 5ed0e241c5d038a3c9a013f3d0b55536c06f7c407bb92d0370d84b0d95a16b4c5de168d82719f91db25a789ba9c4fb434378a12d58fa9c25b753f40d794b3d1a SHA512 9eebb465a14d9f1d6b308829cdb0bc4232dcd71df56efc346659d6074e6eac886fef2dbc5cea451c61e546cd0a9c90ea41ba6a1320a29a156a0dcb429c471105
+EBUILD openvdb-7.0.0.ebuild 2762 BLAKE2B be75e5b95da7de9ea2ef4d0db8da198ed586b82fd15aa55e777b7f8b373f7227e526c6caafab4c9d9b8ab0ffe9042198d1f18f489e179e3acd55583b514a4a71 SHA512 2d3dc65ee06f4c2493c3ecfdca53c134c82f580506ea2c0249ee66382cd6909be5cdf8f44cd737a5eb42ad01dee5e036186074c76bf409ab546eb7828247a388
+EBUILD openvdb-7.1.0.ebuild 2684 BLAKE2B cdaf61392caa2ffbfd47c0b731fac60db860710bb9e8916efb3a50476672259626fb90299b995776cccc4a072b13b8ef52b553ddde52d44289ec692cebbdefeb SHA512 c9e371eedcbbd4366d13ca045c8c35c4ff351e325174949a884333a23b8828bb01e8a1333e92cbe8fc95fb4bab404de690a0d20ecc43d9b69e91f6c881d2a6f7
+MISC metadata.xml 1660 BLAKE2B 56a7113ef4e645a3a508d025f36129c78be342117583f9cc8ba3ffda2518b04bba3d928ad1fa9e78a601a0f1d216bc1744795c170a6cd3421f22c8754f192a98 SHA512 f5e21ebf80b7179b6bd041bcdf5cc53c4aab3cf99f829d9e26e56f3eea40a9d67edf8ec09d63a39b5e1a231df9d2e57b40e008786d25ee00e8ff2ca0ab0c399d
diff --git a/media-gfx/openvdb/files/openvdb-4.0.2-fix-build-docs.patch b/media-gfx/openvdb/files/openvdb-4.0.2-fix-build-docs.patch
new file mode 100644
index 000000000000..cdbb9440a1a4
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-4.0.2-fix-build-docs.patch
@@ -0,0 +1,32 @@
+When building with doc USE flag enabled, the doc target is not built by
+default and the missing docs cause an install failure.
+
+This patch ensures that when the doc target is defined, it will be
+built. Otherwise it might be possible to fix it using a separate step
+in src_compile to build the documentation specifically, prior to running
+install.
+
+This has been tested and is required on 4.0.2 and 5.2.0, but is not
+needed in >=openvdb-6
+
+To reproduce the bug, enable the doc USE flag and emerge openvdb 4 or 5
+without this patch. The install fails as the doc file is missing.
+
+To show it is fixed. enable the doc USE flag and this patch and emerge
+again. The install succeeds and the documentation can be found at
+/usr/share/doc/openvdb-X
+
+Patch by Adrian Grigo
+
+diff -Naur a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt
+--- a/openvdb/CMakeLists.txt 2020-08-18 12:17:15.261321103 +1000
++++ b/openvdb/CMakeLists.txt 2020-08-18 12:17:37.101397373 +1000
+@@ -394,7 +394,7 @@
+ FILE ( WRITE ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config ${DOXYGEN_CONFIG_CONTENT} )
+ FILE ( APPEND ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config "OUTPUT_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}/doc\n" )
+
+- ADD_CUSTOM_TARGET ( doc
++ ADD_CUSTOM_TARGET ( doc ALL
+ ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/cmake-doxygen-config
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+ COMMENT "Generating API documentation with Doxygen" VERBATIM
diff --git a/media-gfx/openvdb/files/openvdb-4.0.2-fix-const-correctness-for-unittest.patch b/media-gfx/openvdb/files/openvdb-4.0.2-fix-const-correctness-for-unittest.patch
new file mode 100644
index 000000000000..cb2660329948
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-4.0.2-fix-const-correctness-for-unittest.patch
@@ -0,0 +1,35 @@
+Blosc changed the signature of blosc_compcode_to_compname in 1.15 so
+that the second parameter is now const char** not char **. This causes
+compile failures when using openvdb with earlier versions of blosc.
+
+The fix, which is backported from openvdb-7, is to check the blosc
+version and cast the char** to const char** for modern versions of
+blosc.
+
+The bug can be produced by emerging blosc 1.15+, and then openvdb.
+Without this patch, the compiler will fail with
+error: invalid conversion from ‘char**’ to ‘const char**’
+
+To test that the patch has been properly implemented, emerge modern
+blosc and then openvdb with this patch, and the compile will succeed.
+
+Fixes bug https://bugs.gentoo.org/734102
+Upstream commit https://github.com/AcademySoftwareFoundation/openvdb/commit/d2e8bd87a63d1e9f66a558ecbb6e6cbd54f7de13
+
+diff -Naur a/openvdb/unittest/TestFile.cc b/openvdb/unittest/TestFile.cc
+--- a/openvdb/unittest/TestFile.cc 2020-08-19 02:11:48.945711312 +1000
++++ b/openvdb/unittest/TestFile.cc 2020-08-19 02:13:31.106074899 +1000
+@@ -2666,7 +2666,12 @@
+
+ for (int compcode = 0; compcode <= BLOSC_ZLIB; ++compcode) {
+ char* compname = nullptr;
+- if (0 > blosc_compcode_to_compname(compcode, &compname)) continue;
++#if BLOSC_VERSION_MAJOR > 1 || (BLOSC_VERSION_MAJOR == 1 && BLOSC_VERSION_MINOR >= 15)
++ if (0 > blosc_compcode_to_compname(compcode, const_cast<const char**>(&compname)))
++#else
++ if (0 > blosc_compcode_to_compname(compcode, &compname))
++#endif
++ continue;
+ /// @todo This changes the compressor setting globally.
+ if (blosc_set_compressor(compname) < 0) continue;
+
diff --git a/media-gfx/openvdb/files/openvdb-5.2.0-use-pkgconfig-for-ilmbase-and-openexr.patch b/media-gfx/openvdb/files/openvdb-5.2.0-use-pkgconfig-for-ilmbase-and-openexr.patch
index c3999e54f9cf..dd0b83540aa3 100644
--- a/media-gfx/openvdb/files/openvdb-5.2.0-use-pkgconfig-for-ilmbase-and-openexr.patch
+++ b/media-gfx/openvdb/files/openvdb-5.2.0-use-pkgconfig-for-ilmbase-and-openexr.patch
@@ -1,3 +1,11 @@
+This patch is an updated version of the patch created in dracwyrm's
+patchset for openvdb 4.0.2 which uses PkgConfig to ensure that the
+correct IlmBase and OpenEXR dependencies are found.
+
+In subsequent versions this functionality is taken over by
+altering the directory the header files are searched for in
+multilib-header-source patch by Bernd Waibel
+
diff -urN a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt
--- a/openvdb/CMakeLists.txt 2018-08-28 12:20:33.000000000 +0100
+++ b/openvdb/CMakeLists.txt 2018-08-28 12:25:19.807755722 +0100
diff --git a/media-gfx/openvdb/files/openvdb-6.2.1-fix-multilib-header-source.patch b/media-gfx/openvdb/files/openvdb-6.2.1-fix-multilib-header-source.patch
new file mode 100644
index 000000000000..e8cfac755d3e
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-6.2.1-fix-multilib-header-source.patch
@@ -0,0 +1,38 @@
+This patch changes the default location that the header files look for
+IlmBaseConfig.h as in Gentoo the version containg the ILMBASE_VERSION_MAJOR
+and ILMBASE_VERSION_MINOR is stored under /usr/include/chost.
+
+Without this patch, compilation fails as it is unable to identify the
+required IlmBase version.
+
+Based on the fix multilib header patch for 7.1.0 by Bernd Waibel
+
+diff -Naur a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake
+--- a/cmake/FindIlmBase.cmake 2020-02-02 01:03:55.000000000 +0800
++++ b/cmake/FindIlmBase.cmake 2020-02-02 01:09:05.000000000 +0800
+@@ -168,9 +168,15 @@
+ PATH_SUFFIXES include/OpenEXR OpenEXR
+ )
+
++if(EXISTS "/usr/include/${CHOST}/OpenEXR/IlmBaseConfig.h")
++ set(_ILMBASE_HEADERS "/usr/include/${CHOST}/OpenEXR")
++else()
++ set(_ILMBASE_HEADERS ${IlmBase_INCLUDE_DIR})
++endif()
++
+ if(EXISTS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h")
+ # Get the ILMBASE version information from the config header
+- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h"
++ file(STRINGS "${_ILMBASE_HEADERS}/IlmBaseConfig.h"
+ _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR "
+ )
+ string(REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" ""
+@@ -178,7 +184,7 @@
+ )
+ string(STRIP "${_ilmbase_version_major_string}" IlmBase_VERSION_MAJOR)
+
+- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h"
++ file(STRINGS "${_ILMBASE_HEADERS}/IlmBaseConfig.h"
+ _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR "
+ )
+ string(REGEX REPLACE "#define ILMBASE_VERSION_MINOR" ""
diff --git a/media-gfx/openvdb/files/openvdb-6.2.1-use-gnuinstalldirs.patch b/media-gfx/openvdb/files/openvdb-6.2.1-use-gnuinstalldirs.patch
new file mode 100644
index 000000000000..ac73d82f9c34
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-6.2.1-use-gnuinstalldirs.patch
@@ -0,0 +1,54 @@
+diff -Naur a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2020-01-08 22:16:00.493079361 +0800
++++ b/CMakeLists.txt 2020-01-08 22:16:44.790285583 +0800
+@@ -252,6 +252,8 @@
+
+ enable_testing()
+
++INCLUDE ( GNUInstallDirs )
++
+ # Add our cmake modules
+
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
+diff -Naur a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt
+--- a/openvdb/CMakeLists.txt 2020-01-08 22:16:07.362646127 +0800
++++ b/openvdb/CMakeLists.txt 2020-01-08 22:19:54.638308684 +0800
+@@ -492,7 +492,7 @@
+ install(TARGETS
+ openvdb_static
+ DESTINATION
+- lib
++ ${CMAKE_INSTALL_LIBDIR}
+ )
+ endif()
+
+@@ -500,14 +500,14 @@
+ if(WIN32)
+ install(TARGETS
+ openvdb_shared
+- RUNTIME DESTINATION bin COMPONENT Runtime
+- ARCHIVE DESTINATION lib COMPONENT Runtime
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime
+ )
+ else()
+ install(TARGETS
+ openvdb_shared
+ DESTINATION
+- lib
++ ${CMAKE_INSTALL_LIBDIR}
+ )
+ endif()
+ endif()
+diff -Naur a/openvdb/python/CMakeLists.txt b/openvdb/python/CMakeLists.txt
+--- a/openvdb/python/CMakeLists.txt 2020-01-08 22:16:14.452199013 +0800
++++ b/openvdb/python/CMakeLists.txt 2020-01-08 22:21:45.311324663 +0800
+@@ -232,7 +232,7 @@
+ ${PYOPENVDB_INSTALL_DIRECTORY}
+ )
+
+-install(FILES ${PYTHON_PUBLIC_INCLUDE_NAMES} DESTINATION include/openvdb/python)
++install(FILES ${PYTHON_PUBLIC_INCLUDE_NAMES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/openvdb/python)
+
+ # pytest
+
diff --git a/media-gfx/openvdb/files/openvdb-7.1.0-0001-Fix-multilib-header-source.patch b/media-gfx/openvdb/files/openvdb-7.1.0-0001-Fix-multilib-header-source.patch
new file mode 100644
index 000000000000..13d0f45fabf4
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-7.1.0-0001-Fix-multilib-header-source.patch
@@ -0,0 +1,75 @@
+From 7558089b3dae599ffc80329da3a5c1decf882ca7 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl@gmail.com>
+Date: Fri, 28 Feb 2020 17:01:25 +0100
+Subject: [PATCH] Fix multilib header source
+
+Signed-off-by: Bernd Waibel <waebbl@gmail.com>
+---
+ cmake/FindIlmBase.cmake | 10 ++++++++--
+ cmake/FindOpenEXR.cmake | 10 ++++++++--
+ 2 files changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake
+index f20f803..bb85019 100644
+--- a/cmake/FindIlmBase.cmake
++++ b/cmake/FindIlmBase.cmake
+@@ -168,9 +168,15 @@ find_path(IlmBase_INCLUDE_DIR IlmBaseConfig.h
+ PATH_SUFFIXES include/OpenEXR OpenEXR
+ )
+
++if(EXISTS "/usr/include/${CHOST}/OpenEXR/IlmBaseConfig.h")
++ set(_ILMBASE_HEADERS "/usr/include/${CHOST}/OpenEXR")
++else()
++ set(_ILMBASE_HEADERS ${IlmBase_INCLUDE_DIR})
++endif()
++
+ if(EXISTS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h")
+ # Get the ILMBASE version information from the config header
+- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h"
++ file(STRINGS "${_ILMBASE_HEADERS}/IlmBaseConfig.h"
+ _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR "
+ )
+ string(REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" ""
+@@ -178,7 +184,7 @@ if(EXISTS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h")
+ )
+ string(STRIP "${_ilmbase_version_major_string}" IlmBase_VERSION_MAJOR)
+
+- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h"
++ file(STRINGS "${_ILMBASE_HEADERS}/IlmBaseConfig.h"
+ _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR "
+ )
+ string(REGEX REPLACE "#define ILMBASE_VERSION_MINOR" ""
+diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake
+index d0d356f..0c5dd7b 100644
+--- a/cmake/FindOpenEXR.cmake
++++ b/cmake/FindOpenEXR.cmake
+@@ -161,9 +161,15 @@ find_path(OpenEXR_INCLUDE_DIR OpenEXRConfig.h
+ PATH_SUFFIXES include/OpenEXR OpenEXR
+ )
+
++if(EXISTS "/usr/include/${CHOST}/OpenEXR/OpenEXRConfig.h")
++ set(_OPENEXR_HEADERS "/usr/include/${CHOST}/OpenEXR")
++else()
++ set(_OPENEXR_HEADERS "${OpenEXR_INCLUDE_DIR}")
++endif()
++
+ if(EXISTS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h")
+ # Get the EXR version information from the config header
+- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h"
++ file(STRINGS "${_OPENEXR_HEADERS}/OpenEXRConfig.h"
+ _openexr_version_major_string REGEX "#define OPENEXR_VERSION_MAJOR "
+ )
+ string(REGEX REPLACE "#define OPENEXR_VERSION_MAJOR" ""
+@@ -171,7 +177,7 @@ if(EXISTS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h")
+ )
+ string(STRIP "${_openexr_version_major_string}" OpenEXR_VERSION_MAJOR)
+
+- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h"
++ file(STRINGS "${_OPENEXR_HEADERS}/OpenEXRConfig.h"
+ _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR "
+ )
+ string(REGEX REPLACE "#define OPENEXR_VERSION_MINOR" ""
+--
+2.25.1
+
+
diff --git a/media-gfx/openvdb/files/openvdb-7.1.0-0002-Fix-doc-install-dir.patch b/media-gfx/openvdb/files/openvdb-7.1.0-0002-Fix-doc-install-dir.patch
new file mode 100644
index 000000000000..73d4b1ccd422
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-7.1.0-0002-Fix-doc-install-dir.patch
@@ -0,0 +1,25 @@
+From 66dec67036116243893fdf74060e55b70f65ab17 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl@gmail.com>
+Date: Fri, 28 Feb 2020 21:51:30 +0100
+Subject: [PATCH] Fix doc install dir
+
+Signed-off-by: Bernd Waibel <waebbl@gmail.com>
+---
+ doc/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 1cf58ea..a6bd849 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -64,5 +64,5 @@ add_custom_target(doc ALL
+ )
+
+ # Suppress "Installing..." messages for all but one of the hundreds of generated files.
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/openvdb/doc/html/index.html DESTINATION doc/html)
+-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/openvdb/doc/html DESTINATION doc MESSAGE_NEVER)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/openvdb/doc/html/index.html DESTINATION ${CMAKE_INSTALL_DOCDIR}/html)
++install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/openvdb/doc/html DESTINATION ${CMAKE_INSTALL_DOCDIR} MESSAGE_NEVER)
+--
+2.25.1
+
diff --git a/media-gfx/openvdb/metadata.xml b/media-gfx/openvdb/metadata.xml
index 747061595948..aac3bf03086b 100644
--- a/media-gfx/openvdb/metadata.xml
+++ b/media-gfx/openvdb/metadata.xml
@@ -15,14 +15,29 @@
Chance of Meatballs2' and 'How to Train Your Dragon 2'.
</longdescription>
<use>
- <flag restrict="&lt;media-gfx/openvdb-5.0.0" name="abi3-compat">
- Disables newer features to maintain compatibility with ABI3. Enabled by default.
+ <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="numpy">
+ Build pyopenvdb with support for <pkg>dev-python/numpy</pkg>
</flag>
- <flag restrict="&gt;=media-gfx/openvdb-5.0.0" name="abi4-compat">
- Disables newer features to maintain compatibility with ABI4. Enabled by default.
+ <flag restrict="&lt;=media-gfx/openvdb-6.0.0" name="abi3-compat">
+ Disables newer features to maintain compatibility with ABI3.
+ </flag>
+ <flag restrict="&lt;=media-gfx/openvdb-7.0.0" name="abi4-compat">
+ Disables newer features to maintain compatibility with ABI4.
+ </flag>
+ <flag restrict="&lt;=media-gfx/openvdb-7.1.0" name="abi5-compat">
+ Disables newer features to maintain compatibility with ABI5.
+ </flag>
+ <flag restrict="&gt;=media-gfx/openvdb-6.0.0" name="abi6-compat">
+ Disables newer features to maintain compatibility with ABI6.
+ </flag>
+ <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="abi7-compat">
+ Disables newer features to maintain compatibility with ABI7.
+ </flag>
+ <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="utils">
+ Build utility binaries
</flag>
</use>
<upstream>
- <remote-id type="github">dreamworksanimation/openvdb</remote-id>
+ <remote-id type="github">AcademySoftwareFoundation/openvdb</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/openvdb/openvdb-4.0.2-r3.ebuild b/media-gfx/openvdb/openvdb-4.0.2-r3.ebuild
index 221e31086115..f6705df69633 100644
--- a/media-gfx/openvdb/openvdb-4.0.2-r3.ebuild
+++ b/media-gfx/openvdb/openvdb-4.0.2-r3.ebuild
@@ -1,30 +1,34 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6,7,8,9} )
-inherit cmake-utils flag-o-matic python-single-r1
+inherit cmake flag-o-matic python-single-r1
-DESCRIPTION="Libs for the efficient manipulation of volumetric data"
+DESCRIPTION="Library for the efficient manipulation of volumetric data"
HOMEPAGE="https://www.openvdb.org"
-SRC_URI="https://github.com/dreamworksanimation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://dev.gentoo.org/~dracwyrm/patches/${P}-patchset-02.tar.xz"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="amd64 ~x86"
-IUSE="+abi3-compat doc python test"
+IUSE="abi3-compat +abi4-compat doc python test"
RESTRICT="!test? ( test )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ^^ ( abi3-compat abi4-compat )
+"
RDEPEND="
- >=dev-libs/boost-1.62:=
- >=dev-libs/c-blosc-1.5.0
- dev-libs/jemalloc
- dev-libs/log4cplus
- media-libs/glfw:=
+ dev-libs/boost:=
+ dev-libs/c-blosc:=
+ dev-libs/jemalloc:=
+ dev-libs/log4cplus:=
+ media-libs/glfw
media-libs/openexr:=
sys-libs/zlib:=
x11-libs/libXcursor
@@ -34,13 +38,18 @@ RDEPEND="
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
- >=dev-libs/boost-1.62:=[python,${PYTHON_MULTI_USEDEP}]
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
+ dev-libs/boost:=[python?,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
')
- )"
+ )
+"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
dev-cpp/tbb
+"
+
+BDEPEND="
virtual/pkgconfig
doc? (
app-doc/doxygen
@@ -50,13 +59,16 @@ DEPEND="${RDEPEND}
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
)
- test? ( dev-util/cppunit )"
+ test? ( dev-util/cppunit )
+"
PATCHES=(
"${WORKDIR}/${P}-patchset-02/0001-use-gnuinstalldirs.patch"
"${WORKDIR}/${P}-patchset-02/0002-use-pkgconfig-for-ilmbase-and-openexr.patch"
"${WORKDIR}/${P}-patchset-02/0003-boost-1.65-numpy-support.patch"
"${FILESDIR}/${P}-findboost-fix.patch"
+ "${FILESDIR}/${P}-fix-const-correctness-for-unittest.patch"
+ "${FILESDIR}/${P}-fix-build-docs.patch"
)
pkg_setup() {
@@ -69,6 +81,15 @@ src_configure() {
# To stay in sync with Boost
append-cxxflags -std=c++14
+ local version
+ if use abi3-compat; then
+ version=3
+ elif use abi4-compat; then
+ version=4
+ else
+ die "Openvdb abi version is not compatible"
+ fi
+
local mycmakeargs=(
-DBLOSC_LOCATION="${myprefix}"
-DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
@@ -85,5 +106,5 @@ src_configure() {
use python && mycmakeargs+=( -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)" )
use test && mycmakeargs+=( -DCPPUNIT_LOCATION="${myprefix}" )
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/media-gfx/openvdb/openvdb-5.2.0-r1.ebuild b/media-gfx/openvdb/openvdb-5.2.0-r1.ebuild
index 2f2eb78d9fcb..a176389a2a05 100644
--- a/media-gfx/openvdb/openvdb-5.2.0-r1.ebuild
+++ b/media-gfx/openvdb/openvdb-5.2.0-r1.ebuild
@@ -1,29 +1,32 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6,7,8,9} )
-inherit cmake-utils flag-o-matic python-single-r1
+inherit cmake flag-o-matic python-single-r1
-DESCRIPTION="Libs for the efficient manipulation of volumetric data"
+DESCRIPTION="Library for the efficient manipulation of volumetric data"
HOMEPAGE="https://www.openvdb.org"
-SRC_URI="https://github.com/dreamworksanimation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="+abi4-compat doc python test"
+IUSE="abi3-compat abi4-compat +abi5-compat doc python test"
RESTRICT="!test? ( test )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ^^ ( abi3-compat abi4-compat abi5-compat )
+"
RDEPEND="
- >=dev-libs/boost-1.62:=
- >=dev-libs/c-blosc-1.5.0
- dev-libs/jemalloc
- dev-libs/log4cplus
- media-libs/glfw:=
+ dev-libs/boost:=
+ dev-libs/c-blosc:=
+ dev-libs/jemalloc:=
+ dev-libs/log4cplus:=
+ media-libs/glfw
media-libs/openexr:=
sys-libs/zlib:=
x11-libs/libXcursor
@@ -33,13 +36,18 @@ RDEPEND="
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
- >=dev-libs/boost-1.62:=[python,${PYTHON_MULTI_USEDEP}]
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
+ dev-libs/boost:=[python?,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
')
- )"
+ )
+"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
dev-cpp/tbb
+"
+
+BDEPEND="
virtual/pkgconfig
doc? (
app-doc/doxygen
@@ -49,10 +57,14 @@ DEPEND="${RDEPEND}
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
)
- test? ( dev-util/cppunit )"
+ test? ( dev-util/cppunit )
+"
-PATCHES=( "${FILESDIR}/${P}-use-gnuinstalldirs.patch"
+PATCHES=(
+ "${FILESDIR}/${P}-use-gnuinstalldirs.patch"
"${FILESDIR}/${P}-use-pkgconfig-for-ilmbase-and-openexr.patch"
+ "${FILESDIR}/${PN}-4.0.2-fix-const-correctness-for-unittest.patch"
+ "${FILESDIR}/${PN}-4.0.2-fix-build-docs.patch"
)
pkg_setup() {
@@ -62,11 +74,22 @@ pkg_setup() {
src_configure() {
local myprefix="${EPREFIX}/usr/"
+ local version
+ if use abi3-compat; then
+ version=3
+ elif use abi4-compat; then
+ version=4
+ elif use abi5-compat; then
+ version=5
+ else
+ die "Openvdb ABI version not specified"
+ fi
+
local mycmakeargs=(
-DBLOSC_LOCATION="${myprefix}"
-DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
-DGLFW3_LOCATION="${myprefix}"
- -DOPENVDB_ABI_VERSION_NUMBER=$(usex abi4-compat 4 5)
+ -DOPENVDB_ABI_VERSION_NUMBER="${version}"
-DOPENVDB_BUILD_DOCS=$(usex doc)
-DOPENVDB_BUILD_PYTHON_MODULE=$(usex python)
-DOPENVDB_BUILD_UNITTESTS=$(usex test)
@@ -78,5 +101,5 @@ src_configure() {
use python && mycmakeargs+=( -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)" )
use test && mycmakeargs+=( -DCPPUNIT_LOCATION="${myprefix}" )
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/media-gfx/openvdb/openvdb-6.2.1.ebuild b/media-gfx/openvdb/openvdb-6.2.1.ebuild
new file mode 100644
index 000000000000..ebade646417c
--- /dev/null
+++ b/media-gfx/openvdb/openvdb-6.2.1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+
+inherit cmake flag-o-matic python-single-r1
+
+DESCRIPTION="Library for the efficient manipulation of volumetric data"
+HOMEPAGE="https://www.openvdb.org"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="abi4-compat abi5-compat +abi6-compat doc python test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ^^ ( abi4-compat abi5-compat abi6-compat )
+"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/c-blosc:=
+ dev-libs/jemalloc:=
+ dev-libs/log4cplus:=
+ media-libs/glfw
+ media-libs/openexr:=
+ sys-libs/zlib:=
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[python?,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )"
+
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/tbb
+"
+
+BDEPEND="
+ >=dev-util/cmake-3.16.2-r1
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+ test? ( dev-util/cppunit )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-multilib-header-source.patch"
+ "${FILESDIR}/${PN}-4.0.2-fix-const-correctness-for-unittest.patch"
+ "${FILESDIR}/${P}-use-gnuinstalldirs.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local myprefix="${EPREFIX}/usr/"
+
+ local version
+ if use abi4-compat; then
+ version=4
+ elif use abi5-compat; then
+ version=5
+ elif use abi6-compat; then
+ version=6
+ else
+ die "Openvdb ABI version not specified"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+ -DOPENVDB_ABI_VERSION_NUMBER="${version}"
+ -DOPENVDB_BUILD_DOCS=$(usex doc)
+ -DOPENVDB_BUILD_PYTHON_MODULE=$(usex python)
+ -DOPENVDB_BUILD_UNITTESTS=$(usex test)
+ -DOPENVDB_ENABLE_RPATH=OFF
+ -DCHOST="${CHOST}"
+ )
+
+ use python && mycmakeargs+=( -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)" )
+ use test && mycmakeargs+=( -DCPPUNIT_LOCATION="${myprefix}" )
+
+ cmake_src_configure
+}
diff --git a/media-gfx/openvdb/openvdb-7.0.0.ebuild b/media-gfx/openvdb/openvdb-7.0.0.ebuild
new file mode 100644
index 000000000000..db984b8cdbfb
--- /dev/null
+++ b/media-gfx/openvdb/openvdb-7.0.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+
+inherit cmake flag-o-matic python-single-r1
+
+DESCRIPTION="Library for the efficient manipulation of volumetric data"
+HOMEPAGE="https://www.openvdb.org"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_sse4_2 doc numpy python static-libs test utils abi5-compat abi6-compat +abi7-compat"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ numpy? ( python )
+ ^^ ( abi5-compat abi6-compat abi7-compat )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/c-blosc:=
+ dev-libs/jemalloc:=
+ dev-libs/log4cplus:=
+ media-libs/glfw
+ media-libs/openexr:=
+ sys-libs/zlib:=
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[numpy?,python?,${PYTHON_USEDEP}]
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ ')
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/tbb
+"
+
+BDEPEND="
+ >=dev-util/cmake-3.16.2-r1
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+ test? ( dev-util/cppunit )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-7.1.0-0001-Fix-multilib-header-source.patch"
+ "${FILESDIR}/${PN}-7.1.0-0002-Fix-doc-install-dir.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local myprefix="${EPREFIX}/usr/"
+
+ local version
+ if use abi5-compat; then
+ version=5
+ elif use abi6-compat; then
+ version=6
+ elif use abi7-compat; then
+ version=7
+ else
+ die "Openvdb abi version is not compatible"
+ fi
+
+ local mycmakeargs=(
+ -DCHOST="${CHOST}"
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/"
+ -DOPENVDB_ABI_VERSION_NUMBER="${version}"
+ -DOPENVDB_BUILD_DOCS=$(usex doc)
+ -DOPENVDB_BUILD_UNITTESTS=$(usex test)
+ -DOPENVDB_BUILD_VDB_LOD=$(usex !utils)
+ -DOPENVDB_BUILD_VDB_RENDER=$(usex !utils)
+ -DOPENVDB_BUILD_VDB_VIEW=$(usex !utils)
+ -DOPENVDB_CORE_SHARED=ON
+ -DOPENVDB_CORE_STATIC=$(usex static-libs)
+ -DOPENVDB_ENABLE_RPATH=OFF
+ -DUSE_CCACHE=OFF
+ -DUSE_COLORED_OUTPUT=ON
+ -DUSE_EXR=ON
+ -DUSE_LOG4CPLUS=ON
+ )
+
+ if use python; then
+ mycmakeargs+=(
+ -DOPENVDB_BUILD_PYTHON_MODULE=ON
+ -DUSE_NUMPY=$(usex numpy)
+ -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)"
+ -DPython_EXECUTABLE="${EPYTHON}"
+ )
+ fi
+
+ if use cpu_flags_x86_avx; then
+ mycmakeargs+=( -DOPENVDB_SIMD=AVX )
+ elif use cpu_flags_x86_sse4_2; then
+ mycmakeargs+=( -DOPENVDB_SIMD=SSE42 )
+ fi
+
+ cmake_src_configure
+}
diff --git a/media-gfx/openvdb/openvdb-7.1.0.ebuild b/media-gfx/openvdb/openvdb-7.1.0.ebuild
new file mode 100644
index 000000000000..912824ece66d
--- /dev/null
+++ b/media-gfx/openvdb/openvdb-7.1.0.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+
+inherit cmake flag-o-matic python-single-r1
+
+DESCRIPTION="Library for the efficient manipulation of volumetric data"
+HOMEPAGE="https://www.openvdb.org"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_sse4_2 doc numpy python static-libs test utils abi6-compat +abi7-compat"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ numpy? ( python )
+ ^^ ( abi6-compat abi7-compat )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/c-blosc:=
+ dev-libs/jemalloc:=
+ dev-libs/log4cplus:=
+ media-libs/glfw
+ media-libs/openexr:=
+ sys-libs/zlib:=
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[numpy?,python?,${PYTHON_USEDEP}]
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ ')
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/tbb
+"
+
+BDEPEND="
+ >=dev-util/cmake-3.16.2-r1
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+ test? ( dev-util/cppunit )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-0001-Fix-multilib-header-source.patch"
+ "${FILESDIR}/${P}-0002-Fix-doc-install-dir.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local myprefix="${EPREFIX}/usr/"
+
+ local version
+ if use abi6-compat; then
+ version=6
+ elif use abi7-compat; then
+ version=7
+ else
+ die "Openvdb abi version is not compatible"
+ fi
+
+ local mycmakeargs=(
+ -DCHOST="${CHOST}"
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/"
+ -DOPENVDB_ABI_VERSION_NUMBER="${version}"
+ -DOPENVDB_BUILD_DOCS=$(usex doc)
+ -DOPENVDB_BUILD_UNITTESTS=$(usex test)
+ -DOPENVDB_BUILD_VDB_LOD=$(usex !utils)
+ -DOPENVDB_BUILD_VDB_RENDER=$(usex !utils)
+ -DOPENVDB_BUILD_VDB_VIEW=$(usex !utils)
+ -DOPENVDB_CORE_SHARED=ON
+ -DOPENVDB_CORE_STATIC=$(usex static-libs)
+ -DOPENVDB_ENABLE_RPATH=OFF
+ -DUSE_CCACHE=OFF
+ -DUSE_COLORED_OUTPUT=ON
+ -DUSE_EXR=ON
+ -DUSE_LOG4CPLUS=ON
+ )
+
+ if use python; then
+ mycmakeargs+=(
+ -DOPENVDB_BUILD_PYTHON_MODULE=ON
+ -DUSE_NUMPY=$(usex numpy)
+ -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)"
+ -DPython_EXECUTABLE="${EPYTHON}"
+ )
+ fi
+
+ if use cpu_flags_x86_avx; then
+ mycmakeargs+=( -DOPENVDB_SIMD=AVX )
+ elif use cpu_flags_x86_sse4_2; then
+ mycmakeargs+=( -DOPENVDB_SIMD=SSE42 )
+ fi
+
+ cmake_src_configure
+}