1 |
commit: 758ad2b0cd811e2340786b0eb12346872ee2cc4c |
2 |
Author: Sven Eden <yamakuzure <AT> gmx <DOT> net> |
3 |
AuthorDate: Mon Aug 6 06:11:24 2018 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Sep 7 11:22:49 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=758ad2b0 |
7 |
|
8 |
dev-games/ogre: 1.10.12 version bump |
9 |
|
10 |
The latest stable release of the Ogre-1.10.x series comes with a largely |
11 |
overhauled ebuild regarding its USE flags and the Ogre configuration. |
12 |
|
13 |
* Either USE flag gles2, opengl or both must be selected now. |
14 |
* Removed gles3 and gl3pus USE flugs, as they are implied now. |
15 |
* USE flag "egl" added to select egl over glx. |
16 |
* Users can now select whether Ogre shall include support for a GL |
17 |
state cache or not. |
18 |
* The behavior of the Ogre resource manager can now be selected. |
19 |
* Added a patch to unbundle TinyXML again. Upstream removed that possibility. |
20 |
|
21 |
Bug: https://bugs.gentoo.org/647266 |
22 |
Package-Manager: Portage-2.3.48, Repoman-2.3.10 |
23 |
|
24 |
dev-games/ogre/Manifest | 1 + |
25 |
.../files/ogre-1.10.12-use_system_tinyxml.patch | 42 +++++++ |
26 |
dev-games/ogre/metadata.xml | 34 ++++-- |
27 |
dev-games/ogre/ogre-1.10.12.ebuild | 124 +++++++++++++++++++++ |
28 |
4 files changed, 192 insertions(+), 9 deletions(-) |
29 |
|
30 |
diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest |
31 |
index 1ecfcfeea79..fa7ffd7cf96 100644 |
32 |
--- a/dev-games/ogre/Manifest |
33 |
+++ b/dev-games/ogre/Manifest |
34 |
@@ -1,2 +1,3 @@ |
35 |
DIST ogre-1.10.11.zip 133064317 BLAKE2B 88c64061377d8257853378219fb5906919d251f5b3c500f70bc1c04bc36e3083dc3dac4babb14d983c8b6fbb63ea3eecf698e3a0134f963db058055edd5dc4c4 SHA512 db207aec8330ec9da2a9781c8753411e69e08008995b8b3e127d454dc05aa899c75157718398ca24998644c586e2dd30cc7e9b7d98e045e4575537f5c81a5a54 |
36 |
+DIST ogre-1.10.12.zip 133067192 BLAKE2B 188437153969504b169970d14c39d47c9e666308bf65412018f42ba8ad108876f164733fe2004ea31941ab5db534766c10b871b34ef525522d1120b175530b87 SHA512 63998ea4940d04adfc179a94aa91bb2598692307b429f4c7e5b86a1519c13817035de4c71afc9e4b33fde35e962504373d152de9b9cc8eebbbeb78b2c1942041 |
37 |
DIST ogre-1.9.0.tar.bz2 128098305 BLAKE2B 6e67a5b60a6606a910e099f1c7ba736eb525f079f3aba5cfb362329b9130059d303fc9df6f7b8611c0ba75e1e207fa018e543e93c9f5ce39a6621e4c72ed4a83 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde |
38 |
|
39 |
diff --git a/dev-games/ogre/files/ogre-1.10.12-use_system_tinyxml.patch b/dev-games/ogre/files/ogre-1.10.12-use_system_tinyxml.patch |
40 |
new file mode 100644 |
41 |
index 00000000000..ef15931940d |
42 |
--- /dev/null |
43 |
+++ b/dev-games/ogre/files/ogre-1.10.12-use_system_tinyxml.patch |
44 |
@@ -0,0 +1,42 @@ |
45 |
+--- a/CMake/Dependencies.cmake 2018-09-04 07:50:49.091120793 +0200 |
46 |
++++ b/CMake/Dependencies.cmake 2018-09-04 07:51:55.429118519 +0200 |
47 |
+@@ -383,6 +383,10 @@ |
48 |
+ find_package(Softimage) |
49 |
+ macro_log_feature(Softimage_FOUND "Softimage" "Softimage SDK needed for building XSIExporter" FALSE "6.0" "") |
50 |
+ |
51 |
++# Find TinyXML |
52 |
++find_package(TinyXML) |
53 |
++macro_log_feature(TINYXML_FOUND "TinyXML" "TinyXML needed for building OgreXMLConverter" FALSE "" "") |
54 |
++ |
55 |
+ ####################################################################### |
56 |
+ # Tests |
57 |
+ ####################################################################### |
58 |
+--- /dev/null 2018-09-03 08:18:52.571907158 +0200 |
59 |
++++ b/CMake/Packages/FindTinyXML.cmake 2018-09-04 19:15:06.392129319 +0200 |
60 |
+@@ -0,0 +1,26 @@ |
61 |
++# - Find TinyXML |
62 |
++# Find the native TinyXML includes and library |
63 |
++# |
64 |
++# TINYXML_FOUND - True if TinyXML found. |
65 |
++# TINYXML_INCLUDE_DIR - where to find tinyxml.h, etc. |
66 |
++# TINYXML_LIBRARIES - List of libraries when using TinyXML. |
67 |
++# |
68 |
++ |
69 |
++IF( TINYXML_INCLUDE_DIR ) |
70 |
++ # Already in cache, be silent |
71 |
++ SET( TinyXML_FIND_QUIETLY TRUE ) |
72 |
++ENDIF( TINYXML_INCLUDE_DIR ) |
73 |
++ |
74 |
++FIND_PATH( TINYXML_INCLUDE_DIR "tinyxml.h" |
75 |
++ PATH_SUFFIXES "tinyxml" ) |
76 |
++ |
77 |
++FIND_LIBRARY( TINYXML_LIBRARIES |
78 |
++ NAMES "tinyxml" |
79 |
++ PATH_SUFFIXES "tinyxml" ) |
80 |
++ |
81 |
++# handle the QUIETLY and REQUIRED arguments and set TINYXML_FOUND to TRUE if |
82 |
++# all listed variables are TRUE |
83 |
++INCLUDE( "FindPackageHandleStandardArgs" ) |
84 |
++FIND_PACKAGE_HANDLE_STANDARD_ARGS( "TinyXML" DEFAULT_MSG TINYXML_INCLUDE_DIR TINYXML_LIBRARIES ) |
85 |
++ |
86 |
++MARK_AS_ADVANCED( TINYXML_INCLUDE_DIR TINYXML_LIBRARIES ) |
87 |
|
88 |
diff --git a/dev-games/ogre/metadata.xml b/dev-games/ogre/metadata.xml |
89 |
index 42d8eb1e79b..9e726e9a8d3 100644 |
90 |
--- a/dev-games/ogre/metadata.xml |
91 |
+++ b/dev-games/ogre/metadata.xml |
92 |
@@ -77,18 +77,34 @@ Exporters |
93 |
* Maya (meshes) |
94 |
</longdescription> |
95 |
<use> |
96 |
- <flag name="boost">enable boost support</flag> |
97 |
+ <flag name="boost">Enable boost support</flag> |
98 |
+ <flag name="cache">Enable GL state cache support</flag> |
99 |
<flag name="cg">NVIDIA toolkit plugin</flag> |
100 |
- <flag name="double-precision">more precise calculations at the expense of speed</flag> |
101 |
- <flag name="freeimage">support images via freeimage</flag> |
102 |
+ <flag name="double-precision">More precise calculations at the expense of speed</flag> |
103 |
+ <flag name="egl">Use egl instead of glx</flag> |
104 |
+ <flag name="experimental">Build experimental BETA components 'Bites' and 'HLMS'</flag> |
105 |
+ <flag name="freeimage">Support images via media-libs/freeimage</flag> |
106 |
<flag name="gl3plus">Build OpenGL 3+ RenderSystem (EXPERIMENTAL)</flag> |
107 |
- <flag name="gles2">build OpenGL ES 2.x RenderSystem</flag> |
108 |
+ <flag name="gles2" restrict=">dev-games/ogre-1.10"> |
109 |
+ Build OpenGL ES 2.x RenderSystem plus ES 3.x features if available. |
110 |
+ </flag> |
111 |
+ <flag name="gles2">Build OpenGL ES 2.x RenderSystem</flag> |
112 |
<flag name="gles3">Enable OpenGL ES 3.x Features</flag> |
113 |
- <flag name="ois">pull in Object-oriented Input System library for samples</flag> |
114 |
- <flag name="poco">when USE=threads, use poco for threading</flag> |
115 |
- <flag name="tbb">when USE=threads, use tbb for threading</flag> |
116 |
- <flag name="tools">build+install helper tools</flag> |
117 |
- <flag name="zip">support zip archives</flag> |
118 |
+ <flag name="ois">Pull in Object-oriented Input System library dev-games/ois for samples</flag> |
119 |
+ <flag name="poco">When USE=threads, use poco for threading</flag> |
120 |
+ <flag name="resman-pedantic"> |
121 |
+ Resource Manager PEDANTIC : require an explicit resource group. Case |
122 |
+ sensitive lookup. Some demos might not work with this setting. |
123 |
+ (default: case-insensitive + sensitive lookup in all groups) |
124 |
+ </flag> |
125 |
+ <flag name="resman-strict"> |
126 |
+ Resource Manager STRICT : search in default group if not specified otherwise. |
127 |
+ Case sensitive lookup. Some demos might not work with this setting. |
128 |
+ (default: case-insensitive + sensitive lookup in all groups) |
129 |
+ </flag> |
130 |
+ <flag name="tbb">When USE=threads, use tbb for threading</flag> |
131 |
+ <flag name="tools">Build and install helper tools</flag> |
132 |
+ <flag name="zip">Support zip archives</flag> |
133 |
</use> |
134 |
<upstream> |
135 |
<remote-id type="bitbucket">sinbad/ogre</remote-id> |
136 |
|
137 |
diff --git a/dev-games/ogre/ogre-1.10.12.ebuild b/dev-games/ogre/ogre-1.10.12.ebuild |
138 |
new file mode 100644 |
139 |
index 00000000000..34a0952245b |
140 |
--- /dev/null |
141 |
+++ b/dev-games/ogre/ogre-1.10.12.ebuild |
142 |
@@ -0,0 +1,124 @@ |
143 |
+# Copyright 1999-2018 Gentoo Foundation |
144 |
+# Distributed under the terms of the GNU General Public License v2 |
145 |
+ |
146 |
+EAPI=6 |
147 |
+ |
148 |
+CMAKE_REMOVE_MODULES="yes" |
149 |
+CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB" |
150 |
+inherit cmake-utils |
151 |
+ |
152 |
+DESCRIPTION="Object-oriented Graphics Rendering Engine" |
153 |
+HOMEPAGE="https://www.ogre3d.org/" |
154 |
+SRC_URI="https://github.com/OGRECave/${PN}/archive/v${PV}.zip -> ${P}.zip" |
155 |
+ |
156 |
+LICENSE="MIT public-domain" |
157 |
+SLOT="0/1.10.0" |
158 |
+KEYWORDS="~amd64 ~arm ~x86" |
159 |
+ |
160 |
+IUSE="+cache cg doc double-precision egl examples experimental +freeimage gles2 |
161 |
+ +opengl profile resman-pedantic resman-strict tools" |
162 |
+ |
163 |
+REQUIRED_USE=" |
164 |
+ || ( gles2 opengl ) |
165 |
+ ?? ( resman-pedantic resman-strict ) |
166 |
+ examples? ( experimental ) |
167 |
+" |
168 |
+RESTRICT="test" #139905 |
169 |
+ |
170 |
+RDEPEND=" |
171 |
+ dev-games/ois |
172 |
+ dev-libs/boost:= |
173 |
+ dev-libs/zziplib |
174 |
+ media-libs/freetype:2 |
175 |
+ x11-libs/libX11 |
176 |
+ x11-libs/libXaw |
177 |
+ x11-libs/libXrandr |
178 |
+ x11-libs/libXt |
179 |
+ cg? ( media-gfx/nvidia-cg-toolkit ) |
180 |
+ egl? ( media-libs/mesa[egl] ) |
181 |
+ freeimage? ( media-libs/freeimage ) |
182 |
+ gles2? ( media-libs/mesa[gles2] ) |
183 |
+ opengl? ( |
184 |
+ virtual/glu |
185 |
+ virtual/opengl |
186 |
+ ) |
187 |
+ tools? ( dev-libs/tinyxml[stl] ) |
188 |
+" |
189 |
+DEPEND="${RDEPEND} |
190 |
+ virtual/pkgconfig |
191 |
+ x11-base/xorg-proto |
192 |
+ doc? ( app-doc/doxygen )" |
193 |
+ |
194 |
+PATCHES=( |
195 |
+ "${FILESDIR}/${PN}-1.10.11-samples.patch" |
196 |
+ "${FILESDIR}/${PN}-1.10.11-resource_path.patch" |
197 |
+ "${FILESDIR}/${PN}-1.10.11-media_path.patch" |
198 |
+ "${FILESDIR}/${P}-use_system_tinyxml.patch" |
199 |
+) |
200 |
+ |
201 |
+src_prepare() { |
202 |
+ sed -i \ |
203 |
+ -e "s:share/OGRE/docs:share/doc/${PF}:" \ |
204 |
+ Docs/CMakeLists.txt || die |
205 |
+ # Stupid build system hardcodes release names |
206 |
+ sed -i \ |
207 |
+ -e '/CONFIGURATIONS/s:CONFIGURATIONS Release.*::' \ |
208 |
+ CMake/Utils/OgreConfigTargets.cmake || die |
209 |
+ |
210 |
+ # Fix some path issues |
211 |
+ cmake-utils_src_prepare |
212 |
+} |
213 |
+ |
214 |
+src_configure() { |
215 |
+ local mycmakeargs=( |
216 |
+ -DOGRE_BUILD_COMPONENT_BITES=$(usex experimental) |
217 |
+ -DOGRE_BUILD_COMPONENT_HLMS=$(usex experimental) |
218 |
+ -DOGRE_BUILD_COMPONENT_JAVA=no |
219 |
+ -DOGRE_BUILD_COMPONENT_PYTHON=no |
220 |
+ -DOGRE_BUILD_DEPENDENCIES=no |
221 |
+ -DOGRE_BUILD_PLUGIN_CG=$(usex cg) |
222 |
+ -DOGRE_BUILD_RENDERSYSTEM_GL=$(usex opengl) |
223 |
+ -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex opengl) |
224 |
+ -DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2) |
225 |
+ -DOGRE_BUILD_SAMPLES=$(usex examples) |
226 |
+ -DOGRE_BUILD_TESTS=no |
227 |
+ -DOGRE_BUILD_TOOLS=$(usex tools) |
228 |
+ -DOGRE_CONFIG_DOUBLE=$(usex double-precision) |
229 |
+ -DOGRE_CONFIG_ENABLE_FREEIMAGE=$(usex freeimage) |
230 |
+ -DOGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT=$(usex cache) |
231 |
+ -DOGRE_CONFIG_THREADS=3 |
232 |
+ -DOGRE_CONFIG_THREAD_PROVIDER=std |
233 |
+ -DOGRE_FULL_RPATH=no |
234 |
+ -DOGRE_GLSUPPORT_USE_EGL=$(usex egl) |
235 |
+ -DOGRE_INSTALL_DOCS=$(usex doc) |
236 |
+ -DOGRE_INSTALL_SAMPLES=$(usex examples) |
237 |
+ -DOGRE_INSTALL_SAMPLES_SOURCE=$(usex examples) |
238 |
+ -DOGRE_NODE_STORAGE_LEGACY=no |
239 |
+ -DOGRE_PROFILING=$(usex profile) |
240 |
+ -DOGRE_RESOURCEMANAGER_STRICT=$(\ |
241 |
+ usex resman-pedantic 1 $(\ |
242 |
+ usex resman-strict 2 0)) |
243 |
+ -DOGRE_USE_STD11=yes |
244 |
+ ) |
245 |
+ |
246 |
+ cmake-utils_src_configure |
247 |
+} |
248 |
+ |
249 |
+src_install() { |
250 |
+ cmake-utils_src_install |
251 |
+ |
252 |
+ CONFIGDIR=/etc/OGRE |
253 |
+ SHAREDIR=/usr/share/OGRE |
254 |
+ |
255 |
+ # plugins and resources are the main configuration |
256 |
+ insinto "${CONFIGDIR}" |
257 |
+ doins "${CMAKE_BUILD_DIR}"/bin/plugins.cfg |
258 |
+ doins "${CMAKE_BUILD_DIR}"/bin/resources.cfg |
259 |
+ dosym "${CONFIGDIR}"/plugins.cfg "${SHAREDIR}"/plugins.cfg |
260 |
+ dosym "${CONFIGDIR}"/resources.cfg "${SHAREDIR}"/resources.cfg |
261 |
+ |
262 |
+ # These are only for the sample browser |
263 |
+ insinto "${SHAREDIR}" |
264 |
+ doins "${CMAKE_BUILD_DIR}"/bin/quakemap.cfg |
265 |
+ doins "${CMAKE_BUILD_DIR}"/bin/samples.cfg |
266 |
+} |