media-libs/osl: add 1.9.6 release
authorJonathan Scruggs <j.scruggs@gmail.com>
Mon, 29 Jan 2018 15:16:35 +0000 (15:16 +0000)
committerJonathan Scruggs <dracwyrm@gentoo.org>
Tue, 30 Jan 2018 21:01:24 +0000 (21:01 +0000)
Closes: https://github.com/gentoo/gentoo/pull/6996

media-libs/osl/Manifest
media-libs/osl/metadata.xml
media-libs/osl/osl-1.9.6.ebuild [new file with mode: 0644]

index b3d37043f055f59ef47ca84fc052841e801b861c..ace6b6de3cfc617af7a09c2a4961feee78586e38 100644 (file)
@@ -1 +1,2 @@
 DIST osl-1.8.12.tar.gz 14572814 BLAKE2B edf742b104e723e1e3e56b2fb28b1cd4c81921b04a00b8c0f58cf174105a78881283837b550fb4a67d38f5f0a37327fac7a17310974895ed747e8813e6c8ad7b SHA512 29bb0a23d9e1aa445e87b7080be056f939a1828fa87f001cc1503a8c76d21a5620c69146158d27800db71b1abee71a0c39804d85aea7b5899b0cb7ca1c617b56
+DIST osl-1.9.6.tar.gz 14765052 BLAKE2B c6c82d02d49d263361b5b3ba03fca8f35f16199d7d30bbeb50a6b2ee16efcb06ddddc9ce515f749b38b2428365c27a23bf673e9be64d1453c7a49ab0f0d09002 SHA512 e2eb8487038795630bfb38cfb7a39f0cc6877f83689d1e00327b9d95c4b5270c263546a02dff1511272d1d2f429757e11fa28095f9d16cb170b777b531678961
index c5955714443e1ff05c19685a48c2ad6d793e6beb..b20cc885573852640f81e54058e75374bb72dcbd 100644 (file)
                lights, displacement, and pattern generation.
        </longdescription>
        <use>
+               <flag name="cpu_flags_x86_avx512f" restrict="&gt;=media-libs/osl-1.9.0">
+                       SIMD Optimization
+               </flag>
+               <flag name="cpu_flags_x86_f16c" restrict="&gt;=media-libs/osl-1.9.0">
+                       SIMD Optimization
+               </flag>
                <flag name="partio">Use <pkg>media-libs/partio</pkg></flag>
        </use>
        <upstream>
diff --git a/media-libs/osl/osl-1.9.6.ebuild b/media-libs/osl/osl-1.9.6.ebuild
new file mode 100644 (file)
index 0000000..17accb5
--- /dev/null
@@ -0,0 +1,69 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils
+
+DESCRIPTION="Advanced shading language for production GI renderers"
+HOMEPAGE="http://opensource.imageworks.com/?p=osl"
+
+MY_PV=${PV//_} # Remove underscore if any.
+[[ "${PV}" = *_rc* ]] && MY_PV=${MY_PV^^} # They use capitals for RC.
+
+SRC_URI="https://github.com/imageworks/OpenShadingLanguage/archive/Release-${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~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 test ${CPU_FEATURES[@]%:*}"
+
+RDEPEND=">=media-libs/openexr-2.2.0
+       >=media-libs/openimageio-1.8.0
+       dev-libs/pugixml
+       sys-libs/zlib:=
+       partio? ( media-libs/partio )"
+
+DEPEND="${RDEPEND}
+       >=dev-libs/boost-1.62
+       sys-devel/clang
+       sys-devel/bison
+       sys-devel/flex
+       virtual/pkgconfig"
+
+# Restricting tests as Make file handles them differently
+RESTRICT="test"
+
+S="${WORKDIR}/OpenShadingLanguage-Release-${MY_PV}"
+
+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")
+
+       # LLVM needs CPP11. Do not disable.
+       local mycmakeargs=(
+               -DLLVM_STATIC=ON
+               -DUSE_EXTERNAL_PUGIXML=ON
+               -DUSE_PARTIO=$(usex partio)
+               -DENABLERTTI=OFF
+               -DSTOP_ON_WARNING=OFF
+               -DOSL_BUILD_TESTS=$(usex test)
+               -DINSTALL_DOCS=$(usex doc)
+               -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+               -DUSE_SIMD="$(IFS=","; echo "${mysimd[*]}")"
+       )
+
+       cmake-utils_src_configure
+}