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 |
+} |