diff options
Diffstat (limited to 'media-libs/opensubdiv/opensubdiv-3.3.3.ebuild')
-rw-r--r-- | media-libs/opensubdiv/opensubdiv-3.3.3.ebuild | 70 |
1 files changed, 48 insertions, 22 deletions
diff --git a/media-libs/opensubdiv/opensubdiv-3.3.3.ebuild b/media-libs/opensubdiv/opensubdiv-3.3.3.ebuild index eedadea99852..c0ddde3439a5 100644 --- a/media-libs/opensubdiv/opensubdiv-3.3.3.ebuild +++ b/media-libs/opensubdiv/opensubdiv-3.3.3.ebuild @@ -1,42 +1,63 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -inherit cmake-utils toolchain-funcs eapi7-ver +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="http://graphics.pixar.com/opensubdiv/" +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" -LICENSE="ZLIB" +# 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 opencl openmp ptex tbb" +IUSE="cuda doc examples opencl openmp ptex tbb test tutorials" -RDEPEND="media-libs/glew:= +RDEPEND=" + ${PYTHON_DEPENDS} + media-libs/glew:= media-libs/glfw:= cuda? ( dev-util/nvidia-cuda-toolkit:* ) opencl? ( virtual/opencl ) - ptex? ( media-libs/ptex )" - -DEPEND="${RDEPEND} + ptex? ( media-libs/ptex ) + x11-libs/libXinerama +" +DEPEND=" + ${RDEPEND} + tbb? ( dev-cpp/tbb ) +" +BDEPEND=" doc? ( dev-python/docutils app-doc/doxygen ) - tbb? ( dev-cpp/tbb )" + cuda? ( <sys-devel/gcc-9[cxx] ) +" S="${WORKDIR}/OpenSubdiv-${MY_PV}" PATCHES=( - "${FILESDIR}/${PN}-3.3.0-fix-quotes.patch" "${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 } @@ -45,20 +66,25 @@ pkg_setup() { } src_configure() { + # GLTESTS are disabled as portage is unable to open a display during test phase local mycmakeargs=( - -DNO_CLEW=1 + -DGLEW_LOCATION="${EPREFIX}/usr/$(get_libdir)" + -DGLFW_LOCATION="${EPREFIX}/usr/$(get_libdir)" + -DNO_CLEW=ON + -DNO_CUDA=$(usex !cuda) -DNO_DOC=$(usex !doc) - -DNO_TBB=$(usex !tbb) - -DNO_PTEX=$(usex !ptex) + -DNO_EXAMPLES=$(usex !examples) + -DNO_GLTESTS=ON -DNO_OMP=$(usex !openmp) -DNO_OPENCL=$(usex !opencl) - -DNO_CUDA=$(usex !cuda) - -DNO_REGRESSION=1 # They don't work with certain settings - -DNO_EXAMPLES=1 # Not needed. - -DNO_TUTORIALS=1 # They install illegally. Need to find a better solution. - -DGLEW_LOCATION="${EPREFIX}/usr/$(get_libdir)" - -DGLFW_LOCATION="${EPREFIX}/usr/$(get_libdir)" + -DNO_PTEX=$(usex !ptex) + -DNO_REGRESSION=$(usex !test) + -DNO_TBB=$(usex !tbb) + -DNO_TESTS=$(usex !test) + -DNO_TUTORIALS=$(usex !tutorials) ) - cmake-utils_src_configure + # fails with building cuda kernels when using multiple jobs + export MAKEOPTS="-j1" + cmake_src_configure } |