summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Grigo <agrigo2001@yahoo.com.au>2020-05-13 11:58:26 +1000
committerJoonas Niilola <juippis@gentoo.org>2020-06-08 10:45:20 +0300
commitc280c98bb725da61f5b4af2cf872004aea60cc41 (patch)
tree221057eb3037d06435f1c0c3d712c7c32d0d1637 /media-libs/opensubdiv/opensubdiv-3.4.3.ebuild
parentsys-fs/xwmfs: removal of old version 0.84 (diff)
downloadgentoo-c280c98bb725da61f5b4af2cf872004aea60cc41.tar.gz
gentoo-c280c98bb725da61f5b4af2cf872004aea60cc41.tar.bz2
gentoo-c280c98bb725da61f5b4af2cf872004aea60cc41.zip
media-libs/opensubdiv: Version bump to 3.4.3
Version bump to media-libs/opensubdiv-3.4.3 This version has been updated to EAPI 7 and inherits from cmake rather than cmake-utils. The license has been corrected to modified apache-2 New USE flags are added to control installation of the docs, examples and tutorials. The build system is patched to install the tutorials into /usr/bin, and to use python 2.7 to build the documentation. The latter fixes bug 722570 for this ebuild. When using FEATURES="test", the basic and regression tests are enabled. However the GLTESTS are disabled as portage does not have access to an X11 display to run them during the build. A direct dependency on libXinerama was added as this is no longer included by glfw for wayland users. This fixes bug 708160 for this ebuild. For cuda users, the build will fail when using GCC 9+. If an incorrect version is selected, the ebuild will warn the user to run gcc-config. Others have found that cuda kernels fail to build with multiple jobs for previous versions of opensubdiv. I use MAKEOPTS="-j1" to prevent this, although it has not been an issue for me. Signed-off-by: Adrian Grigo <agrigo2001@yahoo.com.au> Closes: https://bugs.gentoo.org/696592 Closes: https://bugs.gentoo.org/708160 Closes: https://bugs.gentoo.org/722570 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'media-libs/opensubdiv/opensubdiv-3.4.3.ebuild')
-rw-r--r--media-libs/opensubdiv/opensubdiv-3.4.3.ebuild90
1 files changed, 90 insertions, 0 deletions
diff --git a/media-libs/opensubdiv/opensubdiv-3.4.3.ebuild b/media-libs/opensubdiv/opensubdiv-3.4.3.ebuild
new file mode 100644
index 000000000000..825694ee5677
--- /dev/null
+++ b/media-libs/opensubdiv/opensubdiv-3.4.3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR=emake
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake python-utils-r1 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"
+
+# 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 ~x86"
+IUSE="cuda doc examples opencl openmp ptex tbb test tutorials"
+
+RDEPEND="
+ ${PYTHON_DEPENDS}
+ media-libs/glew:=
+ media-libs/glfw:=
+ cuda? ( dev-util/nvidia-cuda-toolkit:* )
+ opencl? ( virtual/opencl )
+ ptex? ( media-libs/ptex )
+ x11-libs/libXinerama
+"
+DEPEND="
+ ${RDEPEND}
+ tbb? ( dev-cpp/tbb )
+"
+BDEPEND="
+ doc? (
+ dev-python/docutils
+ app-doc/doxygen
+ )
+ cuda? ( <sys-devel/gcc-9[cxx] )
+"
+
+S="${WORKDIR}/OpenSubdiv-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.3.0-use-gnuinstalldirs.patch"
+ "${FILESDIR}/${PN}-3.3.0-add-CUDA9-compatibility.patch"
+ "${FILESDIR}/${PN}-3.4.0-0001-documentation-CMakeLists.txt-force-python2.patch"
+ "${FILESDIR}/${P}-install-tutorials-into-bin.patch"
+)
+
+RESTRICT="!test? ( test )"
+
+pkg_pretend() {
+ if use cuda; then
+ [[ $(gcc-major-version) -gt 8 ]] && \
+ eerror "USE=cuda requires gcc < 9. Run gcc-config to switch your default compiler" && \
+ die "Need gcc version earlier than 9"
+ fi
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ # GLTESTS are disabled as portage is unable to open a display during test phase
+ local mycmakeargs=(
+ -DGLEW_LOCATION="${EPREFIX}/usr/$(get_libdir)"
+ -DGLFW_LOCATION="${EPREFIX}/usr/$(get_libdir)"
+ -DNO_CLEW=ON
+ -DNO_CUDA=$(usex !cuda)
+ -DNO_DOC=$(usex !doc)
+ -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)
+ )
+
+ # fails with building cuda kernels when using multiple jobs
+ export MAKEOPTS="-j1"
+ cmake_src_configure
+}