commit:     67c51d91eb835704c73e7e48c2cf08f8c4c26911
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 19 05:11:44 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 19 05:20:23 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67c51d91

media-libs/osl: fix declared LLVM compatibility, Python module installation

Bug: https://bugs.gentoo.org/794616
Bug: https://bugs.gentoo.org/778005
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/osl/osl-1.11.9.0-r1.ebuild | 106 ++++++++++++++++++++++++++++++++++
 media-libs/osl/osl-1.12.0.2-r1.ebuild | 104 +++++++++++++++++++++++++++++++++
 2 files changed, 210 insertions(+)

diff --git a/media-libs/osl/osl-1.11.9.0-r1.ebuild 
b/media-libs/osl/osl-1.11.9.0-r1.ebuild
new file mode 100644
index 00000000000..a85d2827df7
--- /dev/null
+++ b/media-libs/osl/osl-1.11.9.0-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+
+# check this on updates
+LLVM_MAX_SLOT=10
+
+inherit cmake llvm toolchain-funcs python-single-r1
+
+DESCRIPTION="Advanced shading language for production GI renderers"
+HOMEPAGE="http://opensource.imageworks.com/?p=osl 
https://github.com/imageworks/OpenShadingLanguage";
+SRC_URI="https://github.com/imageworks/OpenShadingLanguage/archive/Release-${PV}.tar.gz
 -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/11"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+X86_CPU_FEATURES=(
+       sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2
+       avx:avx avx2:avx2 avx512f:avx512f f16c:f16c
+)
+CPU_FEATURES=( ${X86_CPU_FEATURES[@]/#/cpu_flags_x86_} )
+
+IUSE="doc partio qt5 test ${CPU_FEATURES[@]%:*} python"
+
+RDEPEND="
+       dev-libs/boost:=
+       dev-libs/pugixml
+       media-libs/openexr:=
+       media-libs/openimageio:=
+       <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
+       sys-libs/zlib
+       partio? ( media-libs/partio )
+       python? (
+               ${PYTHON_DEPS}
+               $(python_gen_cond_dep '
+                       dev-python/pybind11[${PYTHON_USEDEP}]
+               ')
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+       )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       sys-devel/bison
+       sys-devel/flex
+       virtual/pkgconfig
+"
+
+PATCHES=()
+
+CMAKE_REMOVE_MODULES_LIST=()
+
+# Restricting tests as Make file handles them differently
+RESTRICT="test"
+
+S="${WORKDIR}/OpenShadingLanguage-Release-${PV}"
+
+llvm_check_deps() {
+       has_version -r "sys-devel/clang:${LLVM_SLOT}"
+}
+
+pkg_setup() {
+       use python && python-single-r1_pkg_setup
+       llvm_pkg_setup
+}
+
+src_configure() {
+       local cpufeature
+       local mysimd=()
+       for cpufeature in "${CPU_FEATURES[@]}"; do
+               use "${cpufeature%:*}" && mysimd+=("${cpufeature#*:}")
+       done
+
+       # If no CPU SIMDs were used, completely disable them
+       [[ -z ${mysimd} ]] && mysimd=("0")
+
+       local gcc=$(tc-getCC)
+
+       local mycmakeargs=(
+               # LLVM 10+ needs C++14
+               -DCMAKE_CXX_STANDARD=14
+               -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+               -DINSTALL_DOCS=$(usex doc)
+               -DUSE_CCACHE=OFF
+               -DLLVM_STATIC=OFF
+               -DLLVM_ROOT="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+               -DOSL_BUILD_TESTS=$(usex test)
+               
-DOSL_SHADER_INSTALL_DIR="${EPREFIX}/usr/include/${PN^^}/shaders"
+               -DOSL_PTX_INSTALL_DIR="${EPREFIX}/usr/include/${PN^^}/ptx"
+               -DSTOP_ON_WARNING=OFF
+               -DUSE_PARTIO=$(usex partio)
+               -DUSE_QT=$(usex qt5)
+               -DUSE_PYTHON=$(usex python)
+               -DUSE_SIMD="$(IFS=","; echo "${mysimd[*]}")"
+       )
+
+       cmake_src_configure
+}

diff --git a/media-libs/osl/osl-1.12.0.2-r1.ebuild 
b/media-libs/osl/osl-1.12.0.2-r1.ebuild
new file mode 100644
index 00000000000..d8094d70371
--- /dev/null
+++ b/media-libs/osl/osl-1.12.0.2-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+
+# check this on updates
+LLVM_MAX_SLOT=13
+
+inherit cmake llvm toolchain-funcs python-single-r1
+
+DESCRIPTION="Advanced shading language for production GI renderers"
+HOMEPAGE="http://opensource.imageworks.com/?p=osl";
+SRC_URI="https://github.com/imageworks/OpenShadingLanguage/archive/Release-${PV}-dev.tar.gz
 -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+X86_CPU_FEATURES=(
+       sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2
+       avx:avx avx2:avx2 avx512f:avx512f f16c:f16c
+)
+CPU_FEATURES=( ${X86_CPU_FEATURES[@]/#/cpu_flags_x86_} )
+
+IUSE="doc partio qt5 test ${CPU_FEATURES[@]%:*} python"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+       dev-libs/boost:=
+       dev-libs/pugixml
+       media-libs/openexr:=
+       media-libs/openimageio:=
+       <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
+       sys-libs/zlib:=
+       python? (
+               ${PYTHON_DEPS}
+               $(python_gen_cond_dep '
+                       dev-python/pybind11[${PYTHON_USEDEP}]
+               ')
+       )
+       partio? ( media-libs/partio )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+       )
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+       sys-devel/bison
+       sys-devel/flex
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       ${FILESDIR}/${P}-llvm-11.patch
+       ${FILESDIR}/${P}-llvm-12.patch
+)
+
+# Restricting tests as Make file handles them differently
+RESTRICT="test"
+
+S="${WORKDIR}/OpenShadingLanguage-Release-${PV}-dev"
+
+llvm_check_deps() {
+       has_version -r "sys-devel/clang:${LLVM_SLOT}"
+}
+
+pkg_setup() {
+       use python && python-single-r1_pkg_setup
+       llvm_pkg_setup
+}
+
+src_configure() {
+       local cpufeature
+       local mysimd=()
+       for cpufeature in "${CPU_FEATURES[@]}"; do
+               use "${cpufeature%:*}" && mysimd+=("${cpufeature#*:}")
+       done
+
+       # If no CPU SIMDs were used, completely disable them
+       [[ -z ${mysimd} ]] && mysimd=("0")
+
+       local gcc=$(tc-getCC)
+       # LLVM needs CPP11. Do not disable.
+       local mycmakeargs=(
+               -DCMAKE_CXX_STANDARD=14
+               -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+               -DINSTALL_DOCS=$(usex doc)
+               -DUSE_CCACHE=OFF
+               -DLLVM_STATIC=OFF
+               -DOSL_BUILD_TESTS=$(usex test)
+               -DSTOP_ON_WARNING=OFF
+               -DUSE_PARTIO=$(usex partio)
+               -DUSE_QT=$(usex qt5)
+               -DUSE_PYTHON=$(usex python)
+               -DUSE_SIMD="$(IFS=","; echo "${mysimd[*]}")"
+       )
+
+       cmake_src_configure
+}

Reply via email to