summaryrefslogtreecommitdiff
path: root/media-libs/opensubdiv
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-14 11:36:24 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-14 11:36:24 +0000
commit3a5772102e4f2b6f9cc46f461c90970060ae0c5e (patch)
treed5aebb2508413a75408fd60bd4cb2c886b78ba89 /media-libs/opensubdiv
parentf7379fa6ffb6e47eabc62d0d832a5bcad1db9591 (diff)
gentoo auto-resync : 14:02:2024 - 11:36:23
Diffstat (limited to 'media-libs/opensubdiv')
-rw-r--r--media-libs/opensubdiv/Manifest6
-rw-r--r--media-libs/opensubdiv/files/opensubdiv-3.6.0-cudaflags.patch20
-rw-r--r--media-libs/opensubdiv/files/opensubdiv-3.6.0-use-gnuinstalldirs.patch38
-rw-r--r--media-libs/opensubdiv/metadata.xml9
-rw-r--r--media-libs/opensubdiv/opensubdiv-3.6.0-r1.ebuild229
-rw-r--r--media-libs/opensubdiv/opensubdiv-3.6.0.ebuild121
6 files changed, 300 insertions, 123 deletions
diff --git a/media-libs/opensubdiv/Manifest b/media-libs/opensubdiv/Manifest
index e295c36e81c7..9f56085f95bf 100644
--- a/media-libs/opensubdiv/Manifest
+++ b/media-libs/opensubdiv/Manifest
@@ -2,6 +2,8 @@ AUX opensubdiv-3.3.0-use-gnuinstalldirs.patch 1016 BLAKE2B 5ad9316a1ec44cff3ac85
AUX opensubdiv-3.4.3-install-tutorials-into-bin.patch 1426 BLAKE2B 8e0e024d6b72d280dd338925fc6be89b9c3f940c01f43340f21865f502e5b3cdf2462e8a4ad95d2463f6213f7b8d1cc6dbc6c66d0e85c98bcf8fb25576a6f8e0 SHA512 f8bb3c120f6d7c386d2aff6bd40049f70840caea2cd0ed6d90398516effb3cbe9c983ccc75afee3232ac1a8cd98dda63bd0863b84f409d97ad81a9b5350e721e
AUX opensubdiv-3.4.4-add-CUDA11-compatibility.patch 775 BLAKE2B 0384b5aa727ac93ee159c392a6faa4fc39b49ed4f6f99fb95bac18b7bc071a018759d99dd75b0c2ccc5870e5a55b1c6e6b0c9606bd80d5b6309b6fcbeee422c8 SHA512 aba25d357c3114edeca42209d1e970c76505b2f87ac9690864b096bffc4054cf0d7bbcb7e8828e5c98abf4658d423396a8d84b06fc7e24d732d7a86cfa7d7ff9
AUX opensubdiv-3.4.4-tbb-2021.patch 1730 BLAKE2B 165abbae9a5283a064deff6eb1c36370ed1d61f61c556bc3aa291ba20adfb1e242a8b254d596ffdfcb21a1f9ede5c40cdcfb562e4b38e1766a87dedf2a72a580 SHA512 6934bfd09fa086c6599c0c2727a93d6db14642271845eff261f93c7958daf4fa3464bffdf927308bc328357377f6dad8e413979360fa307101c75dad6932f0be
+AUX opensubdiv-3.6.0-cudaflags.patch 552 BLAKE2B ecad9ab5e914a3ac93f5c7d6c9f23b91d97a0731705c6d273dadb3438e03d97c76620f98ccd8e89c88e23a5efae3b72ee65a9061a4f479a0b59fe8bac6e946ea SHA512 6d5bc5b18057acbfeefb57af1f6e5386734ff9832f9076521a6ba54fa9fed2f8351e5741da81a7785167c7bf0e7f71bb8de2d87009c6f86739897072728c1d8b
+AUX opensubdiv-3.6.0-use-gnuinstalldirs.patch 1102 BLAKE2B e9c2c49fcd25681fd24ae43a5931a31a87945b16202a2ccbd67402ef120248e257cebd01cd9dee6808b96ff72b9cdf221ad896578866fb59ba6507b45d7c2729 SHA512 addb6ef54645fc7329caae28e6ec2960bf5d716c8344311c0d02b813d5080258923ba025023f7c957e9bb1314180675c6b4b142921bf089a99a410123710c53f
DIST opensubdiv-3.4.4.tar.gz 39228037 BLAKE2B 53bada3ff2652c6041a3becaf037b593c0e1e4c1bd57a285e6c068c11060b06f9ab0617284a57d0e8974f80082abd6563930ede8b1d6bfb801bfa61dd3256445 SHA512 fc8f28b79347015c8991150535c1339e695d96947c72fadd4fa27b546a0813c1125cd175ee03bed5aacdb3609f74c4e526ef70103d1195ba9f7df041e73ea9fb
DIST opensubdiv-3.5.0.tar.gz 40740801 BLAKE2B 08ad5cdc4b38b9862e62a8871fa1ed9ee5d9ff3b617c1f5627c2b773804d207028e29517d3e7015c8712b5f8ac378f3e35811de2c67711ff4a320d00bd6ce1a7 SHA512 7ede8f3f335a6306486d649199117401ab4285d360a3b53a536f25046d94741b5e7eacbc06a55d8a0bd5798c810c1b3cfd7964859f04f95363ad26411310b320
DIST opensubdiv-3.5.1.tar.gz 40743642 BLAKE2B 2e4cf93c38daccc383c9af0c8602e28920be92427ee3aa0eca58d698ce3768fd5a6b030a8942f128500b608ad97e95a8c2e675f4660ae373b3bf5f99084360ab SHA512 ac028a10de9ebe907f573d2a2c7f30cea8ffefbe8c4859035d1782d27128051f8753dba16f9478a0f4e8f1d03ddddcf12cece98031e19cabf24f98c0bda9058d
@@ -9,5 +11,5 @@ DIST opensubdiv-3.6.0.tar.gz 40746688 BLAKE2B 23f92fa028ae32b430350998299dab3fbb
EBUILD opensubdiv-3.4.4-r3.ebuild 2446 BLAKE2B 0f613fee98fa1feae0aa4dd2f29aec068147ff966d543af80cc5a6cad8c841d2a824f2d70708fdff7b27b3371085fdbcf95eced07d0069386ca521e65684079a SHA512 23e04d277443f66a777acebfed7ca85ac4da09ae53ef5a3eca1eaf4116209227550542a4175cc27c085ca5334033ea5980456ad66ac8c40f53f29b07451773e6
EBUILD opensubdiv-3.5.0.ebuild 2454 BLAKE2B 13a8f49887bd963e0be2f145b60827815381591f423ad662ae28cd296205bb473c3821682f3cda11f6b59b459348d55cdfc58ba95fd8e0d5f4dcceb6c33760d9 SHA512 1f98c1acfeeceb966f0ab653e4bff6df1e94791d1b0eb619a173252b5263593dee564f14f5ed61532372594caa223a8535fa3ae2a9b862bfcfec9caf065daf02
EBUILD opensubdiv-3.5.1.ebuild 2892 BLAKE2B 2314d783c73759592bdce53bacd0e2e50aa5aa1b518647c303cb19957983a8c70c5db33cdd418bd2882e9a4e7347a947b730cc8899aa2223a60466340aea52c3 SHA512 98e9fd19093a14cc4aea8f57148e9bb065b5fa1b6fd9c5e7b75fabd2c60d10902950cd206941088d62ba01ea29eb2225420570cb871d299057e519d262216962
-EBUILD opensubdiv-3.6.0.ebuild 2894 BLAKE2B e4fd07472db5263ef3b239dca873e0001057818e1258f808e5b7ba398e8b949ed54b446ada5fff577d2dcbd02060a2096dd61a43f189b34968b6040b2fb91e6a SHA512 52c31cdb26f1aa7f35e5df6b5bbd3608e9ca37ca4515b2004c9556b927aa3abc56847f8f7d9dc3cbb0f757aab2c5a41a29e13729e35df1f6810961a12bc11305
-MISC metadata.xml 821 BLAKE2B 46cb87e5b32796f7a25d637fcff7518467ba63d1ee7bc19e970d911753c414687309266b6c5b6d83e26dcb5d79b275d81223a908d3ef4a75bfdf5ccdcadd0d98 SHA512 89d47fbb26abcb6106a0f6170926cacd6e4977b6c7417a2bd81aa2fe1f83c25bb755e1334a2723b9ac1d3ac50dbe89e7e7669b02a52e90a2e3a8dd783da8cb2a
+EBUILD opensubdiv-3.6.0-r1.ebuild 4808 BLAKE2B fee0c1ae7907d0933f76d511cebf30097712dcc7e0f28073a27908f436d9ef75d94c8557698eda4c80f91ff90f595fe72d2de0e8545ad448d9cf3763c4d68365 SHA512 e9db4bb8184673955be1f05180d8c4c0ccd5aa1f580427aa829e4a6c7b6831ca354e32d2b22fa729764a19d595d97d24bf0d2290f3ca9c6b8beed27b3cab7ce3
+MISC metadata.xml 1153 BLAKE2B bbbeb8a72078cfde298fcfcb32dfc16688f25e3214fe53068787198d01e60c419c9740921789c11c8a8d88d597274481416b54788ab0f5e592f99d1d2b7f9c9b SHA512 a95daff0b9133cbc58b8c1634942ae7c9043796b482f2966e53f4e7b6ce9443ba71f99847caa94181b60dc35542b0723da5e6a0a36e6b07ae39011a6f6f04170
diff --git a/media-libs/opensubdiv/files/opensubdiv-3.6.0-cudaflags.patch b/media-libs/opensubdiv/files/opensubdiv-3.6.0-cudaflags.patch
new file mode 100644
index 000000000000..0202c47d13a4
--- /dev/null
+++ b/media-libs/opensubdiv/files/opensubdiv-3.6.0-cudaflags.patch
@@ -0,0 +1,20 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -595,7 +595,7 @@ if(CUDA_FOUND)
+ )
+ set(OSD_GPU TRUE)
+
+- if (UNIX)
++ if (FALSE)
+ list( APPEND CUDA_NVCC_FLAGS -Xcompiler -fPIC )
+ # Use OSD_CUDA_NVCC_FLAGS to specify --gpu-architecture or other CUDA
+ # compilation options. The overrides here are only for compatibility
+@@ -609,7 +609,7 @@ if(CUDA_FOUND)
+ endif()
+ endif()
+
+- if (DEFINED OSD_CUDA_NVCC_FLAGS)
++ if (FALSE)
+ list( APPEND CUDA_NVCC_FLAGS ${OSD_CUDA_NVCC_FLAGS})
+ endif()
+
diff --git a/media-libs/opensubdiv/files/opensubdiv-3.6.0-use-gnuinstalldirs.patch b/media-libs/opensubdiv/files/opensubdiv-3.6.0-use-gnuinstalldirs.patch
new file mode 100644
index 000000000000..5beb5bc49664
--- /dev/null
+++ b/media-libs/opensubdiv/files/opensubdiv-3.6.0-use-gnuinstalldirs.patch
@@ -0,0 +1,38 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,6 +25,7 @@
+ cmake_minimum_required(VERSION 3.12)
+
+ project(OpenSubdiv)
++include(GNUInstallDirs)
+
+ # Set C++ standard requirements, allowing overrides
+ if (NOT DEFINED CMAKE_CXX_STANDARD)
+@@ -81,15 +82,15 @@ if (NOT DEFINED CMAKE_INSTALL_PREFIX)
+ endif()
+
+ if (NOT DEFINED CMAKE_INCDIR_BASE)
+- set( CMAKE_INCDIR_BASE include/opensubdiv )
++ set( CMAKE_INCDIR_BASE ${CMAKE_INSTALL_INCLUDEDIR}/opensubdiv )
+ endif()
+
+ if (NOT DEFINED CMAKE_BINDIR_BASE)
+- set( CMAKE_BINDIR_BASE bin )
++ set( CMAKE_BINDIR_BASE ${CMAKE_INSTALL_BINDIR} )
+ endif()
+
+ if (NOT DEFINED CMAKE_LIBDIR_BASE)
+- set( CMAKE_LIBDIR_BASE lib )
++ set( CMAKE_LIBDIR_BASE ${CMAKE_INSTALL_LIBDIR} )
+ endif()
+
+ if (NOT DEFINED CMAKE_FRAMEWORKDIR_BASE)
+@@ -101,7 +102,7 @@ if (NOT DEFINED CMAKE_PLUGINDIR_BASE)
+ endif()
+
+ if (NOT DEFINED CMAKE_DOCDIR_BASE)
+- set( CMAKE_DOCDIR_BASE share/doc/opensubdiv )
++ set( CMAKE_DOCDIR_BASE ${CMAKE_INSTALL_DOCDIR} )
+ else()
+ if (IS_ABSOLUTE ${CMAKE_DOCDIR_BASE})
+ set( CMAKE_DOCDIR_BASE "${CMAKE_DOCDIR_BASE}" )
diff --git a/media-libs/opensubdiv/metadata.xml b/media-libs/opensubdiv/metadata.xml
index f88292b52159..261fb3ca34b8 100644
--- a/media-libs/opensubdiv/metadata.xml
+++ b/media-libs/opensubdiv/metadata.xml
@@ -10,10 +10,19 @@
<name>Proxy Maintainers</name>
</maintainer>
<use>
+ <flag name="glew">
+ Enable support for OpenGL Extension Wrangler Library (<pkg>media-libs/glew</pkg>)
+ </flag>
+ <flag name="glfw">
+ Enable support for OpenGL FrameWork (<pkg>media-libs/glfw</pkg>)
+ </flag>
<flag name="ptex">
Adds support for faster per-face texture mapping through
<pkg>media-libs/ptex</pkg>
</flag>
+ <flag name="python">
+ Use <pkg>dev-lang/python</pkg> to process source and documentation source files
+ </flag>
<flag name="tbb">
Enable multithreading with the Intel Threads Building Blocks through
<pkg>dev-cpp/tbb</pkg>
diff --git a/media-libs/opensubdiv/opensubdiv-3.6.0-r1.ebuild b/media-libs/opensubdiv/opensubdiv-3.6.0-r1.ebuild
new file mode 100644
index 000000000000..b5155b620bee
--- /dev/null
+++ b/media-libs/opensubdiv/opensubdiv-3.6.0-r1.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake cuda flag-o-matic python-any-r1 toolchain-funcs virtualx
+
+MY_PV="$(ver_rs "1-3" '_')"
+
+DESCRIPTION="An Open-Source subdivision surface library"
+HOMEPAGE="https://graphics.pixar.com/opensubdiv/docs/intro.html"
+SRC_URI="https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/OpenSubdiv-${MY_PV}"
+
+# Modfied Apache-2.0 license, where section 6 has been replaced.
+# See for example CMakeLists.txt for details.
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="X cuda doc examples +glew +glfw opencl +opengl openmp ptex python tbb test tutorials"
+RESTRICT="!test? ( test )"
+
+# TODO needed for stringify due to unwrapped KERNEL_FILES in opensubdiv/{far,osd}/CMakeLists.txt
+REQUIRED_USE="
+ || ( opencl opengl )
+"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen
+ dev-python/docutils
+ )
+ python? ( ${PYTHON_DEPS} )
+"
+
+RDEPEND="
+ opengl? (
+ media-libs/libglvnd
+ glew? (
+ media-libs/glew:=
+ )
+ glfw? (
+ media-libs/glfw:=
+ X? (
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXxf86vm
+ )
+ )
+ )
+ opencl? ( virtual/opencl )
+ openmp? ( || (
+ sys-devel/gcc:*[openmp]
+ sys-libs/libomp
+ ) )
+ ptex? ( media-libs/ptex )
+ tbb? ( dev-cpp/tbb:= )
+"
+
+# CUDA_RUNTIME is statically linked
+DEPEND="
+ ${RDEPEND}
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.6.0-use-gnuinstalldirs.patch"
+ "${FILESDIR}/${PN}-3.6.0-cudaflags.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ if use cuda; then
+ # When building binary packages we build all major targets unless specified otherwise
+ if [[ -z "${CUDAARCHS+x}" ]]; then
+ case ${MERGE_TYPE} in
+ source) CUDAARCHS="native" ;;
+ # buildonly) CUDAARCHS="all" ;;
+ buildonly) CUDAARCHS="all-major" ;;
+ esac
+ fi
+
+ # check if user provided --gpu-architecture/-arch flag instead of CUDAARCHS
+ for f in ${NVCCFLAGS}; do
+ if [[ ${f} == -arch* || ${f} == --gpu-architecture* ]]; then
+ CUDAARCHS="NVCC"
+ break
+ fi
+ done
+
+ if [[ "${CUDAARCHS}" == "NVCC" ]]; then
+ unset CUDAARCHS
+ else
+ export CUDAARCHS
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed \
+ -e "/install(/s/^/#DONOTINSTALL /g" \
+ -i \
+ regression/*/CMakeLists.txt \
+ tools/stringify/CMakeLists.txt \
+ || die
+
+ sed \
+ -e "/install( TARGETS osd_static_[cg]pu/s/^/#DONOTINSTALL /g" \
+ -i \
+ opensubdiv/CMakeLists.txt \
+ || die
+
+ use cuda && cuda_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_BINDIR="share/${PN}/bin"
+
+ # DirectX
+ -DNO_DX="yes"
+
+ # MacOS
+ -DNO_MACOS_FRAMEWORK="yes"
+ -DNO_METAL="yes"
+
+ -DNO_DOC="$(usex !doc)"
+ -DNO_EXAMPLES="$(usex !examples)"
+ -DNO_TUTORIALS="$(usex !tutorials)"
+ -DNO_REGRESSION="$(usex !test)"
+ -DNO_TESTS="$(usex !test)"
+
+ -DNO_PTEX="$(usex !ptex)"
+
+ # GUI
+ -DNO_OPENGL="$(usex !opengl)"
+
+ # Backends
+ -DNO_CUDA="$(usex !cuda)"
+ -DNO_OMP="$(usex !openmp)"
+ -DNO_TBB="$(usex !tbb)"
+ -DNO_OPENCL="$(usex !opencl)"
+ )
+
+ if use cuda; then
+ # The old cmake CUDA module doesn't use environment variable to initialize flags
+ mycmakeargs+=(
+ -DCUDA_NVCC_FLAGS="-forward-unknown-opts ${NVCCFLAGS}"
+ )
+ fi
+
+ if use opencl; then
+ mycmakeargs+=(
+ # not packaged https://github.com/martijnberger/clew
+ -DNO_CLEW="yes"
+ )
+ fi
+
+ if use opengl; then
+ mycmakeargs+=(
+ -DNO_GLTESTS="$(usex !test)"
+ -DNO_GLEW="$(usex !glew)"
+ -DNO_GLFW="$(usex !glfw)"
+ )
+ if use glew; then
+ mycmakeargs+=(
+ -DGLEW_LOCATION="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ fi
+ if use glfw; then
+ mycmakeargs+=(
+ -DGLFW_LOCATION="${ESYSROOT}/usr/$(get_libdir)"
+ -DNO_GLFW_X11="$(usex !X)"
+ )
+ fi
+ fi
+
+ if use ptex; then
+ mycmakeargs+=(
+ -DPTEX_LOCATION="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ fi
+
+ if ! use python; then
+ mycmakeargs+=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_Python="yes"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ # Fails due to for CL & CUDA kernels, works outside
+ "glImaging"
+ )
+
+ # "far_tutorial_1_2 breaks with gcc and > -O1"
+ tc-is-gcc && is-flagq '-O@(2|3|fast)' && CMAKE_SKIP_TESTS+=( "far_tutorial_1_2" )
+
+ use cuda && cuda_add_sandbox -w
+
+ virtx cmake_src_test
+
+ local KERNELS=( CPU )
+ use openmp && KERNELS+=( OPENMP )
+ use tbb && KERNELS+=( TBB )
+
+ # use cuda && KERNELS+=( CUDA )
+ # use opencl && KERNELS+=( CL )
+
+ use opengl && use X && KERNELS+=( XFB )
+ use opengl && KERNELS+=( GLSL )
+
+ virtx "${BUILD_DIR}/bin/glImaging" -w test -l 3 -s 256 256 -a -k "$(IFS=","; echo "${KERNELS[*]}")"
+}
diff --git a/media-libs/opensubdiv/opensubdiv-3.6.0.ebuild b/media-libs/opensubdiv/opensubdiv-3.6.0.ebuild
deleted file mode 100644
index 571914ada18c..000000000000
--- a/media-libs/opensubdiv/opensubdiv-3.6.0.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake cuda toolchain-funcs
-
-MY_PV="$(ver_rs "1-3" '_')"
-
-DESCRIPTION="An Open-Source subdivision surface library"
-HOMEPAGE="https://graphics.pixar.com/opensubdiv/docs/intro.html"
-SRC_URI="https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/OpenSubdiv-${MY_PV}"
-
-# Modfied Apache-2.0 license, where section 6 has been replaced.
-# See for example CMakeLists.txt for details.
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="cuda examples opencl openmp ptex tbb test tutorials"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- examples? (
- media-libs/glew:=
- media-libs/glfw:=
- x11-libs/libXinerama
- )
- cuda? ( dev-util/nvidia-cuda-toolkit:* )
- opencl? ( virtual/opencl )
- ptex? ( media-libs/ptex )
-"
-DEPEND="
- ${RDEPEND}
- tbb? ( dev-cpp/tbb:= )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.3.0-use-gnuinstalldirs.patch"
- "${FILESDIR}/${PN}-3.4.3-install-tutorials-into-bin.patch"
- # "${FILESDIR}/${PN}-3.4.4-tbb-2021.patch"
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- cmake_src_prepare
-
- use cuda && cuda_src_prepare
-}
-
-src_configure() {
- # GLTESTS are disabled as portage is unable to open a display during test phase
- # TODO: virtx work?
- local mycmakeargs=(
- -DGLEW_LOCATION="${ESYSROOT}/usr/$(get_libdir)"
- -DGLFW_LOCATION="${ESYSROOT}/usr/$(get_libdir)"
- -DNO_CLEW=ON
- -DNO_CUDA=$(usex !cuda)
- # Docs needed Python 2 so disabled
- # bug #815172
- -DNO_DOC=ON
- -DNO_EXAMPLES=$(usex !examples)
- -DNO_GLTESTS=ON
- -DNO_OMP=$(usex !openmp)
- -DNO_OPENCL=$(usex !opencl)
- -DNO_PTEX=$(usex !ptex)
- -DNO_REGRESSION=$(usex !test)
- -DNO_TBB=$(usex !tbb)
- -DNO_TESTS=$(usex !test)
- -DNO_TUTORIALS=$(usex !tutorials)
- )
-
- if use cuda; then
- # old cmake CUDA module doesn't use environment variable to initialize flags
- mycmakeargs+=( -DCUDA_NVCC_FLAGS="${NVCCFLAGS}" )
-
- # check if user provided --gpu-architecture/-arch flag and prevent cmake from overriding it if so
- for f in ${NVCCFLAGS}; do
- if [[ ${f} == -arch* || ${f} == --gpu-architecture* ]]; then
- mycmakeargs+=( -DOSD_CUDA_NVCC_FLAGS="" )
- break
- fi
- done
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- CMAKE_SKIP_TESTS=(
- "far_tutorial_1_2"
- )
-
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- rm -f "${ED}/usr/$(get_libdir)/libosdCPU.a" || die
- if use cuda || use opencl ; then
- rm -f "${ED}/usr/$(get_libdir)/libosdGPU.a" || die
- fi
- if use test; then
- rm -f \
- "${ED}/usr/bin/bfr_evaluate" \
- "${ED}/usr/bin/far_perf" \
- "${ED}/usr/bin/far_regression" \
- "${ED}/usr/bin/hbr_baseline" \
- "${ED}/usr/bin/hbr_regression" \
- "${ED}/usr/bin/osd_regression" \
- || die
- fi
-}