public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/openvdb/, media-gfx/openvdb/files/
Date: Mon, 24 Aug 2020 13:42:36 +0000 (UTC)	[thread overview]
Message-ID: <1598276512.97b1512e054c43c4b76d5ad620bafab8fdfef36b.sam@gentoo> (raw)

commit:     97b1512e054c43c4b76d5ad620bafab8fdfef36b
Author:     Adrian Grigo <agrigo2001 <AT> yahoo <DOT> com <DOT> au>
AuthorDate: Tue Aug 18 07:31:07 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 24 13:41:52 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97b1512e

media-gfx/openvdb: Version bump to openvdb-7.1.0

This bumps the version of openvdb to 7.1.0
Upstream have deprecated ABI prior to 6 with this version.

It adds an abi7-compat USE flag to build against ABI 7, and makes use
of avx and sse4.2 cpu flags if set. There are additional use flags to
control building the utilities, and linking against numpy is now
optional. The library can also be built as a static library if desired.

Thanks to Bernd Waibel for some of the initial code  and digging into
the available cmake build options.

Other changes:
* Similar to version 6, the gnuinstalldirs patch no longer needs
BLOSC_LOCATION, GLFW3_LOCATION or TBB_LOCATION so these have been
removed.

* The new multilib header patch needs to know the CHOST so it is set
in the arguments passed to cmake.

* USE_GLFW3 is no longer used by the build system so it has been
removed also.

Signed-off-by: Adrian Grigo <agrigo2001 <AT> yahoo.com.au>
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/openvdb/Manifest                         |   1 +
 ...vdb-7.1.0-0001-Fix-multilib-header-source.patch |  75 ++++++++++++++
 .../openvdb-7.1.0-0002-Fix-doc-install-dir.patch   |  25 +++++
 media-gfx/openvdb/metadata.xml                     |  15 ++-
 media-gfx/openvdb/openvdb-7.1.0.ebuild             | 114 +++++++++++++++++++++
 5 files changed, 227 insertions(+), 3 deletions(-)

diff --git a/media-gfx/openvdb/Manifest b/media-gfx/openvdb/Manifest
index f02f09bc37d..fa609180181 100644
--- a/media-gfx/openvdb/Manifest
+++ b/media-gfx/openvdb/Manifest
@@ -2,3 +2,4 @@ DIST openvdb-4.0.2-patchset-02.tar.xz 12428 BLAKE2B 2684ddf010df975912fcfc8c4f94
 DIST openvdb-4.0.2.tar.gz 1689119 BLAKE2B dbc8d4ab44990440e201327d76bbf9bfe3e8f597505b1d008dedb95dc540277513f465d455079c59820acc5056c9a2edf56235e1097b6c73a1f7dd8c59609c15 SHA512 8e3e12583b81f9b9303b309e839c8321c67b67ff8a0e61bb56c87276bf25c0deff22f5a73c7c5b661b8e5df345bfdabfa6b0aea9bf16fce57d9c53a76751c75d
 DIST openvdb-5.2.0.tar.gz 1788969 BLAKE2B d146b78dd7db4936779ca214b1f7957d4868bf76aedb95c9a98e21d25983b750337a63bf4bc9ccb438b683988af7a3d708676dcf7b4662c84e4926e8000ceb68 SHA512 69e21190c27a055e476a319b0c2d961303fa2f3fec30bec93ed44072d01816ef89e5e8f0abfc3a22d1c73742aa31284c664596747b49cd985fea1a751776506e
 DIST openvdb-6.2.1.tar.gz 1935325 BLAKE2B 24ca340e513d2f22521994fbb2315a1c3f817bb35a7402ca481b12444e5ced58dfd773cc07b47a56d1ed9f6951e58cf1ef0b5c35917620b031383faed21c6557 SHA512 f5d830880316b5ca3921c77c75f3a254aba47d144ac6c0223fc2732d99cbd6b7ffb7f27049f8ab3760ad77b3658fc08a82728325ba753bc29932aa46336457de
+DIST openvdb-7.1.0.tar.gz 1956052 BLAKE2B 7778d67bcc65ecb17b86f6e67a9e5f2d6574de5869a0a9c675ad7bc8540154c0f249a91c68a9da9068a3951b3e919e5676450fcaf13921c6263e7c87012a2f29 SHA512 49806375f7e6d7b12eaba24e672a068531d2f8a05f12eba29069710d2682f9983f9e6ad26047eed4b28e337f8d0e738b90130582863c710e8dd1e720bf0addad

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 00000000000..13d0f45fabf
--- /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 00000000000..73d4b1ccd42
--- /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 58f434001fc..7d62609da7c 100644
--- a/media-gfx/openvdb/metadata.xml
+++ b/media-gfx/openvdb/metadata.xml
@@ -15,18 +15,27 @@
 		Chance of Meatballs2' and 'How to Train Your Dragon 2'. 
 	</longdescription>
 	<use>
-		<flag name="abi3-compat">
+		<flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="numpy">
+			Build pyopenvdb with support for <pkg>dev-python/numpy</pkg>
+		</flag>
+		<flag restrict="&lt;=media-gfx/openvdb-7.0.0" name="abi3-compat">
 			Disables newer features to maintain compatibility with ABI3.
 		</flag>
-		<flag restrict="&gt;=media-gfx/openvdb-4.0.0" name="abi4-compat">
+		<flag restrict="&lt;=media-gfx/openvdb-7.0.0" name="abi4-compat">
 			Disables newer features to maintain compatibility with ABI4.
 		</flag>
-		<flag restrict="&gt;=media-gfx/openvdb-5.0.0" name="abi5-compat">
+		<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">AcademySoftwareFoundation/openvdb</remote-id>

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 00000000000..125f6475bf3
--- /dev/null
+++ b/media-gfx/openvdb/openvdb-7.1.0.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+PYTHON_COMPAT=( python3_{7,8} )
+
+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_MULTI_USEDEP}]
+			numpy? ( dev-python/numpy[${PYTHON_MULTI_USEDEP}] )
+		')
+	)
+"
+
+DEPEND="
+	${RDEPEND}
+	dev-cpp/tbb
+	>=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_PYTHON_MODULE=$(usex python)
+		-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
+		-DUSE_NUMPY=$(usex numpy)
+		-DPYOPENVDB_INSTALL_DIRECTORY="${python_get_sitedir}"
+		-DPython_EXECUTABLE="${PYTHON}"
+	)
+
+	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
+}


             reply	other threads:[~2020-08-24 13:42 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-24 13:42 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-01-12 13:08 [gentoo-commits] repo/gentoo:master commit in: media-gfx/openvdb/, media-gfx/openvdb/files/ Joonas Niilola
2022-09-25  1:27 Sam James
2022-02-18 22:23 Yixun Lan
2022-02-15 19:51 Sam James
2021-12-10  4:31 Sam James
2021-12-02  2:34 Sam James
2021-10-31  2:19 Sam James
2021-10-31  2:19 Sam James
2021-07-09  3:11 Ionen Wolkens
2021-03-14  0:25 Andreas Sturmlechner
2020-08-24 13:42 Sam James
2020-08-24 13:42 Sam James
2020-08-24 13:42 Sam James
2018-08-28 14:43 Jonathan Scruggs
2018-08-28 14:43 Jonathan Scruggs
2018-08-15 20:08 Jonathan Scruggs
2018-08-14 11:39 Jonathan Scruggs
2018-08-04 18:21 Jonathan Scruggs
2017-01-15 13:34 David Seifert
2016-10-27 18:34 David Seifert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1598276512.97b1512e054c43c4b76d5ad620bafab8fdfef36b.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox