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/files/, media-gfx/openvdb/
Date: Sun, 31 Oct 2021 02:19:47 +0000 (UTC)	[thread overview]
Message-ID: <1635646709.1e960a28294ff0eae009fb059dcd1387989edd36.sam@gentoo> (raw)

commit:     1e960a28294ff0eae009fb059dcd1387989edd36
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 31 02:15:08 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 31 02:18:29 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e960a28

media-gfx/openvdb: revbump for build configuration changes; rebase 8.1/9.0

Rebasing on waebbl's changes.

See: https://github.com/gentoo/gentoo/pull/22738
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/openvdb/files/openvdb-9.0.0-numpy.patch  | 151 +++++++++++++++++++++
 ...vdb-7.1.0-r3.ebuild => openvdb-7.1.0-r4.ebuild} |   0
 ...vdb-8.0.1-r2.ebuild => openvdb-8.0.1-r3.ebuild} |   0
 media-gfx/openvdb/openvdb-8.1.0.ebuild             |   9 +-
 media-gfx/openvdb/openvdb-9.0.0.ebuild             |  11 +-
 5 files changed, 164 insertions(+), 7 deletions(-)

diff --git a/media-gfx/openvdb/files/openvdb-9.0.0-numpy.patch b/media-gfx/openvdb/files/openvdb-9.0.0-numpy.patch
new file mode 100644
index 00000000000..972db42b355
--- /dev/null
+++ b/media-gfx/openvdb/files/openvdb-9.0.0-numpy.patch
@@ -0,0 +1,151 @@
+Grabbed relevant parts from upstream PR for 9.x; it's a variant
+of https://github.com/gentoo/gentoo/pull/22738 which wa sfor earlier versions.
+
+https://github.com/AcademySoftwareFoundation/openvdb/pull/1237
+
+From 3c5f69efeacca762406a80d74b39b970c7023bd6 Mon Sep 17 00:00:00 2001
+From: Nick Avramoussis <4256455+Idclip@users.noreply.github.com>
+Date: Thu, 28 Oct 2021 16:54:10 +0100
+Subject: [PATCH 1/3] Improvements to find_package Python usage. Primarily
+ fixes an issues where NumPy needs to be specified along with the Development
+ and Interpreter components in a single call
+
+Signed-off-by: Nick Avramoussis <4256455+Idclip@users.noreply.github.com>
+---
+ openvdb/openvdb/python/CMakeLists.txt | 97 +++++++++++++--------------
+ 1 file changed, 46 insertions(+), 51 deletions(-)
+
+diff --git a/openvdb/openvdb/python/CMakeLists.txt b/openvdb/openvdb/python/CMakeLists.txt
+index 7b36379f9..5e9141e8c 100644
+--- a/openvdb/openvdb/python/CMakeLists.txt
++++ b/openvdb/openvdb/python/CMakeLists.txt
+@@ -55,25 +55,39 @@ endif()
+ # be provided to find_package(Python) with differing major versions. e.g.
+ # calls to find_package(Python 2.7) fails if python3 is found on the system.
+ function(OPENVDB_CHECK_PYTHON_VERSION)
+-  set(_PY_VERSION ${ARGV0})
+-  set(_PY_PATH ${ARGV1})
+-  if(NOT _PY_VERSION)
+-    message(FATAL_ERROR "Could NOT find Python (Required is at least version "
+-      "\"${MINIMUM_PYTHON_VERSION}\")"
+-    )
+-  elseif(_PY_VERSION VERSION_LESS MINIMUM_PYTHON_VERSION)
+-    message(FATAL_ERROR "Could NOT find Python: Found unsuitable version \"${_PY_VERSION}\""
+-      "but required is at least \"${MINIMUM_PYTHON_VERSION}\" (found ${_PY_PATH})"
+-    )
+-  else()
+-    message(STATUS "Found Python: ${_PY_PATH}) (found suitable version \"${_PY_VERSION}\", "
+-      "minimum required is \"${MINIMUM_PYTHON_VERSION}\")"
++  set(PY_TARGET ${ARGV0})
++  set(PY_TARGET_VERSION ${ARGV1})
++  set(PY_TARGET_INCLUDES ${ARGV2})
++  set(MIN_VERSION ${ARGV3})
++  set(FUTURE_MIN_VERSION ${ARGV4})
++
++  if(NOT TARGET ${PY_TARGET})
++    message(FATAL_ERROR "Could NOT find ${PY_TARGET} (Required is at least version "
++      "\"${MIN_VERSION}\")"
+     )
+   endif()
++
++  if(PY_TARGET_VERSION AND MIN_VERSION)
++    if(PY_TARGET_VERSION VERSION_LESS MIN_VERSION)
++      message(FATAL_ERROR "Could NOT find ${PY_TARGET}: Found unsuitable version "
++        "\"${PY_TARGET_VERSION}\" but required is at least \"${MIN_VERSION}\" (found ${PY_TARGET_INCLUDES})"
++      )
++    endif()
++  endif()
++
++  message(STATUS "Found ${PY_TARGET}: ${PY_TARGET_INCLUDES}) (found suitable "
++    "version \"${PY_TARGET_VERSION}\", minimum required is \"${MIN_VERSION}\")"
++  )
++
++  if(OPENVDB_FUTURE_DEPRECATION AND PY_TARGET_VERSION AND FUTURE_MIN_VERSION)
++    if(PY_TARGET_VERSION VERSION_LESS FUTURE_MIN_VERSION)
++      message(DEPRECATION "Support for ${PY_TARGET} versions < ${FUTURE_MIN_VERSION} "
++        "is deprecated and will be removed.")
++    endif()
++  endif()
+ endfunction()
+ 
+ # Configure Python and Numpy. Note that:
+-#  - find_package(Python NumPy) requires CMake >= 3.14
+ #  - find_package(Python Development) target Python::Module requires CMake >= 3.15
+ #  - find_package(Python Development.Module) requires CMake >= 3.18
+ # To ensure consistent versions between components Interpreter, Compiler,
+@@ -85,38 +99,30 @@ endfunction()
+ set(OPENVDB_PYTHON_DEPS)
+ set(OPENVDB_PYTHON_REQUIRED_COMPONENTS Development)
+ if(NOT DEFINED PYOPENVDB_INSTALL_DIRECTORY)
+-    list(APPEND OPENVDB_PYTHON_REQUIRED_COMPONENTS Interpreter)
++  list(APPEND OPENVDB_PYTHON_REQUIRED_COMPONENTS Interpreter)
+ endif()
+ 
+-find_package(Python QUIET COMPONENTS ${OPENVDB_PYTHON_REQUIRED_COMPONENTS})
+-OPENVDB_CHECK_PYTHON_VERSION(${Python_VERSION} ${Python_INCLUDE_DIRS})
+-
+ if(USE_NUMPY)
+-  find_package(Python QUIET COMPONENTS NumPy)
+-  if(NOT TARGET Python::NumPy)
+-      message(FATAL_ERROR "Could NOT find NumPy (Required is at least version "
+-        "\"${MINIMUM_NUMPY_VERSION}\")"
+-      )
+-  elseif(Python_NumPy_VERSION VERSION_LESS MINIMUM_NUMPY_VERSION)
+-    message(FATAL_ERROR "Could NOT find NumPy: Found unsuitable version \"${Python_NumPy_VERSION}\""
+-      "but required is at least \"${MINIMUM_NUMPY_VERSION}\" (found ${Python_NumPy_INCLUDE_DIRS})"
+-    )
+-  else()
+-    message(STATUS "Found NumPy: ${Python_NumPy_INCLUDE_DIRS} (found suitable "
+-      "version \"${Python_NumPy_VERSION}\", minimum required is "
+-      "\"${MINIMUM_NUMPY_VERSION}\")"
+-    )
+-  endif()
+-  list(APPEND OPENVDB_PYTHON_DEPS Python::NumPy)
++  list(APPEND OPENVDB_PYTHON_REQUIRED_COMPONENTS NumPy)
+ endif()
+ 
++# Make sure find_package(Python) is only ever invoked once with all required components
++find_package(Python COMPONENTS ${OPENVDB_PYTHON_REQUIRED_COMPONENTS})
++
++openvdb_check_python_version(Python::Module
++  "${Python_VERSION}"
++  "${Python_INCLUDE_DIRS}"
++  "${MINIMUM_PYTHON_VERSION}"
++  "${FUTURE_MINIMUM_PYTHON_VERSION}")
++list(APPEND OPENVDB_PYTHON_DEPS Python::Module)
++
+ if(USE_NUMPY)
+-  if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_NUMPY_VERSION)
+-    if(Python_NumPy_VERSION VERSION_LESS FUTURE_MINIMUM_NUMPY_VERSION)
+-      message(DEPRECATION "Support for NumPy versions < ${FUTURE_MINIMUM_NUMPY_VERSION} "
+-        "is deprecated and will be removed.")
+-    endif()
+-  endif()
++  openvdb_check_python_version(Python::NumPy
++    "${Python_NumPy_VERSION}"
++    "${Python_NumPy_INCLUDE_DIRS}"
++    "${MINIMUM_NUMPY_VERSION}"
++    "${FUTURE_MINIMUM_NUMPY_VERSION}")
++  list(APPEND OPENVDB_PYTHON_DEPS Python::NumPy)
+ endif()
+ 
+ if(TARGET openvdb_shared AND NOT Boost_USE_STATIC_LIBS)
+@@ -230,17 +236,6 @@ elseif(WIN32)
+   set_target_properties(pyopenvdb PROPERTIES SUFFIX ".pyd") # .pyd on windows
+ endif()
+ 
+-if(TARGET Python::Module)
+-  list(APPEND OPENVDB_PYTHON_DEPS Python::Module)
+-else()
+-  if(APPLE)
+-    target_include_directories(pyopenvdb SYSTEM PUBLIC ${Python_INCLUDE_DIRS})
+-    target_link_options(pyopenvdb PUBLIC -undefined dynamic_lookup)
+-  else()
+-    list(APPEND OPENVDB_PYTHON_DEPS Python::Python)
+-  endif()
+-endif()
+-
+ target_link_libraries(pyopenvdb PUBLIC
+   ${OPENVDB_LIB}
+   ${OPENVDB_PYTHON_DEPS}
+

diff --git a/media-gfx/openvdb/openvdb-7.1.0-r3.ebuild b/media-gfx/openvdb/openvdb-7.1.0-r4.ebuild
similarity index 100%
rename from media-gfx/openvdb/openvdb-7.1.0-r3.ebuild
rename to media-gfx/openvdb/openvdb-7.1.0-r4.ebuild

diff --git a/media-gfx/openvdb/openvdb-8.0.1-r2.ebuild b/media-gfx/openvdb/openvdb-8.0.1-r3.ebuild
similarity index 100%
rename from media-gfx/openvdb/openvdb-8.0.1-r2.ebuild
rename to media-gfx/openvdb/openvdb-8.0.1-r3.ebuild

diff --git a/media-gfx/openvdb/openvdb-8.1.0.ebuild b/media-gfx/openvdb/openvdb-8.1.0.ebuild
index 72ac356edca..fef7bc659a9 100644
--- a/media-gfx/openvdb/openvdb-8.1.0.ebuild
+++ b/media-gfx/openvdb/openvdb-8.1.0.ebuild
@@ -67,6 +67,7 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}/${PN}-7.1.0-0001-Fix-multilib-header-source.patch"
+	"${FILESDIR}/${PN}-8.0.1-add-consistency-for-NumPy-find_package-call.patch"
 	"${FILESDIR}/${PN}-8.1.0-glfw-libdir.patch"
 )
 
@@ -94,9 +95,9 @@ src_configure() {
 		-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_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
@@ -113,8 +114,10 @@ src_configure() {
 		mycmakeargs+=(
 			-DOPENVDB_BUILD_PYTHON_MODULE=ON
 			-DUSE_NUMPY=$(usex numpy)
+			-DOPENVDB_BUILD_PYTHON_UNITTESTS=$(usex test)
 			-DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)"
 			-DPython_EXECUTABLE="${PYTHON}"
+			-DPython_INCLUDE_DIR="$(python_get_includedir)"
 		)
 	fi
 

diff --git a/media-gfx/openvdb/openvdb-9.0.0.ebuild b/media-gfx/openvdb/openvdb-9.0.0.ebuild
index 8f85563995d..278d5807af5 100644
--- a/media-gfx/openvdb/openvdb-9.0.0.ebuild
+++ b/media-gfx/openvdb/openvdb-9.0.0.ebuild
@@ -12,7 +12,7 @@ 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"
+SLOT="0/9"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
 IUSE="cpu_flags_x86_avx cpu_flags_x86_sse4_2 blosc doc numpy python static-libs test utils zlib abi6-compat abi7-compat +abi8-compat"
 RESTRICT="!test? ( test )"
@@ -65,6 +65,7 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}/${PN}-7.1.0-0001-Fix-multilib-header-source.patch"
 	"${FILESDIR}/${PN}-8.1.0-glfw-libdir.patch"
+	"${FILESDIR}/${PN}-9.0.0-numpy.patch"
 )
 
 pkg_setup() {
@@ -91,9 +92,9 @@ src_configure() {
 		-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_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
@@ -109,8 +110,10 @@ src_configure() {
 		mycmakeargs+=(
 			-DOPENVDB_BUILD_PYTHON_MODULE=ON
 			-DUSE_NUMPY=$(usex numpy)
+			-DOPENVDB_BUILD_PYTHON_UNITTESTS=$(usex test)
 			-DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)"
 			-DPython_EXECUTABLE="${PYTHON}"
+			-DPython_INCLUDE_DIR="$(python_get_includedir)"
 		)
 	fi
 


             reply	other threads:[~2021-10-31  2:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-31  2:19 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-07-11  4:35 [gentoo-commits] repo/gentoo:master commit in: media-gfx/openvdb/files/, media-gfx/openvdb/ Sam James
2023-02-01 19:27 Andreas Sturmlechner
2022-10-30  9:43 Sam James
2022-02-12  4:49 Sam James
2021-12-04 21:52 Sam James
2020-08-24 13:42 Sam James
2018-08-04 18:21 Jonathan Scruggs
2016-10-22 23:26 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=1635646709.1e960a28294ff0eae009fb059dcd1387989edd36.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