diff options
author | Adrian Grigo <agrigo2001@yahoo.com.au> | 2020-05-13 11:58:26 +1000 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2020-06-08 10:45:20 +0300 |
commit | c280c98bb725da61f5b4af2cf872004aea60cc41 (patch) | |
tree | 221057eb3037d06435f1c0c3d712c7c32d0d1637 /media-libs/opensubdiv/opensubdiv-3.4.3.ebuild | |
parent | sys-fs/xwmfs: removal of old version 0.84 (diff) | |
download | gentoo-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.ebuild | 90 |
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 +} |