Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/osl/files/, media-libs/osl/
Date: Tue, 25 Jun 2019 18:54:50
Message-Id: 1561488864.cae197b786f2108e0a98ad5857bde5ea95aa0d2f.asturm@gentoo
1 commit: cae197b786f2108e0a98ad5857bde5ea95aa0d2f
2 Author: Bernd Waibel <waebbl <AT> gmail <DOT> com>
3 AuthorDate: Tue Jun 18 11:19:00 2019 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Tue Jun 25 18:54:24 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cae197b7
7
8 media-libs/osl: bump to version 1.10.5
9
10 Use upstream provided patch to find openexr version.
11
12 Closes: https://bugs.gentoo.org/686480
13 Package-Manager: Portage-2.3.67, Repoman-2.3.14
14 Signed-off-by: Bernd Waibel <waebbl <AT> gmail.com>
15 Closes: https://github.com/gentoo/gentoo/pull/12074
16 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
17
18 media-libs/osl/Manifest | 1 +
19 .../osl/files/osl-1.10.5-fix-install-shaders.patch | 35 +++++++++
20 ....5-upstream-patch-to-find-openexr-version.patch | 76 +++++++++++++++++++
21 media-libs/osl/metadata.xml | 1 +
22 media-libs/osl/osl-1.10.5.ebuild | 88 ++++++++++++++++++++++
23 5 files changed, 201 insertions(+)
24
25 diff --git a/media-libs/osl/Manifest b/media-libs/osl/Manifest
26 index d618646e7f1..f0b2131df27 100644
27 --- a/media-libs/osl/Manifest
28 +++ b/media-libs/osl/Manifest
29 @@ -1,3 +1,4 @@
30 +DIST osl-1.10.5.tar.gz 13543151 BLAKE2B 3c67834d9ab6d4d725ecde622c402707593b9aaf25f1e94f9ed6b004c28fa9b7b90cfd0d320cb2898f77f8883ac14a71310abaf63a5b06704565c5a3bdea09b4 SHA512 d704b623836edca4c3fe9c18f33b8d76f4625036228fc977732c600e23e16da4cb4bf311607019b251d734b63a184bde0f7726f144ecd5bcd7866938d95bfdff
31 DIST osl-1.8.12.tar.gz 14572814 BLAKE2B edf742b104e723e1e3e56b2fb28b1cd4c81921b04a00b8c0f58cf174105a78881283837b550fb4a67d38f5f0a37327fac7a17310974895ed747e8813e6c8ad7b SHA512 29bb0a23d9e1aa445e87b7080be056f939a1828fa87f001cc1503a8c76d21a5620c69146158d27800db71b1abee71a0c39804d85aea7b5899b0cb7ca1c617b56
32 DIST osl-1.9.6.tar.gz 14765052 BLAKE2B c6c82d02d49d263361b5b3ba03fca8f35f16199d7d30bbeb50a6b2ee16efcb06ddddc9ce515f749b38b2428365c27a23bf673e9be64d1453c7a49ab0f0d09002 SHA512 e2eb8487038795630bfb38cfb7a39f0cc6877f83689d1e00327b9d95c4b5270c263546a02dff1511272d1d2f429757e11fa28095f9d16cb170b777b531678961
33 DIST osl-1.9.9.tar.gz 14771575 BLAKE2B ffbfa935c0d6568c9b35048d5b05965abc75775f4a4f56a434a331a45f4963b3e5cb74fb965748a5fb94cdd3a4201a4745ce564646cbbe535ca2646a734dc33c SHA512 7f3a16bc654676f8e82bf87a2c33914997f1468772ad27bf284c848e9b02adddaf37cb6ef8bde16c81b9076247bca5463a1a5660023efd67d9ac20969ae99647
34
35 diff --git a/media-libs/osl/files/osl-1.10.5-fix-install-shaders.patch b/media-libs/osl/files/osl-1.10.5-fix-install-shaders.patch
36 new file mode 100644
37 index 00000000000..8e45efd96ab
38 --- /dev/null
39 +++ b/media-libs/osl/files/osl-1.10.5-fix-install-shaders.patch
40 @@ -0,0 +1,35 @@
41 +From 296ee89fcdec8ff6e514a3aebf5cb6c177f7f0c1 Mon Sep 17 00:00:00 2001
42 +From: Bernd Waibel <waebbl@×××××.com>
43 +Date: Mon, 10 Jun 2019 13:02:14 +0200
44 +Subject: [PATCH] fix install location of shaders (Gentoo specific)
45 +
46 +Signed-off-by: Bernd Waibel <waebbl@×××××.com>
47 +---
48 + src/shaders/CMakeLists.txt | 2 +-
49 + src/shaders/MaterialX/CMakeLists.txt | 2 +-
50 + 2 files changed, 2 insertions(+), 2 deletions(-)
51 +
52 +diff --git a/src/shaders/CMakeLists.txt b/src/shaders/CMakeLists.txt
53 +index 9b263ff..5c47918 100644
54 +--- a/src/shaders/CMakeLists.txt
55 ++++ b/src/shaders/CMakeLists.txt
56 +@@ -63,4 +63,4 @@ add_custom_target (shaders ALL
57 + SOURCES ${shader_source} ${shader_headers})
58 +
59 + install (FILES ${shader_headers} ${shader_source} ${shader_objs}
60 +- DESTINATION shaders)
61 ++ DESTINATION include/OSL/shaders)
62 +diff --git a/src/shaders/MaterialX/CMakeLists.txt b/src/shaders/MaterialX/CMakeLists.txt
63 +index 88b52f3..f0e0a23 100644
64 +--- a/src/shaders/MaterialX/CMakeLists.txt
65 ++++ b/src/shaders/MaterialX/CMakeLists.txt
66 +@@ -258,5 +258,5 @@ add_custom_target (mxshaders ALL
67 + SOURCES ${shader_source} ${mx_shader_headers})
68 +
69 + install (FILES ${mx_shader_headers} ${mx_shader_objs} ${mx_shader_osls}
70 +- DESTINATION shaders/MaterialX)
71 ++ DESTINATION include/OSL/shaders/MaterialX)
72 +
73 +--
74 +2.21.0
75 +
76
77 diff --git a/media-libs/osl/files/osl-1.10.5-upstream-patch-to-find-openexr-version.patch b/media-libs/osl/files/osl-1.10.5-upstream-patch-to-find-openexr-version.patch
78 new file mode 100644
79 index 00000000000..cc270ff5281
80 --- /dev/null
81 +++ b/media-libs/osl/files/osl-1.10.5-upstream-patch-to-find-openexr-version.patch
82 @@ -0,0 +1,76 @@
83 +From 9efdcfafcdfbb7666171b6016b725183a71fceb0 Mon Sep 17 00:00:00 2001
84 +From: Bernd Waibel <waebbl@×××××.com>
85 +Date: Tue, 25 Jun 2019 19:44:14 +0200
86 +Subject: [PATCH] src/cmake/modules/FindOpenEXR.cmake: patch to find openexr
87 +
88 +This upstream patch (see
89 +https://github.com/imageworks/OpenShadingLanguage/pull/1022/files)
90 +uses pkg-config variables to get the correct versions for openexr
91 +on multilib installations.
92 +
93 +Signed-off-by: Bernd Waibel <waebbl@×××××.com>
94 +---
95 + src/cmake/modules/FindOpenEXR.cmake | 20 +++++++++++++++-----
96 + 1 file changed, 15 insertions(+), 5 deletions(-)
97 +
98 +diff --git a/src/cmake/modules/FindOpenEXR.cmake b/src/cmake/modules/FindOpenEXR.cmake
99 +index 6c6b39c..4a9de4b 100644
100 +--- a/src/cmake/modules/FindOpenEXR.cmake
101 ++++ b/src/cmake/modules/FindOpenEXR.cmake
102 +@@ -25,8 +25,12 @@ endif ()
103 + # Attempt to find OpenEXR with pkgconfig
104 + find_package(PkgConfig)
105 + if (PKG_CONFIG_FOUND)
106 +- pkg_check_modules(_ILMBASE QUIET IlmBase>=2.0.0)
107 +- pkg_check_modules(_OPENEXR QUIET OpenEXR>=2.0.0)
108 ++ if (NOT ILMBASE_ROOT_DIR)
109 ++ pkg_check_modules(_ILMBASE QUIET QUIET IlmBase>=2.0.0)
110 ++ endif()
111 ++ if (NOT OPENEXR_ROOT_DIR)
112 ++ pkg_check_modules(_OPENEXR QUIET OpenEXR>=2.0.0)
113 ++ endif()
114 + endif (PKG_CONFIG_FOUND)
115 +
116 + # List of likely places to find the headers -- note priority override of
117 +@@ -60,7 +64,11 @@ find_path (OPENEXR_INCLUDE_PATH OpenEXR/OpenEXRConfig.h
118 + find_path (OPENEXR_INCLUDE_PATH OpenEXR/OpenEXRConfig.h)
119 +
120 + # Try to figure out version number
121 +-if (EXISTS "${OPENEXR_INCLUDE_PATH}/OpenEXR/ImfMultiPartInputFile.h")
122 ++if (DEFINED _OPENEXR_VERSION AND NOT "${_OPENEXR_VERSION}" STREQUAL "")
123 ++ set (OPENEXR_VERSION "${_OPENEXR_VERSION}")
124 ++ string (REGEX REPLACE "([0-9]+)\\.[0-9\\.]+" "\\1" OPENEXR_VERSION_MAJOR "${_OPENEXR_VERSION}")
125 ++ string (REGEX REPLACE "[0-9]+\\.([0-9]+)(\\.[0-9]+)?" "\\1" OPENEXR_VERSION_MINOR "${_OPENEXR_VERSION}")
126 ++elseif (EXISTS "${OPENEXR_INCLUDE_PATH}/OpenEXR/ImfMultiPartInputFile.h")
127 + # Must be at least 2.0
128 + file(STRINGS "${OPENEXR_INCLUDE_PATH}/OpenEXR/OpenEXRConfig.h" TMP REGEX "^#define OPENEXR_VERSION_STRING .*$")
129 + string (REGEX MATCHALL "[0-9]+[.0-9]+" OPENEXR_VERSION ${TMP})
130 +@@ -93,6 +101,8 @@ set (GENERIC_LIBRARY_PATHS
131 + /opt/local/lib
132 + $ENV{PROGRAM_FILES}/OpenEXR/lib/static )
133 +
134 ++# message (STATUS "Generic lib paths: ${GENERIC_LIBRARY_PATHS}")
135 ++
136 + # Handle request for static libs by altering CMAKE_FIND_LIBRARY_SUFFIXES.
137 + # We will restore it at the end of this file.
138 + set (_openexr_orig_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
139 +@@ -114,14 +124,14 @@ foreach (COMPONENT ${_openexr_components})
140 + # First try with the version embedded
141 + set (FULL_COMPONENT_NAME ${COMPONENT}-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
142 + find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME}
143 +- PATHS ${OPENEXR_LIBRARY_DIR}
144 ++ PATHS ${OPENEXR_LIBRARY_DIR} $ENV{OPENEXR_LIBRARY_DIR}
145 + ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH)
146 + # Again, with no directory restrictions
147 + find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME})
148 + # Try again without the version
149 + set (FULL_COMPONENT_NAME ${COMPONENT})
150 + find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME}
151 +- PATHS ${OPENEXR_LIBRARY_DIR}
152 ++ PATHS ${OPENEXR_LIBRARY_DIR} $ENV{OPENEXR_LIBRARY_DIR}
153 + ${GENERIC_LIBRARY_PATHS} NO_DEFAULT_PATH)
154 + # One more time, with no restrictions
155 + find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME})
156 +--
157 +2.22.0
158 +
159
160 diff --git a/media-libs/osl/metadata.xml b/media-libs/osl/metadata.xml
161 index b20cc885573..bc2afe661c3 100644
162 --- a/media-libs/osl/metadata.xml
163 +++ b/media-libs/osl/metadata.xml
164 @@ -26,6 +26,7 @@
165 SIMD Optimization
166 </flag>
167 <flag name="partio">Use <pkg>media-libs/partio</pkg></flag>
168 + <flag name="qt5">Build the osltoy binary</flag>
169 </use>
170 <upstream>
171 <remote-id type="github">imageworks/OpenShadingLanguage</remote-id>
172
173 diff --git a/media-libs/osl/osl-1.10.5.ebuild b/media-libs/osl/osl-1.10.5.ebuild
174 new file mode 100644
175 index 00000000000..c5326986b7a
176 --- /dev/null
177 +++ b/media-libs/osl/osl-1.10.5.ebuild
178 @@ -0,0 +1,88 @@
179 +# Copyright 1999-2019 Gentoo Authors
180 +# Distributed under the terms of the GNU General Public License v2
181 +
182 +EAPI=7
183 +inherit cmake-utils llvm toolchain-funcs
184 +
185 +# check this on updates
186 +LLVM_MAX_SLOT=8
187 +
188 +DESCRIPTION="Advanced shading language for production GI renderers"
189 +HOMEPAGE="http://opensource.imageworks.com/?p=osl"
190 +SRC_URI="https://github.com/imageworks/OpenShadingLanguage/archive/Release-${PV}.tar.gz -> ${P}.tar.gz"
191 +
192 +LICENSE="BSD"
193 +SLOT="0"
194 +KEYWORDS="~amd64 ~x86"
195 +
196 +X86_CPU_FEATURES=(
197 + sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2
198 + avx:avx avx2:avx2 avx512f:avx512f f16c:f16c
199 +)
200 +CPU_FEATURES=( ${X86_CPU_FEATURES[@]/#/cpu_flags_x86_} )
201 +
202 +IUSE="doc partio qt5 test ${CPU_FEATURES[@]%:*}"
203 +
204 +# >=clang-3.4 is needed, but at least llvm:5 if both are installed
205 +RDEPEND="
206 + >=dev-libs/boost-1.62:=
207 + dev-libs/pugixml
208 + >=media-libs/openexr-2.2.0:=
209 + >=media-libs/openimageio-1.8.5
210 + >=sys-devel/clang-5:=
211 + sys-libs/zlib:=
212 + partio? ( media-libs/partio )
213 + qt5? (
214 + dev-qt/qtcore:5
215 + dev-qt/qtgui:5
216 + dev-qt/qtwidgets:5
217 + )
218 +"
219 +
220 +DEPEND="${RDEPEND}"
221 +BDEPEND="
222 + sys-devel/bison
223 + sys-devel/flex
224 + virtual/pkgconfig
225 +"
226 +
227 +PATCHES=(
228 + "${FILESDIR}/${P}-upstream-patch-to-find-openexr-version.patch"
229 + "${FILESDIR}/${P}-fix-install-shaders.patch"
230 +)
231 +
232 +# Restricting tests as Make file handles them differently
233 +RESTRICT="test"
234 +
235 +S="${WORKDIR}/OpenShadingLanguage-Release-${PV}"
236 +
237 +llvm_check_deps() {
238 + has_version -r "sys-devel/clang:${LLVM_SLOT}"
239 +}
240 +
241 +src_configure() {
242 + local cpufeature
243 + local mysimd=()
244 + for cpufeature in "${CPU_FEATURES[@]}"; do
245 + use "${cpufeature%:*}" && mysimd+=("${cpufeature#*:}")
246 + done
247 +
248 + # If no CPU SIMDs were used, completely disable them
249 + [[ -z ${mysimd} ]] && mysimd=("0")
250 +
251 + local gcc=$(tc-getCC)
252 + # LLVM needs CPP11. Do not disable.
253 + local mycmakeargs=(
254 + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
255 + -DENABLERTTI=OFF
256 + -DINSTALL_DOCS=$(usex doc)
257 + -DLLVM_STATIC=ON
258 + -DOSL_BUILD_TESTS=$(usex test)
259 + -DSTOP_ON_WARNING=OFF
260 + -DUSE_PARTIO=$(usex partio)
261 + -DUSE_QT=$(usex qt5)
262 + -DUSE_SIMD="$(IFS=","; echo "${mysimd[*]}")"
263 + )
264 +
265 + cmake-utils_src_configure
266 +}