public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-games/ogre/, dev-games/ogre/files/
@ 2018-09-07 11:42 Andreas Sturmlechner
  0 siblings, 0 replies; 6+ messages in thread
From: Andreas Sturmlechner @ 2018-09-07 11:42 UTC (permalink / raw
  To: gentoo-commits

commit:     758ad2b0cd811e2340786b0eb12346872ee2cc4c
Author:     Sven Eden <yamakuzure <AT> gmx <DOT> net>
AuthorDate: Mon Aug  6 06:11:24 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Sep  7 11:22:49 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=758ad2b0

dev-games/ogre: 1.10.12 version bump

The latest stable release of the Ogre-1.10.x series comes with a largely
overhauled ebuild regarding its USE flags and the Ogre configuration.

 * Either USE flag gles2, opengl or both must be selected now.
 * Removed gles3 and gl3pus USE flugs, as they are implied now.
 * USE flag "egl" added to select egl over glx.
 * Users can now select whether Ogre shall include support for a GL
   state cache or not.
 * The behavior of the Ogre resource manager can now be selected.
 * Added a patch to unbundle TinyXML again. Upstream removed that possibility.

Bug: https://bugs.gentoo.org/647266
Package-Manager: Portage-2.3.48, Repoman-2.3.10

 dev-games/ogre/Manifest                            |   1 +
 .../files/ogre-1.10.12-use_system_tinyxml.patch    |  42 +++++++
 dev-games/ogre/metadata.xml                        |  34 ++++--
 dev-games/ogre/ogre-1.10.12.ebuild                 | 124 +++++++++++++++++++++
 4 files changed, 192 insertions(+), 9 deletions(-)

diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest
index 1ecfcfeea79..fa7ffd7cf96 100644
--- a/dev-games/ogre/Manifest
+++ b/dev-games/ogre/Manifest
@@ -1,2 +1,3 @@
 DIST ogre-1.10.11.zip 133064317 BLAKE2B 88c64061377d8257853378219fb5906919d251f5b3c500f70bc1c04bc36e3083dc3dac4babb14d983c8b6fbb63ea3eecf698e3a0134f963db058055edd5dc4c4 SHA512 db207aec8330ec9da2a9781c8753411e69e08008995b8b3e127d454dc05aa899c75157718398ca24998644c586e2dd30cc7e9b7d98e045e4575537f5c81a5a54
+DIST ogre-1.10.12.zip 133067192 BLAKE2B 188437153969504b169970d14c39d47c9e666308bf65412018f42ba8ad108876f164733fe2004ea31941ab5db534766c10b871b34ef525522d1120b175530b87 SHA512 63998ea4940d04adfc179a94aa91bb2598692307b429f4c7e5b86a1519c13817035de4c71afc9e4b33fde35e962504373d152de9b9cc8eebbbeb78b2c1942041
 DIST ogre-1.9.0.tar.bz2 128098305 BLAKE2B 6e67a5b60a6606a910e099f1c7ba736eb525f079f3aba5cfb362329b9130059d303fc9df6f7b8611c0ba75e1e207fa018e543e93c9f5ce39a6621e4c72ed4a83 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde

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
new file mode 100644
index 00000000000..ef15931940d
--- /dev/null
+++ b/dev-games/ogre/files/ogre-1.10.12-use_system_tinyxml.patch
@@ -0,0 +1,42 @@
+--- a/CMake/Dependencies.cmake	2018-09-04 07:50:49.091120793 +0200
++++ b/CMake/Dependencies.cmake	2018-09-04 07:51:55.429118519 +0200
+@@ -383,6 +383,10 @@
+ find_package(Softimage)
+ macro_log_feature(Softimage_FOUND "Softimage" "Softimage SDK needed for building XSIExporter" FALSE "6.0" "")
+ 
++# Find TinyXML
++find_package(TinyXML)
++macro_log_feature(TINYXML_FOUND "TinyXML" "TinyXML needed for building OgreXMLConverter" FALSE "" "")
++
+ #######################################################################
+ # Tests
+ #######################################################################
+--- /dev/null	2018-09-03 08:18:52.571907158 +0200
++++ b/CMake/Packages/FindTinyXML.cmake	2018-09-04 19:15:06.392129319 +0200
+@@ -0,0 +1,26 @@
++# - Find TinyXML
++# Find the native TinyXML includes and library
++#
++#   TINYXML_FOUND       - True if TinyXML found.
++#   TINYXML_INCLUDE_DIR - where to find tinyxml.h, etc.
++#   TINYXML_LIBRARIES   - List of libraries when using TinyXML.
++#
++
++IF( TINYXML_INCLUDE_DIR )
++    # Already in cache, be silent
++    SET( TinyXML_FIND_QUIETLY TRUE )
++ENDIF( TINYXML_INCLUDE_DIR )
++
++FIND_PATH( TINYXML_INCLUDE_DIR "tinyxml.h"
++           PATH_SUFFIXES "tinyxml" )
++
++FIND_LIBRARY( TINYXML_LIBRARIES
++              NAMES "tinyxml"
++              PATH_SUFFIXES "tinyxml" )
++
++# handle the QUIETLY and REQUIRED arguments and set TINYXML_FOUND to TRUE if
++# all listed variables are TRUE
++INCLUDE( "FindPackageHandleStandardArgs" )
++FIND_PACKAGE_HANDLE_STANDARD_ARGS( "TinyXML" DEFAULT_MSG TINYXML_INCLUDE_DIR TINYXML_LIBRARIES )
++
++MARK_AS_ADVANCED( TINYXML_INCLUDE_DIR TINYXML_LIBRARIES )

diff --git a/dev-games/ogre/metadata.xml b/dev-games/ogre/metadata.xml
index 42d8eb1e79b..9e726e9a8d3 100644
--- a/dev-games/ogre/metadata.xml
+++ b/dev-games/ogre/metadata.xml
@@ -77,18 +77,34 @@ Exporters
     * Maya (meshes)
   </longdescription>
   <use>
-    <flag name="boost">enable boost support</flag>
+    <flag name="boost">Enable boost support</flag>
+    <flag name="cache">Enable GL state cache support</flag>
     <flag name="cg">NVIDIA toolkit plugin</flag>
-    <flag name="double-precision">more precise calculations at the expense of speed</flag>
-    <flag name="freeimage">support images via freeimage</flag>
+    <flag name="double-precision">More precise calculations at the expense of speed</flag>
+    <flag name="egl">Use egl instead of glx</flag>
+    <flag name="experimental">Build experimental BETA components 'Bites' and 'HLMS'</flag>
+    <flag name="freeimage">Support images via media-libs/freeimage</flag>
     <flag name="gl3plus">Build OpenGL 3+ RenderSystem (EXPERIMENTAL)</flag>
-    <flag name="gles2">build OpenGL ES 2.x RenderSystem</flag>
+    <flag name="gles2" restrict="&gt;dev-games/ogre-1.10">
+        Build OpenGL ES 2.x RenderSystem plus ES 3.x features if available.
+    </flag>
+    <flag name="gles2">Build OpenGL ES 2.x RenderSystem</flag>
     <flag name="gles3">Enable OpenGL ES 3.x Features</flag>
-    <flag name="ois">pull in Object-oriented Input System library for samples</flag>
-    <flag name="poco">when USE=threads, use poco for threading</flag>
-    <flag name="tbb">when USE=threads, use tbb for threading</flag>
-    <flag name="tools">build+install helper tools</flag>
-    <flag name="zip">support zip archives</flag>
+    <flag name="ois">Pull in Object-oriented Input System library dev-games/ois for samples</flag>
+    <flag name="poco">When USE=threads, use poco for threading</flag>
+    <flag name="resman-pedantic">
+        Resource Manager PEDANTIC : require an explicit resource group. Case
+        sensitive lookup. Some demos might not work with this setting.
+        (default: case-insensitive + sensitive lookup in all groups)
+    </flag>
+    <flag name="resman-strict">
+        Resource Manager STRICT : search in default group if not specified otherwise.
+        Case sensitive lookup. Some demos might not work with this setting.
+        (default: case-insensitive + sensitive lookup in all groups)
+    </flag>
+    <flag name="tbb">When USE=threads, use tbb for threading</flag>
+    <flag name="tools">Build and install helper tools</flag>
+    <flag name="zip">Support zip archives</flag>
   </use>
   <upstream>
     <remote-id type="bitbucket">sinbad/ogre</remote-id>

diff --git a/dev-games/ogre/ogre-1.10.12.ebuild b/dev-games/ogre/ogre-1.10.12.ebuild
new file mode 100644
index 00000000000..34a0952245b
--- /dev/null
+++ b/dev-games/ogre/ogre-1.10.12.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CMAKE_REMOVE_MODULES="yes"
+CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB"
+inherit cmake-utils
+
+DESCRIPTION="Object-oriented Graphics Rendering Engine"
+HOMEPAGE="https://www.ogre3d.org/"
+SRC_URI="https://github.com/OGRECave/${PN}/archive/v${PV}.zip -> ${P}.zip"
+
+LICENSE="MIT public-domain"
+SLOT="0/1.10.0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+IUSE="+cache cg doc double-precision egl examples experimental +freeimage gles2
+	+opengl profile resman-pedantic resman-strict tools"
+
+REQUIRED_USE="
+	|| ( gles2 opengl )
+	?? ( resman-pedantic resman-strict )
+	examples? ( experimental )
+"
+RESTRICT="test" #139905
+
+RDEPEND="
+	dev-games/ois
+	dev-libs/boost:=
+	dev-libs/zziplib
+	media-libs/freetype:2
+	x11-libs/libX11
+	x11-libs/libXaw
+	x11-libs/libXrandr
+	x11-libs/libXt
+	cg? ( media-gfx/nvidia-cg-toolkit )
+	egl? ( media-libs/mesa[egl] )
+	freeimage? ( media-libs/freeimage )
+	gles2? ( media-libs/mesa[gles2] )
+	opengl? (
+		virtual/glu
+		virtual/opengl
+	)
+	tools? ( dev-libs/tinyxml[stl] )
+"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	x11-base/xorg-proto
+	doc? ( app-doc/doxygen )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-1.10.11-samples.patch"
+	"${FILESDIR}/${PN}-1.10.11-resource_path.patch"
+	"${FILESDIR}/${PN}-1.10.11-media_path.patch"
+	"${FILESDIR}/${P}-use_system_tinyxml.patch"
+)
+
+src_prepare() {
+	sed -i \
+		-e "s:share/OGRE/docs:share/doc/${PF}:" \
+		Docs/CMakeLists.txt || die
+	# Stupid build system hardcodes release names
+	sed -i \
+		-e '/CONFIGURATIONS/s:CONFIGURATIONS Release.*::' \
+		CMake/Utils/OgreConfigTargets.cmake || die
+
+	# Fix some path issues
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DOGRE_BUILD_COMPONENT_BITES=$(usex experimental)
+		-DOGRE_BUILD_COMPONENT_HLMS=$(usex experimental)
+		-DOGRE_BUILD_COMPONENT_JAVA=no
+		-DOGRE_BUILD_COMPONENT_PYTHON=no
+		-DOGRE_BUILD_DEPENDENCIES=no
+		-DOGRE_BUILD_PLUGIN_CG=$(usex cg)
+		-DOGRE_BUILD_RENDERSYSTEM_GL=$(usex opengl)
+		-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex opengl)
+		-DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2)
+		-DOGRE_BUILD_SAMPLES=$(usex examples)
+		-DOGRE_BUILD_TESTS=no
+		-DOGRE_BUILD_TOOLS=$(usex tools)
+		-DOGRE_CONFIG_DOUBLE=$(usex double-precision)
+		-DOGRE_CONFIG_ENABLE_FREEIMAGE=$(usex freeimage)
+		-DOGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT=$(usex cache)
+		-DOGRE_CONFIG_THREADS=3
+		-DOGRE_CONFIG_THREAD_PROVIDER=std
+		-DOGRE_FULL_RPATH=no
+		-DOGRE_GLSUPPORT_USE_EGL=$(usex egl)
+		-DOGRE_INSTALL_DOCS=$(usex doc)
+		-DOGRE_INSTALL_SAMPLES=$(usex examples)
+		-DOGRE_INSTALL_SAMPLES_SOURCE=$(usex examples)
+		-DOGRE_NODE_STORAGE_LEGACY=no
+		-DOGRE_PROFILING=$(usex profile)
+		-DOGRE_RESOURCEMANAGER_STRICT=$(\
+			usex resman-pedantic 1 $(\
+			usex resman-strict 2 0))
+		-DOGRE_USE_STD11=yes
+	)
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	CONFIGDIR=/etc/OGRE
+	SHAREDIR=/usr/share/OGRE
+
+	# plugins and resources are the main configuration
+	insinto "${CONFIGDIR}"
+	doins "${CMAKE_BUILD_DIR}"/bin/plugins.cfg
+	doins "${CMAKE_BUILD_DIR}"/bin/resources.cfg
+	dosym "${CONFIGDIR}"/plugins.cfg "${SHAREDIR}"/plugins.cfg
+	dosym "${CONFIGDIR}"/resources.cfg "${SHAREDIR}"/resources.cfg
+
+	# These are only for the sample browser
+	insinto "${SHAREDIR}"
+	doins "${CMAKE_BUILD_DIR}"/bin/quakemap.cfg
+	doins "${CMAKE_BUILD_DIR}"/bin/samples.cfg
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-games/ogre/, dev-games/ogre/files/
@ 2018-10-07 18:25 Andreas Sturmlechner
  0 siblings, 0 replies; 6+ messages in thread
From: Andreas Sturmlechner @ 2018-10-07 18:25 UTC (permalink / raw
  To: gentoo-commits

commit:     6951cd9bba219de923a83bcd5c7ca4c18346c89f
Author:     Sven Eden <yamakuzure <AT> gmx <DOT> net>
AuthorDate: Fri Sep  7 06:27:06 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  7 18:22:28 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6951cd9b

dev-games/ogre: 1.11.2 version bump

This is the second stable release of the current 1.11 series.
Apart from stabilizing Ogre BITES, this series also adds json material support.

Bug: https://bugs.gentoo.org/647266
Signed-off-by: Sven Eden <sven.eden <AT> prydeworx.com>
Package-Manager: Portage-2.3.48, Repoman-2.3.10
Closes: https://github.com/gentoo/gentoo/pull/9474
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-games/ogre/Manifest                            |   1 +
 .../ogre-1.11.2-fix_sample_source_install.patch    |  18 +++
 dev-games/ogre/files/ogre-1.11.2-media_path.patch  |  18 +++
 .../ogre/files/ogre-1.11.2-resource_path.patch     |  14 ++
 dev-games/ogre/metadata.xml                        |   6 +-
 dev-games/ogre/ogre-1.11.2.ebuild                  | 143 +++++++++++++++++++++
 6 files changed, 199 insertions(+), 1 deletion(-)

diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest
index 93a14df137a..8b173e90d4f 100644
--- a/dev-games/ogre/Manifest
+++ b/dev-games/ogre/Manifest
@@ -1,2 +1,3 @@
 DIST ogre-1.10.12.zip 133067192 BLAKE2B 188437153969504b169970d14c39d47c9e666308bf65412018f42ba8ad108876f164733fe2004ea31941ab5db534766c10b871b34ef525522d1120b175530b87 SHA512 63998ea4940d04adfc179a94aa91bb2598692307b429f4c7e5b86a1519c13817035de4c71afc9e4b33fde35e962504373d152de9b9cc8eebbbeb78b2c1942041
+DIST ogre-1.11.2.zip 127409383 BLAKE2B 7493892f434847ea4afda580868b2a8572d65c9ea9de3709aacd789229531803450dbd78994ff0fae29a9435912a80029edba51db035c7a175c860ce07912968 SHA512 dc6a7e14ee515d5a5c218aa3f31cefc8ad95a175604fb5fb252185220c6fd537f7094d3a1086d5eb5e9515f8c528c7f6e2ccc95594ef9882204c666b87fae4e2
 DIST ogre-1.9.0.tar.bz2 128098305 BLAKE2B 6e67a5b60a6606a910e099f1c7ba736eb525f079f3aba5cfb362329b9130059d303fc9df6f7b8611c0ba75e1e207fa018e543e93c9f5ce39a6621e4c72ed4a83 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde

diff --git a/dev-games/ogre/files/ogre-1.11.2-fix_sample_source_install.patch b/dev-games/ogre/files/ogre-1.11.2-fix_sample_source_install.patch
new file mode 100644
index 00000000000..6e4a476fbb4
--- /dev/null
+++ b/dev-games/ogre/files/ogre-1.11.2-fix_sample_source_install.patch
@@ -0,0 +1,18 @@
+--- a/Samples/CMakeLists.txt	2018-04-25 07:30:38.211048775 +0200
++++ b/Samples/CMakeLists.txt	2018-04-25 07:32:32.842049802 +0200
+@@ -97,10 +97,11 @@
+ 	PATTERN "scripts" EXCLUDE
+   )
+   # install a new CMakeLists.txt file to allow building of samples
+-  configure_file(${OGRE_TEMPLATES_DIR}/SDK_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/../CMakeLists.txt @ONLY)
+-  configure_file(${OGRE_TEMPLATES_DIR}/SDK_Samples_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.txt @ONLY)
+-  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR}/../)
+-  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR})
++# The SDK_CMakeLists.txt.in file does not exist at the moment (sed - 2018-04-25)
++#  configure_file(${OGRE_TEMPLATES_DIR}/SDK_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/../CMakeLists.txt @ONLY)
++#  configure_file(${OGRE_TEMPLATES_DIR}/SDK_Samples_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.txt @ONLY)
++#  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR}/../)
++#  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR})
+ endif ()
+ 
+ # Install sample headers, some people rely on these

diff --git a/dev-games/ogre/files/ogre-1.11.2-media_path.patch b/dev-games/ogre/files/ogre-1.11.2-media_path.patch
new file mode 100644
index 00000000000..aea15218c17
--- /dev/null
+++ b/dev-games/ogre/files/ogre-1.11.2-media_path.patch
@@ -0,0 +1,18 @@
+--- a/CMake/InstallResources.cmake	2018-04-03 19:39:31.586129013 +0200
++++ b/CMake/InstallResources.cmake	2018-04-03 19:40:28.169128923 +0200
+@@ -170,10 +170,11 @@
+ 
+ # CREATE CONFIG FILES - BUILD DIR VERSIONS
+ if (NOT (APPLE_IOS OR WINDOWS_STORE OR WINDOWS_PHONE))
+-  set(OGRE_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Samples/Media")
+-  set(OGRE_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Samples/Media")
+-  set(OGRE_TEST_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Tests/Media")
+-  set(OGRE_TEST_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Tests/Media")
++  # No, they are fine already
++  # set(OGRE_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Samples/Media")
++  # set(OGRE_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Samples/Media")
++  # set(OGRE_TEST_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Tests/Media")
++  # set(OGRE_TEST_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Tests/Media")
+ else ()
+   # iOS needs to use relative paths in the config files
+   set(OGRE_MEDIA_DIR_REL "${OGRE_MEDIA_PATH}")

diff --git a/dev-games/ogre/files/ogre-1.11.2-resource_path.patch b/dev-games/ogre/files/ogre-1.11.2-resource_path.patch
new file mode 100644
index 00000000000..8557d783ec4
--- /dev/null
+++ b/dev-games/ogre/files/ogre-1.11.2-resource_path.patch
@@ -0,0 +1,14 @@
+--- a/CMake/InstallResources.cmake	2018-03-23 10:48:44.371486540 +0100
++++ b/CMake/InstallResources.cmake	2018-03-23 10:49:08.333486363 +0100
+@@ -184,8 +184,9 @@
+   set(OGRE_PLUGIN_DIR_REL "")
+   set(OGRE_SAMPLES_DIR_REL "")
+ elseif (UNIX)
+-  set(OGRE_PLUGIN_DIR_REL "${OGRE_BINARY_DIR}/lib")
+-  set(OGRE_SAMPLES_DIR_REL "${OGRE_BINARY_DIR}/lib")
++# No, this was already configured above, the BINARY paths are wrong!
++#  set(OGRE_PLUGIN_DIR_REL "${OGRE_BINARY_DIR}/lib")
++#  set(OGRE_SAMPLES_DIR_REL "${OGRE_BINARY_DIR}/lib")
+ endif ()
+ 
+ if (WINDOWS_STORE OR WINDOWS_PHONE OR EMSCRIPTEN)

diff --git a/dev-games/ogre/metadata.xml b/dev-games/ogre/metadata.xml
index 9e726e9a8d3..f6f82039884 100644
--- a/dev-games/ogre/metadata.xml
+++ b/dev-games/ogre/metadata.xml
@@ -82,7 +82,10 @@ Exporters
     <flag name="cg">NVIDIA toolkit plugin</flag>
     <flag name="double-precision">More precise calculations at the expense of speed</flag>
     <flag name="egl">Use egl instead of glx</flag>
-    <flag name="experimental">Build experimental BETA components 'Bites' and 'HLMS'</flag>
+    <flag name="experimental" restrict="&lt;dev-games/ogre-1.11">
+        Build experimental BETA components 'Bites' and 'HLMS'
+    </flag>
+    <flag name="experimental">Build experimental BETA component 'HLMS'</flag>
     <flag name="freeimage">Support images via media-libs/freeimage</flag>
     <flag name="gl3plus">Build OpenGL 3+ RenderSystem (EXPERIMENTAL)</flag>
     <flag name="gles2" restrict="&gt;dev-games/ogre-1.10">
@@ -90,6 +93,7 @@ Exporters
     </flag>
     <flag name="gles2">Build OpenGL ES 2.x RenderSystem</flag>
     <flag name="gles3">Enable OpenGL ES 3.x Features</flag>
+    <flag name="json">Use dev-libs/rapidjson (needed by Hlms JSON materials)</flag>
     <flag name="ois">Pull in Object-oriented Input System library dev-games/ois for samples</flag>
     <flag name="poco">When USE=threads, use poco for threading</flag>
     <flag name="resman-pedantic">

diff --git a/dev-games/ogre/ogre-1.11.2.ebuild b/dev-games/ogre/ogre-1.11.2.ebuild
new file mode 100644
index 00000000000..e3f452d99e9
--- /dev/null
+++ b/dev-games/ogre/ogre-1.11.2.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CMAKE_REMOVE_MODULES="yes"
+CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB"
+inherit cmake-utils
+
+DESCRIPTION="Object-oriented Graphics Rendering Engine"
+HOMEPAGE="https://www.ogre3d.org/"
+SRC_URI="https://github.com/OGRECave/${PN}/archive/v${PV}.zip -> ${P}.zip"
+
+LICENSE="MIT public-domain"
+SLOT="0/1.11"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="+cache cg debug doc double-precision egl examples experimental +freeimage
+	gles2 json openexr +opengl pch profile resman-pedantic resman-strict tools"
+
+REQUIRED_USE="
+	|| ( gles2 opengl )
+	?? ( resman-pedantic resman-strict )
+"
+
+RESTRICT="test" #139905
+
+RDEPEND="
+	dev-games/ois
+	dev-libs/zziplib
+	media-libs/freetype:2
+	x11-libs/libX11
+	x11-libs/libXaw
+	x11-libs/libXrandr
+	x11-libs/libXt
+	cg? ( media-gfx/nvidia-cg-toolkit )
+	egl? ( media-libs/mesa[egl] )
+	freeimage? ( media-libs/freeimage )
+	gles2? ( media-libs/mesa[gles2] )
+	json? ( dev-libs/rapidjson )
+	openexr? ( media-libs/openexr:= )
+	opengl? (
+		virtual/glu
+		virtual/opengl
+	)
+	tools? ( dev-libs/tinyxml[stl] )
+"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	x11-base/xorg-proto
+	doc? ( app-doc/doxygen )"
+
+PATCHES=(
+	"${FILESDIR}/${P}-media_path.patch"
+	"${FILESDIR}/${P}-resource_path.patch"
+	"${FILESDIR}/${P}-fix_sample_source_install.patch"
+	"${FILESDIR}/${PN}-1.10.12-use_system_tinyxml.patch"
+)
+
+src_prepare() {
+	sed -i \
+		-e "s:share/OGRE/docs:share/doc/${PF}:" \
+		Docs/CMakeLists.txt || die
+	# In this series, the CMAKE_BUILD_TARGET is hard-wired to the
+	# installation. And only Debug, MinSizeRel and RelWithDebInfo
+	# are supported.
+	if use debug; then
+		sed -i \
+			-e 's/Debug/Gentoo/g' \
+			CMake/Utils/OgreConfigTargets.cmake \
+			|| die
+	else
+		sed -i \
+			-e 's/MinSizeRel/Gentoo/g' \
+			CMake/Utils/OgreConfigTargets.cmake \
+			|| die
+	fi
+	# Fix some path issues
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DCMAKE_SKIP_INSTALL_RPATH=yes
+		-DOGRE_BUILD_COMPONENT_BITES=yes
+		-DOGRE_BUILD_COMPONENT_HLMS=$(usex experimental)
+		-DOGRE_BUILD_COMPONENT_JAVA=no
+		-DOGRE_BUILD_COMPONENT_PAGING=yes
+		-DOGRE_BUILD_COMPONENT_PROPERTY=yes
+		-DOGRE_BUILD_COMPONENT_PYTHON=no
+		-DOGRE_BUILD_COMPONENT_RTSHADERSYSTEM=yes
+		-DOGRE_BUILD_COMPONENT_TERRAIN=yes
+		-DOGRE_BUILD_COMPONENT_VOLUME=yes
+		-DOGRE_BUILD_DEPENDENCIES=no
+		-DOGRE_BUILD_PLUGIN_CG=$(usex cg)
+		-DOGRE_BUILD_PLUGIN_FREEIMAGE=$(usex freeimage)
+		-DOGRE_BUILD_PLUGIN_EXRCODEC=$(usex openexr)
+		-DOGRE_BUILD_RENDERSYSTEM_GL=$(usex opengl)
+		-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex opengl)
+		-DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2)
+		-DOGRE_BUILD_SAMPLES=$(usex examples)
+		-DOGRE_BUILD_TESTS=no
+		-DOGRE_BUILD_TOOLS=$(usex tools)
+		-DOGRE_CONFIG_DOUBLE=$(usex double-precision)
+		-DOGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT=$(usex cache)
+		-DOGRE_CONFIG_ENABLE_GLES2_CG_SUPPORT=$(usex gles2 $(usex cg) no)
+		-DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=$(usex gles2)
+		-DOGRE_CONFIG_THREADS=3
+		-DOGRE_CONFIG_THREAD_PROVIDER=std
+		-DOGRE_ENABLE_PRECOMPILED_HEADERS=$(usex pch)
+		-DOGRE_GLSUPPORT_USE_EGL=$(usex egl)
+		-DOGRE_INSTALL_DOCS=$(usex doc)
+		-DOGRE_INSTALL_SAMPLES=$(usex examples)
+		-DOGRE_INSTALL_SAMPLES_SOURCE=$(usex examples)
+		-DOGRE_PROFILING=$(usex profile)
+		-DOGRE_RESOURCEMANAGER_STRICT=$(\
+			usex resman-pedantic 1 $(\
+			usex resman-strict 2 0))
+	)
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	CONFIGDIR=/etc/OGRE
+	SHAREDIR=/usr/share/OGRE
+
+	# plugins and resources are the main configuration
+	insinto "${CONFIGDIR}"
+	doins "${CMAKE_BUILD_DIR}"/bin/plugins.cfg
+	doins "${CMAKE_BUILD_DIR}"/bin/resources.cfg
+	dosym "${CONFIGDIR}"/plugins.cfg "${SHAREDIR}"/plugins.cfg
+	dosym "${CONFIGDIR}"/resources.cfg "${SHAREDIR}"/resources.cfg
+
+	# These are only for the sample browser
+	if use examples ; then
+		insinto "${SHAREDIR}"
+		doins "${CMAKE_BUILD_DIR}"/bin/quakemap.cfg
+		doins "${CMAKE_BUILD_DIR}"/bin/samples.cfg
+	fi
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-games/ogre/, dev-games/ogre/files/
@ 2018-10-07 18:25 Andreas Sturmlechner
  0 siblings, 0 replies; 6+ messages in thread
From: Andreas Sturmlechner @ 2018-10-07 18:25 UTC (permalink / raw
  To: gentoo-commits

commit:     caa70850f4a747a5a5b9f8bd6d0e541e1f2b4310
Author:     Sven Eden <yamakuzure <AT> gmx <DOT> net>
AuthorDate: Fri Sep  7 06:32:24 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  7 18:22:28 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=caa70850

dev-games/ogre: Pre 2.1 release snapshot 2018-09-01 added

As the future of Ogre changes a lot of the old API, it is important to have
access to the new system as early as possible. The current development state
is quite usable already, although not all components have been ported, yet.

Providing an ebuild for the new 2.1 series to interested users and developers,
everybody gets the chance to adapt their project to the future of Ogre.

This is done using snapshot ebuilds, because not all commits in the Ogre tree
provide buildable revisions. Further it is easier to test newly ported
components when snapshot ebuilds are used.

Bug: https://bugs.gentoo.org/647266
Closes: https://bugs.gentoo.org/647266
Signed-off-by: Sven Eden <sven.eden <AT> prydeworx.com>
Package-Manager: Portage-2.3.48, Repoman-2.3.10
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-games/ogre/Manifest                            |   1 +
 .../files/ogre-2.1-enhance_config_loading.patch    |  29 ++++
 dev-games/ogre/files/ogre-2.1-media_path.patch     |  28 ++++
 dev-games/ogre/files/ogre-2.1-resource_path.patch  |  18 +++
 dev-games/ogre/files/ogre-2.1-samples.patch        |  26 ++++
 dev-games/ogre/metadata.xml                        |   8 ++
 dev-games/ogre/ogre-2.1_pre20180901.ebuild         | 153 +++++++++++++++++++++
 7 files changed, 263 insertions(+)

diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest
index 8b173e90d4f..1b26aeec681 100644
--- a/dev-games/ogre/Manifest
+++ b/dev-games/ogre/Manifest
@@ -1,3 +1,4 @@
 DIST ogre-1.10.12.zip 133067192 BLAKE2B 188437153969504b169970d14c39d47c9e666308bf65412018f42ba8ad108876f164733fe2004ea31941ab5db534766c10b871b34ef525522d1120b175530b87 SHA512 63998ea4940d04adfc179a94aa91bb2598692307b429f4c7e5b86a1519c13817035de4c71afc9e4b33fde35e962504373d152de9b9cc8eebbbeb78b2c1942041
 DIST ogre-1.11.2.zip 127409383 BLAKE2B 7493892f434847ea4afda580868b2a8572d65c9ea9de3709aacd789229531803450dbd78994ff0fae29a9435912a80029edba51db035c7a175c860ce07912968 SHA512 dc6a7e14ee515d5a5c218aa3f31cefc8ad95a175604fb5fb252185220c6fd537f7094d3a1086d5eb5e9515f8c528c7f6e2ccc95594ef9882204c666b87fae4e2
 DIST ogre-1.9.0.tar.bz2 128098305 BLAKE2B 6e67a5b60a6606a910e099f1c7ba736eb525f079f3aba5cfb362329b9130059d303fc9df6f7b8611c0ba75e1e207fa018e543e93c9f5ce39a6621e4c72ed4a83 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde
+DIST ogre-2.1_pre20180901.tar.bz2 152746767 BLAKE2B 758d31fca2e5e31080c688ba758948fb5998a8fe49b9052f79de6791786501d02d7079e8f55ed37dc1a93f360af1003d2a28a260ba687c60c75a1340b95232a7 SHA512 c3cb5630a35e0ddf8c688a972ab5f2821d62545b4febc013235157eaf5268b3ceac1b94c403d0298131991f3d80d1c9b3800212a49647c652ba02bd176f6cc04

diff --git a/dev-games/ogre/files/ogre-2.1-enhance_config_loading.patch b/dev-games/ogre/files/ogre-2.1-enhance_config_loading.patch
new file mode 100644
index 00000000000..365aa7c69d6
--- /dev/null
+++ b/dev-games/ogre/files/ogre-2.1-enhance_config_loading.patch
@@ -0,0 +1,29 @@
+--- a/OgreMain/src/OgreConfigFile.cpp	2018-07-27 07:52:31.121337386 +0200
++++ b/OgreMain/src/OgreConfigFile.cpp	2018-07-27 07:59:51.301317661 +0200
+@@ -62,8 +62,25 @@
+     //-----------------------------------------------------------------------
+     void ConfigFile::load(const String& filename, const String& separators, bool trimWhitespace)
+     {
+-        loadDirect(filename, separators, trimWhitespace);
++        // Try automatic loading first
++        try {
++            loadDirect(filename, separators, trimWhitespace);
++        } catch (Exception &e) {
++            // Try /etc/OGRE/<file> next
++            try {
++                loadDirect("/etc/OGRE/" + filename, separators, trimWhitespace);
++                return;
++            } catch (...) { /* was just a test */ }
++            // Try /usr/share/OGRE/<file> last
++            try {
++                loadDirect("/usr/share/OGRE/" + filename, separators, trimWhitespace);
++                return;
++            } catch (...) { /* was just a test */ }
++            /* dammit... */
++            throw e;
++        }
+     }
++
+     //-----------------------------------------------------------------------
+     void ConfigFile::load(const String& filename, const String& resourceGroup, 
+         const String& separators, bool trimWhitespace)

diff --git a/dev-games/ogre/files/ogre-2.1-media_path.patch b/dev-games/ogre/files/ogre-2.1-media_path.patch
new file mode 100644
index 00000000000..5e7ad276ac0
--- /dev/null
+++ b/dev-games/ogre/files/ogre-2.1-media_path.patch
@@ -0,0 +1,28 @@
+--- a/CMake/InstallResources.cmake	2018-03-23 10:49:24.620486243 +0100
++++ b/CMake/InstallResources.cmake	2018-03-23 10:50:52.089485597 +0100
+@@ -186,15 +186,16 @@
+ 
+ # CREATE CONFIG FILES - BUILD DIR VERSIONS
+ if (NOT (OGRE_BUILD_PLATFORM_APPLE_IOS OR WINDOWS_STORE OR WINDOWS_PHONE))
+-	if( NOT APPLE )
+-		set(OGRE_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Samples/Media")
+-		set(OGRE_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Samples/Media")
+-	else()
+-		set(OGRE_MEDIA_DIR_REL "Contents/Resources")
+-		set(OGRE_MEDIA_DIR_DBG "Contents/Resources")
+-	endif()
+-	set(OGRE_TEST_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Tests/Media")
+-	set(OGRE_TEST_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Tests/Media")
++# No, they were fine already
++#	if( NOT APPLE )
++#		set(OGRE_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Samples/Media")
++#		set(OGRE_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Samples/Media")
++#	else()
++#		set(OGRE_MEDIA_DIR_REL "Contents/Resources")
++#		set(OGRE_MEDIA_DIR_DBG "Contents/Resources")
++#	endif()
++#	set(OGRE_TEST_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Tests/Media")
++#	set(OGRE_TEST_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Tests/Media")
+ else ()
+ 	# iOS needs to use relative paths in the config files
+ 	set(OGRE_TEST_MEDIA_DIR_REL "${OGRE_MEDIA_PATH}")

diff --git a/dev-games/ogre/files/ogre-2.1-resource_path.patch b/dev-games/ogre/files/ogre-2.1-resource_path.patch
new file mode 100644
index 00000000000..32cfef0d8d1
--- /dev/null
+++ b/dev-games/ogre/files/ogre-2.1-resource_path.patch
@@ -0,0 +1,18 @@
+--- a/CMake/InstallResources.cmake	2018-03-23 10:48:44.371486540 +0100
++++ b/CMake/InstallResources.cmake	2018-03-23 10:49:08.333486363 +0100
+@@ -226,10 +226,11 @@
+   set(OGRE_SAMPLES_DIR_REL "")
+   set(OGRE_SAMPLES_DIR_DBG "")
+ elseif (UNIX)
+-  set(OGRE_PLUGIN_DIR_REL "${OGRE_BINARY_DIR}/lib")
+-  set(OGRE_PLUGIN_DIR_DBG "${OGRE_BINARY_DIR}/lib")
+-  set(OGRE_SAMPLES_DIR_REL "${OGRE_BINARY_DIR}/lib")
+-  set(OGRE_SAMPLES_DIR_DBG "${OGRE_BINARY_DIR}/lib")
++# No, this was already configured above, the BINARY paths are wrong!
++#  set(OGRE_PLUGIN_DIR_REL "${OGRE_BINARY_DIR}/lib")
++#  set(OGRE_PLUGIN_DIR_DBG "${OGRE_BINARY_DIR}/lib")
++#  set(OGRE_SAMPLES_DIR_REL "${OGRE_BINARY_DIR}/lib")
++#  set(OGRE_SAMPLES_DIR_DBG "${OGRE_BINARY_DIR}/lib")
+ endif ()
+ 
+ if (WINDOWS_STORE OR WINDOWS_PHONE)

diff --git a/dev-games/ogre/files/ogre-2.1-samples.patch b/dev-games/ogre/files/ogre-2.1-samples.patch
new file mode 100644
index 00000000000..6d12fb4fed1
--- /dev/null
+++ b/dev-games/ogre/files/ogre-2.1-samples.patch
@@ -0,0 +1,26 @@
+--- a/CMakeLists.txt	2018-03-23 10:48:02.309486850 +0100
++++ b/CMakeLists.txt	2018-03-23 10:48:04.157486836 +0100
+@@ -614,7 +614,9 @@
+ endif ()
+ 
+ # Setup samples
+-add_subdirectory(Samples)
++if (OGRE_BUILD_SAMPLES2)
++    add_subdirectory(Samples)
++endif ()
+ 
+ # Add android JNI binding
+ if(ANDROID AND OGRE_BUILD_ANDROID_JNI_SAMPLE)
+--- a/CMake/InstallResources.cmake	2018-04-06 19:18:45.095348540 +0200
++++ b/CMake/InstallResources.cmake	2018-04-06 19:20:00.342345608 +0200
+@@ -62,8 +62,8 @@
+   set(OGRE_TEST_MEDIA_DIR_DBG "${CMAKE_INSTALL_PREFIX}/Tests/Media")
+   set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_LIB_DIRECTORY}/OGRE")
+   set(OGRE_PLUGIN_DIR_DBG "${CMAKE_INSTALL_PREFIX}/${OGRE_LIB_DIRECTORY}/OGRE")
+-  set(OGRE_SAMPLES_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_LIB_DIRECTORY}/OGRE/Samples")
+-  set(OGRE_SAMPLES_DIR_DBG "${CMAKE_INSTALL_PREFIX}/${OGRE_LIB_DIRECTORY}/OGRE/Samples")
++  set(OGRE_SAMPLES_DIR_REL "${CMAKE_INSTALL_PREFIX}/share/OGRE/Samples")
++  set(OGRE_SAMPLES_DIR_DBG "${CMAKE_INSTALL_PREFIX}/share/OGRE/Samples")
+   set(OGRE_CFG_INSTALL_PATH "share/OGRE")
+ endif ()
+ 

diff --git a/dev-games/ogre/metadata.xml b/dev-games/ogre/metadata.xml
index f6f82039884..5db91d3cf65 100644
--- a/dev-games/ogre/metadata.xml
+++ b/dev-games/ogre/metadata.xml
@@ -94,8 +94,16 @@ Exporters
     <flag name="gles2">Build OpenGL ES 2.x RenderSystem</flag>
     <flag name="gles3">Enable OpenGL ES 3.x Features</flag>
     <flag name="json">Use dev-libs/rapidjson (needed by Hlms JSON materials)</flag>
+    <flag name="legacy-animations">
+        Use the skeletal animation from 1.x. It's much slower, but the new system
+        is still experimental.
+    </flag>
     <flag name="ois">Pull in Object-oriented Input System library dev-games/ois for samples</flag>
     <flag name="poco">When USE=threads, use poco for threading</flag>
+    <flag name="mobile">
+        Build for OpenGL ES 2.0 only and use the mobile variants of the PBS and
+        unlit material systems.
+    </flag>
     <flag name="resman-pedantic">
         Resource Manager PEDANTIC : require an explicit resource group. Case
         sensitive lookup. Some demos might not work with this setting.

diff --git a/dev-games/ogre/ogre-2.1_pre20180901.ebuild b/dev-games/ogre/ogre-2.1_pre20180901.ebuild
new file mode 100644
index 00000000000..9249788cc20
--- /dev/null
+++ b/dev-games/ogre/ogre-2.1_pre20180901.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CMAKE_REMOVE_MODULES="yes"
+CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB"
+inherit cmake-utils
+
+MY_COMMIT="35b083cba64a"
+MY_P="sinbad-${PN}-${MY_COMMIT}"
+
+DESCRIPTION="Object-oriented Graphics Rendering Engine"
+HOMEPAGE="https://www.ogre3d.org/"
+SRC_URI="https://bitbucket.org/sinbad/ogre/get/${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="MIT public-domain"
+SLOT="0/2.1"
+KEYWORDS=""
+
+IUSE="+cache debug doc egl examples +freeimage gles2 json +legacy-animations
+	mobile +opengl profile tools"
+
+# USE flags that do not work, as their options aren't ported, yet.
+#	cg
+#	double-precision
+
+REQUIRED_USE="
+	|| ( gles2 opengl )
+	mobile? ( egl gles2 !opengl )"
+
+RESTRICT="test" #139905
+
+RDEPEND="
+	dev-games/ois
+	dev-libs/zziplib
+	media-libs/freetype:2
+	x11-libs/libX11
+	x11-libs/libXaw
+	x11-libs/libXrandr
+	x11-libs/libXt
+	egl? ( media-libs/mesa[egl] )
+	freeimage? ( media-libs/freeimage )
+	gles2? ( media-libs/mesa[gles2] )
+	json? ( dev-libs/rapidjson )
+	opengl? (
+		virtual/glu
+		virtual/opengl
+	)
+	tools? ( dev-libs/tinyxml[stl] )
+"
+# Dependencies for USE flags that do not work, yet.
+#	cg? ( media-gfx/nvidia-cg-toolkit )
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	x11-base/xorg-proto
+	doc? ( app-doc/doxygen )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-2.1-samples.patch"
+	"${FILESDIR}/${PN}-2.1-resource_path.patch"
+	"${FILESDIR}/${PN}-2.1-media_path.patch"
+	"${FILESDIR}/${PN}-2.1-enhance_config_loading.patch"
+)
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+	sed -i \
+		-e "s:share/OGRE/docs:share/doc/${PF}:" \
+		Docs/CMakeLists.txt || die
+	# Stupid build system hardcodes release names
+	sed -i \
+		-e '/CONFIGURATIONS/s:CONFIGURATIONS Release.*::' \
+		CMake/Utils/OgreConfigTargets.cmake || die
+
+	# Fix some path issues
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DOGRE_BUILD_COMPONENT_HLMS_PBS=$(         usex mobile no yes)
+		-DOGRE_BUILD_COMPONENT_HLMS_PBS_MOBILE=$(  usex mobile)
+		-DOGRE_BUILD_COMPONENT_HLMS_UNLIT=$(       usex mobile no yes)
+		-DOGRE_BUILD_COMPONENT_HLMS_UNLIT_MOBILE=$(usex mobile)
+		-DOGRE_BUILD_COMPONENT_PLANAR_REFLECTIONS=yes
+		-DOGRE_BUILD_COMPONENT_SCENE_FORMAT=yes
+		-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex opengl)
+		-DOGRE_BUILD_RENDERSYSTEM_GLES=no
+		-DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2)
+		-DOGRE_BUILD_SAMPLES2=$(usex examples)
+		-DOGRE_BUILD_TESTS=no
+		-DOGRE_BUILD_TOOLS=$(usex tools)
+		-DOGRE_CONFIG_ENABLE_FREEIMAGE=$(usex freeimage)
+		-DOGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT=$(usex cache)
+		-DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=$(\
+			usex gles2 $(\
+			usex mobile no yes) no)
+		-DOGRE_CONFIG_ENABLE_JSON=$(usex json)
+		-DOGRE_CONFIG_THREADS=2
+		-DOGRE_CONFIG_THREAD_PROVIDER=std
+		-DOGRE_FULL_RPATH=no
+		-DOGRE_INSTALL_DOCS=$(usex doc)
+		-DOGRE_INSTALL_SAMPLES=$(usex examples)
+		-DOGRE_INSTALL_SAMPLES_SOURCE=$(usex examples)
+		-DOGRE_LEGACY_ANIMATIONS=$(usex legacy-animations)
+		-DOGRE_PROFILING_PROVIDER=$(usex profile none internal)
+		-DOGRE_USE_BOOST=no
+	)
+	# Options that aren't ported, yet:
+	#	-DOGRE_BUILD_PLUGIN_CG=$(usex cg)
+	#	-DOGRE_CONFIG_DOUBLE=$(usex double-precision)
+
+	# These components are off by default, as they might not be ported, yet.
+	# When advancing to a newer commit, try whether any of the disabled
+	# components can be activated now.
+	mycmakeargs+=(
+		-DOGRE_BUILD_COMPONENT_PAGING=no
+		-DOGRE_BUILD_COMPONENT_PROPERTY=no
+		-DOGRE_BUILD_COMPONENT_RTSHADERSYSTEM=no
+		-DOGRE_BUILD_RTSHADERSYSTEM_CORE_SHADERS=no
+		-DOGRE_BUILD_RTSHADERSYSTEM_EXT_SHADERS=no
+		-DOGRE_BUILD_COMPONENT_TERRAIN=no
+		-DOGRE_BUILD_COMPONENT_VOLUME=no
+	)
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	CONFIGDIR=/etc/OGRE
+	SHAREDIR=/usr/share/OGRE
+
+	# plugins and resources are the main configuration
+	insinto "${CONFIGDIR}"
+	doins "${CMAKE_BUILD_DIR}"/bin/plugins.cfg
+	doins "${CMAKE_BUILD_DIR}"/bin/plugins_tools.cfg
+	doins "${CMAKE_BUILD_DIR}"/bin/resources.cfg
+	doins "${CMAKE_BUILD_DIR}"/bin/resources2.cfg
+	dosym "${CONFIGDIR}"/plugins.cfg "${SHAREDIR}"/plugins.cfg
+	dosym "${CONFIGDIR}"/plugins_tools.cfg "${SHAREDIR}"/plugins_tools.cfg
+	dosym "${CONFIGDIR}"/resources.cfg "${SHAREDIR}"/resources.cfg
+	dosym "${CONFIGDIR}"/resources2.cfg "${SHAREDIR}"/resources2.cfg
+
+	# These are only for the Samples
+	if use examples ; then
+		insinto "${SHAREDIR}"
+		doins "${CMAKE_BUILD_DIR}"/bin/samples.cfg
+	fi
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-games/ogre/, dev-games/ogre/files/
@ 2020-01-07 22:58 James Le Cuirot
  0 siblings, 0 replies; 6+ messages in thread
From: James Le Cuirot @ 2020-01-07 22:58 UTC (permalink / raw
  To: gentoo-commits

commit:     bd845a620c2c15a98e72e66bace7a1e3217cf868
Author:     Sven Eden <yamakuzure <AT> gmx <DOT> net>
AuthorDate: Mon Jan  6 14:17:08 2020 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jan  7 22:57:55 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd845a62

dev-games/ogre: Fix ebuild for 1.9.0 (EAPI 7)

Signed-off-by: Sven Eden <yamakuzure <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/13655
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 dev-games/ogre/files/ogre-1.9.0-samples.patch |   4 +-
 dev-games/ogre/ogre-1.9.0-r2.ebuild           | 133 ++++++++++++++++++++++++++
 2 files changed, 135 insertions(+), 2 deletions(-)

diff --git a/dev-games/ogre/files/ogre-1.9.0-samples.patch b/dev-games/ogre/files/ogre-1.9.0-samples.patch
index d7573d7662b..0bf886b27d7 100644
--- a/dev-games/ogre/files/ogre-1.9.0-samples.patch
+++ b/dev-games/ogre/files/ogre-1.9.0-samples.patch
@@ -1,5 +1,5 @@
---- CMakeLists.txt.orig
-+++ CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
 @@ -519,7 +519,9 @@
  endif ()
  

diff --git a/dev-games/ogre/ogre-1.9.0-r2.ebuild b/dev-games/ogre/ogre-1.9.0-r2.ebuild
new file mode 100644
index 00000000000..1840540157e
--- /dev/null
+++ b/dev-games/ogre/ogre-1.9.0-r2.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB"
+
+inherit cmake vcs-snapshot
+
+DESCRIPTION="Object-oriented Graphics Rendering Engine"
+HOMEPAGE="https://www.ogre3d.org/"
+SRC_URI="https://bitbucket.org/sinbad/ogre/get/v${PV//./-}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="MIT public-domain"
+SLOT="0/1.9.0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+# gles1 currently broken wrt bug #418201
+# gles1 does not even build wrt bug #506058
+IUSE="+boost cg doc double-precision examples +freeimage gl3plus gles2 gles3 ois +opengl poco profile tbb threads tools +zip"
+
+REQUIRED_USE="threads? ( ^^ ( boost poco tbb ) )
+	examples? ( ois )
+	poco? ( threads )
+	tbb? ( threads )
+	gl3plus? ( !gles2 !gles3 )
+	gles3? ( gles2 )
+	gl3plus? ( opengl )"
+
+RESTRICT="test" #139905
+
+RDEPEND="
+	media-libs/freetype:2
+	virtual/opengl
+	virtual/glu
+	x11-libs/libX11
+	x11-libs/libXaw
+	x11-libs/libXrandr
+	x11-libs/libXt
+	boost? ( dev-libs/boost:= )
+	cg? ( media-gfx/nvidia-cg-toolkit )
+	freeimage? ( media-libs/freeimage )
+	gles2? ( >=media-libs/mesa-9.0.0[gles2] )
+	gles3? ( >=media-libs/mesa-10.0.0[gles2] )
+	gl3plus? ( >=media-libs/mesa-9.2.5 )
+	ois? ( dev-games/ois )
+	threads? (
+		poco? ( dev-libs/poco )
+		tbb? ( dev-cpp/tbb )
+	)
+	tools? ( dev-libs/tinyxml[stl] )
+	zip? ( sys-libs/zlib dev-libs/zziplib )"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	x11-base/xorg-proto
+	doc? ( app-doc/doxygen )"
+
+PATCHES=(
+	"${FILESDIR}/${P}-remove_resource_path_to_bindir.patch"
+	"${FILESDIR}/${P}-remove_media_path_to_bindir.patch"
+	"${FILESDIR}/${P}-gcc52.patch"
+	"${FILESDIR}/${P}-samples.patch"
+)
+
+src_prepare() {
+	sed -i \
+		-e "s:share/OGRE/docs:share/doc/${PF}:" \
+		Docs/CMakeLists.txt || die
+	# Stupid build system hardcodes release names
+	sed -i \
+		-e '/CONFIGURATIONS/s:CONFIGURATIONS Release.*::' \
+		CMake/Utils/OgreConfigTargets.cmake || die
+
+	# make sure we're not using the included tinyxml
+	rm -f Tools/XMLConverter/{include,src}/tiny*.*
+
+	# Fix some path issues
+	cmake_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DOGRE_FULL_RPATH=NO
+		-DOGRE_USE_BOOST=$(usex boost)
+		-DOGRE_BUILD_PLUGIN_CG=$(usex cg)
+		-DOGRE_INSTALL_DOCS=$(usex doc)
+		-DOGRE_CONFIG_DOUBLE=$(usex double-precision)
+		-DOGRE_CONFIG_ENABLE_FREEIMAGE=$(usex freeimage)
+		-DOGRE_BUILD_RENDERSYSTEM_GL=$(usex opengl)
+		-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex gl3plus)
+		-DOGRE_BUILD_RENDERSYSTEM_GLES=FALSE
+		-DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2)
+		-DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=$(usex gles3)
+		-DOGRE_PROFILING=$(usex profile)
+		-DOGRE_BUILD_SAMPLES=$(usex examples)
+		-DOGRE_INSTALL_SAMPLES=$(usex examples)
+		-DOGRE_INSTALL_SAMPLES_SOURCE=$(usex examples)
+		-DOGRE_BUILD_TESTS=FALSE
+		-DOGRE_CONFIG_THREADS=$(usex threads 2 0)
+		-DOGRE_BUILD_TOOLS=$(usex tools)
+		-DOGRE_CONFIG_ENABLE_ZIP=$(usex zip)
+	)
+
+	if use threads ; then
+		local f
+		for f in boost poco tbb ; do
+			use ${f} || continue
+			mycmakeargs+=( -DOGRE_CONFIG_THREAD_PROVIDER=${f} )
+			break
+		done
+	fi
+
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+
+	CONFIGDIR=/etc/OGRE
+	SHAREDIR=/usr/share/OGRE
+
+	# plugins and resources are the main configuration
+	insinto "${CONFIGDIR}"
+	doins "${BUILD_DIR}"/bin/plugins.cfg
+	doins "${BUILD_DIR}"/bin/resources.cfg
+	dosym "${CONFIGDIR}"/plugins.cfg "${SHAREDIR}"/plugins.cfg
+	dosym "${CONFIGDIR}"/resources.cfg "${SHAREDIR}"/resources.cfg
+
+	# These are only for the sample browser
+	insinto "${SHAREDIR}"
+	doins "${BUILD_DIR}"/bin/quakemap.cfg
+	doins "${BUILD_DIR}"/bin/samples.cfg
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-games/ogre/, dev-games/ogre/files/
@ 2020-08-25 22:00 James Le Cuirot
  0 siblings, 0 replies; 6+ messages in thread
From: James Le Cuirot @ 2020-08-25 22:00 UTC (permalink / raw
  To: gentoo-commits

commit:     089bef6fa06174418903e7ce6ce0e8be242efbb7
Author:     Sven Eden <yamakuzue <AT> gmx <DOT> net>
AuthorDate: Sun Apr 26 12:46:19 2020 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Aug 25 21:59:54 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=089bef6f

dev-games/ogre: 1.12.8 version bump plus fixes/additions

Changes:
 * imgui version has been raised to 1.76
 * gles2 USE flag has been removed. Ogre with GLES2/3 support now
   depends on HLSL2GLSL unconditionally. The flags and their config
   options have been 'backed up' as comments for easy re-integration
   once we have an ebuild for HLSL2GLSL.
   ( See: https://github.com/aras-p/hlsl2glslfork )
 * 'experimental' USE flag renamed to 'deprecated'. The HLMS
   component has switched from experimental to deprecated.
 * quakemap.cfg is gone
 * tests.cfg has been added

Fixes:
 * The 'Simple' demo has been fixed to compile with pedantic resource
   manager.

Bug: https://bugs.gentoo.org/728458
Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Sven Eden <yamakuzure <AT> gmx.net>
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 dev-games/ogre/Manifest                            |  4 +-
 .../ogre-1.12.4-fix_sample_source_install.patch    | 15 ----
 .../ogre/files/ogre-1.12.8-fix_Simple_demo.patch   | 11 +++
 ...dia_path.patch => ogre-1.12.8-media_path.patch} |  0
 ..._path.patch => ogre-1.12.8-resource_path.patch} |  0
 .../ogre/files/ogre-1.12.8-upgrade_imgui.patch     | 28 ++++++++
 dev-games/ogre/metadata.xml                        |  5 +-
 .../{ogre-1.12.4.ebuild => ogre-1.12.8.ebuild}     | 82 +++++++++++-----------
 8 files changed, 85 insertions(+), 60 deletions(-)

diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest
index 0fa39921ef9..32e62fd3783 100644
--- a/dev-games/ogre/Manifest
+++ b/dev-games/ogre/Manifest
@@ -1,3 +1,3 @@
-DIST imgui-1.74.tar.gz 1224024 BLAKE2B 794bd9aa0fdd1793fe9fa012c4b915731e3fe43ad32315421c2f5da2c2225f5dc6eb2c9618b999e0a4b8922b7a2b74fe2dbc5b5dc19de5aa0b6cee9d2ea67154 SHA512 e49e5cbe55899c0d0abc9b66c4e6e3e9941542af542d0ed3304bd3bde34c769baa2367355b77b91acb7fca56f9bcfd233dfc99881cfc8f5f6a2e2e6839990832
-DIST ogre-1.12.4.tar.gz 127168699 BLAKE2B 40040f3a514aef449615203c327728d2b990be82b43ef0129192f20bd0f603b284906af94286ba7902bae96c657aba99d4f4f3f93580d249733af951e9bb902e SHA512 46406be3b57bd1aea8f657802e2d63f777dd4a723b291c5bb6c8f9eac62ba27fe18d43260093f1120ce75fc32997feb72b10388e8983b9c9d2b7cdb15231cdd8
+DIST imgui-1.76.tar.gz 1256126 BLAKE2B 801e94e1007e41c5b7281bb30fc7da76ddf0e755bf3ec2c4eb90d730dd9c68685f3e4819f32acc2154fbcd4e32da9d1de6dac36b0cd8885a93457475576b4336 SHA512 7f7d7220c6c2805902665747f32ed094e0558d42cafb25a25bd16fed88da3bf8822c55ed92a552f0599f5563909d471aa5763e53c8dd5bf39367c61e39d015aa
+DIST ogre-1.12.8.tar.gz 125932831 BLAKE2B ffd4a443e374ad3f209b4f8a5e18a41b3dbfbb528d20581f48a4d31447e1e20a3b1cdde588b6345bd07d864c9b72ce1e51374de52523e7c4477408c01778af69 SHA512 c446c58b57874d3e2522f7e0315771b7a9f5ac8888449493a1dad6fc4d30454c57f4f145c2554de110607f3e5d586d6ec91859b8024e7d8bdb821fa6c6c3f2e2
 DIST ogre-1.9.0.tar.bz2 128098305 BLAKE2B 6e67a5b60a6606a910e099f1c7ba736eb525f079f3aba5cfb362329b9130059d303fc9df6f7b8611c0ba75e1e207fa018e543e93c9f5ce39a6621e4c72ed4a83 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde

diff --git a/dev-games/ogre/files/ogre-1.12.4-fix_sample_source_install.patch b/dev-games/ogre/files/ogre-1.12.4-fix_sample_source_install.patch
deleted file mode 100644
index 616a5e33680..00000000000
--- a/dev-games/ogre/files/ogre-1.12.4-fix_sample_source_install.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-The SDK_CMakeLists.txt.in file does not exist at the moment (sed - 2018-04-25)
-
---- a/Samples/CMakeLists.txt	2018-04-25 07:30:38.211048775 +0200
-+++ b/Samples/CMakeLists.txt	2018-04-25 07:32:32.842049802 +0200
-@@ -97,10 +97,6 @@
- 	PATTERN "scripts" EXCLUDE
-   )
-   # install a new CMakeLists.txt file to allow building of samples
--  configure_file(${OGRE_TEMPLATES_DIR}/SDK_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/../CMakeLists.txt @ONLY)
--  configure_file(${OGRE_TEMPLATES_DIR}/SDK_Samples_CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.txt @ONLY)
--  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR}/../)
--  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.txt DESTINATION ${OGRE_SAMPLES_DIR})
- endif ()
- 
- # Install sample headers, some people rely on these

diff --git a/dev-games/ogre/files/ogre-1.12.8-fix_Simple_demo.patch b/dev-games/ogre/files/ogre-1.12.8-fix_Simple_demo.patch
new file mode 100644
index 00000000000..49ed0190e0a
--- /dev/null
+++ b/dev-games/ogre/files/ogre-1.12.8-fix_Simple_demo.patch
@@ -0,0 +1,11 @@
+--- a/Samples/Simple/include/SSAO.h	2020-04-26 13:54:31.321908377 +0200
++++ b/Samples/Simple/include/SSAO.h	2020-04-26 13:54:47.497909935 +0200
+@@ -65,7 +65,7 @@
+     SSAOGBufferSchemeHandler()
+     {
+         mGBufRefMat = Ogre::MaterialManager::getSingleton().getByName("SSAO/GBuffer");
+-        RTShader::ShaderGenerator::getSingleton().validateMaterial("GBuffer", "SSAO/GBuffer");
++        RTShader::ShaderGenerator::getSingleton().validateMaterial("GBuffer", "SSAO/GBuffer", "OgreAutodetect");
+         mGBufRefMat->load();
+     }
+ 

diff --git a/dev-games/ogre/files/ogre-1.12.4-media_path.patch b/dev-games/ogre/files/ogre-1.12.8-media_path.patch
similarity index 100%
rename from dev-games/ogre/files/ogre-1.12.4-media_path.patch
rename to dev-games/ogre/files/ogre-1.12.8-media_path.patch

diff --git a/dev-games/ogre/files/ogre-1.12.4-resource_path.patch b/dev-games/ogre/files/ogre-1.12.8-resource_path.patch
similarity index 100%
rename from dev-games/ogre/files/ogre-1.12.4-resource_path.patch
rename to dev-games/ogre/files/ogre-1.12.8-resource_path.patch

diff --git a/dev-games/ogre/files/ogre-1.12.8-upgrade_imgui.patch b/dev-games/ogre/files/ogre-1.12.8-upgrade_imgui.patch
new file mode 100644
index 00000000000..4c7803a0a2f
--- /dev/null
+++ b/dev-games/ogre/files/ogre-1.12.8-upgrade_imgui.patch
@@ -0,0 +1,28 @@
+--- a/Components/Overlay/CMakeLists.txt	2020-08-16 17:45:59.605165822 +0200
++++ b/Components/Overlay/CMakeLists.txt	2020-08-16 17:48:45.796175402 +0200
+@@ -19,14 +19,14 @@
+ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
+ 
+ if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI)
+-  set(IMGUI_DIR "${PROJECT_BINARY_DIR}/imgui-1.73" CACHE PATH "")
++  set(IMGUI_DIR "${PROJECT_SOURCE_DIR}/imgui-1.76" CACHE PATH "")
+   if(NOT EXISTS ${IMGUI_DIR})
+     message(STATUS "Dowloading imgui")
+     file(DOWNLOAD
+-        https://github.com/ocornut/imgui/archive/v1.73.tar.gz
+-        ${PROJECT_BINARY_DIR}/imgui.tar.gz)
++        https://github.com/ocornut/imgui/archive/v1.76.tar.gz
++        ${PROJECT_SOURCE_DIR}/imgui.tar.gz)
+     execute_process(COMMAND ${CMAKE_COMMAND}
+-        -E tar xf imgui.tar.gz WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
++        -E tar xf imgui.tar.gz WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
+   endif()
+   list(APPEND SOURCE_FILES
+     ${IMGUI_DIR}/imgui.cpp
+@@ -84,4 +84,4 @@
+ )
+ install(FILES "${PROJECT_SOURCE_DIR}/Media/packs/profiler.zip"
+   DESTINATION "${OGRE_MEDIA_PATH}/packs/"
+-)
+\ Kein Zeilenumbruch am Dateiende.
++)

diff --git a/dev-games/ogre/metadata.xml b/dev-games/ogre/metadata.xml
index 6d7e9fc14eb..937478502a0 100644
--- a/dev-games/ogre/metadata.xml
+++ b/dev-games/ogre/metadata.xml
@@ -82,10 +82,9 @@ Exporters
     <flag name="cg">NVIDIA toolkit plugin</flag>
     <flag name="double-precision">More precise calculations at the expense of speed</flag>
     <flag name="egl">Use egl instead of glx</flag>
-    <flag name="experimental" restrict="&lt;dev-games/ogre-1.11">
-        Build experimental BETA components 'Bites' and 'HLMS'
+    <flag name="deprecated" restrict="~dev-games/ogre-1.12.6">
+        Build deprecated component 'HLMS' and nodeless positioning of Lights and Cameras.
     </flag>
-    <flag name="experimental">Build experimental BETA component 'HLMS'</flag>
     <flag name="freeimage">Support images via media-libs/freeimage</flag>
     <flag name="gl3plus">Build OpenGL 3+ RenderSystem (EXPERIMENTAL)</flag>
     <flag name="gles2" restrict="&gt;dev-games/ogre-1.10">

diff --git a/dev-games/ogre/ogre-1.12.4.ebuild b/dev-games/ogre/ogre-1.12.8.ebuild
similarity index 71%
rename from dev-games/ogre/ogre-1.12.4.ebuild
rename to dev-games/ogre/ogre-1.12.8.ebuild
index 5a8d78edfa9..d7a634ba0da 100644
--- a/dev-games/ogre/ogre-1.12.4.ebuild
+++ b/dev-games/ogre/ogre-1.12.8.ebuild
@@ -7,7 +7,7 @@ CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB"
 inherit cmake
 
 IMGUI_PN="imgui"
-IMGUI_PV="1.74"
+IMGUI_PV="1.76"
 IMGUI_P="${IMGUI_PN}-${IMGUI_PV}"
 
 DESCRIPTION="Object-oriented Graphics Rendering Engine"
@@ -19,11 +19,24 @@ LICENSE="MIT public-domain"
 SLOT="0/1.12"
 KEYWORDS="~amd64 ~arm ~x86"
 
-IUSE="+cache cg debug doc double-precision egl examples experimental +freeimage
-	gles2 json openexr +opengl pch profile resman-pedantic tools"
-
+IUSE="+cache cg debug deprecated doc double-precision egl examples +freeimage
+	json openexr +opengl pch profile resman-pedantic tools"
+
+# Note: gles2 USE flag taken out for now. It seems like the Ogre Devs now rely
+#       on HLSL2GLSL (https://github.com/aras-p/hlsl2glslfork) unconditionally
+#       for GLES2. So unless we have an ebuild for that, gles2/3 are off the
+#       table.
+#       ~~sed 2020-04-26 (yamakuzure@gmx.net)
+#
+# Note: Without gles2 USE flag, the opengl USE flag is next to useless. But
+#       there are packages which enforce it, so it has to stay.
+#
+# USE="gles2"
+# REQUIRED_USE="
+# 	|| ( gles2 opengl )
+# "
 REQUIRED_USE="
-	|| ( gles2 opengl )
+	examples? ( opengl )
 "
 
 RESTRICT="test" #139905
@@ -40,7 +53,6 @@ RDEPEND="
 	cg? ( media-gfx/nvidia-cg-toolkit )
 	egl? ( media-libs/mesa[egl] )
 	freeimage? ( media-libs/freeimage )
-	gles2? ( media-libs/mesa[gles2] )
 	json? ( dev-libs/rapidjson )
 	openexr? ( media-libs/openexr:= )
 	opengl? (
@@ -49,6 +61,7 @@ RDEPEND="
 	)
 	tools? ( dev-libs/tinyxml[stl] )
 "
+# 	gles2? ( media-libs/mesa[gles2] )
 DEPEND="
 	${RDEPEND}
 	x11-base/xorg-proto
@@ -61,21 +74,21 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}"/${P}-media_path.patch
 	"${FILESDIR}"/${P}-resource_path.patch
-	"${FILESDIR}"/${P}-fix_sample_source_install.patch
+	"${FILESDIR}"/${P}-fix_Simple_demo.patch
+	"${FILESDIR}"/${P}-upgrade_imgui.patch
 	"${FILESDIR}"/${PN}-1.10.12-use_system_tinyxml.patch
 )
 
 src_unpack() {
 	unpack ${P}.tar.gz || die "Unpacking ${P}.zip failed"
 
-	# Ogre 1.12.3 includes imgui, but as a submodule, it is not included
-	# in the release.
-	cd "${S}"/Components/Overlay/src || die "Unpack incomplete"
+	# Ogre 1.12.8 includes imgui, but as a submodule, it is not included
+	# in the release. The build system tries to download it, that may
+	# a) fail and
+	# b) uses an old release 1.73
+	# So we are doing it ourselves.
+	cd "${S}" || die "Unpack incomplete"
 	unpack ${IMGUI_P}.tar.gz || die "Unpacking ${IMGUI_P}.zip failed"
-
-	# Without this 'rm', mv puts imgui-1.73 *into* imgui/ instead of renaming.
-	rm -rf "${IMGUI_PN}" || die "Removing ${IMGUI_PN} failed"
-	mv "${IMGUI_P}" "${IMGUI_PN}" || die "Moving ${IMGUI_P} to ${IMGUI_PN} failed"
 }
 
 src_prepare() {
@@ -92,25 +105,11 @@ src_prepare() {
 	# In this series, the CMAKE_BUILD_TARGET is hard-wired to the
 	# installation. And only Debug, MinSizeRel and RelWithDebInfo
 	# are supported.
-	if use debug; then
-		sed -i \
-			-e 's/Debug/Gentoo/g' \
-			CMake/InstallResources.cmake \
-			|| die
-		sed -i \
-			-e 's/Debug/Gentoo/g' \
-			CMake/Utils/OgreConfigTargets.cmake \
-			|| die
-	else
-		sed -i \
-			-e 's/MinSizeRel/Gentoo/g' \
-			CMake/InstallResources.cmake \
-			|| die
-		sed -i \
-			-e 's/MinSizeRel/Gentoo/g' \
-			CMake/Utils/OgreConfigTargets.cmake \
-			|| die
-	fi
+	sed -i \
+		-e "s/$(usex debug Debug Release)/Gentoo/g" \
+		CMake/InstallResources.cmake \
+		CMake/Utils/OgreConfigTargets.cmake \
+		|| die
 
 	# Fix broken png files
 	einfo "Fixing broken png files."
@@ -131,7 +130,7 @@ src_configure() {
 		-DCMAKE_SKIP_INSTALL_RPATH=yes
 		-DOGRE_BUILD_COMPONENT_BITES=yes
 		-DOGRE_BUILD_COMPONENT_CSHARP=no
-		-DOGRE_BUILD_COMPONENT_HLMS=$(usex experimental)
+		-DOGRE_BUILD_COMPONENT_HLMS=$(usex deprecated)
 		-DOGRE_BUILD_COMPONENT_JAVA=no
 		-DOGRE_BUILD_COMPONENT_OVERLAY=yes
 		-DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=yes
@@ -147,24 +146,27 @@ src_configure() {
 		-DOGRE_BUILD_PLUGIN_EXRCODEC=$(usex openexr)
 		-DOGRE_BUILD_RENDERSYSTEM_GL=$(usex opengl)
 		-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex opengl)
-		-DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2)
+		-DOGRE_BUILD_RENDERSYSTEM_GLES2=no
 		-DOGRE_BUILD_SAMPLES=$(usex examples)
 		-DOGRE_BUILD_TESTS=no
 		-DOGRE_BUILD_TOOLS=$(usex tools)
 		-DOGRE_CONFIG_DOUBLE=$(usex double-precision)
 		-DOGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT=$(usex cache)
-		-DOGRE_CONFIG_ENABLE_GLES2_CG_SUPPORT=$(usex gles2 $(usex cg) no)
-		-DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=$(usex gles2)
+		-DOGRE_CONFIG_ENABLE_GLES2_CG_SUPPORT=no
+		-DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=no
 		-DOGRE_CONFIG_THREADS=3
 		-DOGRE_CONFIG_THREAD_PROVIDER=std
 		-DOGRE_ENABLE_PRECOMPILED_HEADERS=$(usex pch)
-		-DOGRE_GLSUPPORT_USE_EGL=$(usex egl)
 		-DOGRE_INSTALL_DOCS=$(usex doc)
 		-DOGRE_INSTALL_SAMPLES=$(usex examples)
 		-DOGRE_INSTALL_SAMPLES_SOURCE=$(usex examples)
+		-DOGRE_NODELESS_POSITIONING=$(usex deprecated)
 		-DOGRE_PROFILING=$(usex profile)
 		-DOGRE_RESOURCEMANAGER_STRICT=$(usex resman-pedantic 1 2)
 	)
+#		-DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2)
+#		-DOGRE_CONFIG_ENABLE_GLES2_CG_SUPPORT=$(usex gles2 $(usex cg) no)
+#		-DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=$(usex gles2)
 
 	cmake_src_configure
 }
@@ -193,8 +195,8 @@ src_install() {
 	# These are only for the sample browser
 	if use examples ; then
 		insinto "${SHAREDIR}"
-		doins "${BUILD_DIR}"/bin/quakemap.cfg
 		doins "${BUILD_DIR}"/bin/samples.cfg
+		doins "${BUILD_DIR}"/bin/tests.cfg
 	fi
 }
 
@@ -202,5 +204,5 @@ pkg_postinst() {
 	elog "If you experience crashes when starting /usr/bin/SampleBrowser,"
 	elog "remove the cache directory at:"
 	elog "  '~/.cache/OGRE Sample Browser'"
-	elog "first, before filling a bug report."
+	elog "first, before filing a bug report."
 }


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-games/ogre/, dev-games/ogre/files/
@ 2020-08-25 22:00 James Le Cuirot
  0 siblings, 0 replies; 6+ messages in thread
From: James Le Cuirot @ 2020-08-25 22:00 UTC (permalink / raw
  To: gentoo-commits

commit:     2e8d95ccd9fba724a65aea0dee63ee3752afddcb
Author:     Sven Eden <yamakuzue <AT> gmx <DOT> net>
AuthorDate: Wed Apr 29 07:30:45 2020 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Aug 25 21:59:57 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e8d95cc

dev-games/ogre: Bump to 2.1 - First major 2.1 release

Changes from the pre-release:
 * gles2 USE flag is gone, the GLES2 render system is not ported, yet
 * Added "fine-granularity" USE flag to enable XXXX
   which has a noticable performance impact.
 * double-precision USE flag is back in. But if activated, both
   OGRE_SIMD_NEON and OGRE_SIMD_SSE2 must be disabled, so the
   performance impact is quite big.
 * mobile USE flag is gone, this needs further testing. Also I think
   that building for mobile devices is not really interesting on
   Gentoo, is it?
 * Fixed a few warnings and issues, and spoke with upstream about
   them. ( See: https://github.com/OGRECave/ogre-next/issues/90 )
 * Fixed a missing include compilation issue and reported it to
   upstream. ( See: OGRECave/ogre-next#132 )

Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Sven Eden <yamakuzure <AT> gmx.net>
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 dev-games/ogre/Manifest                            |  1 +
 dev-games/ogre/files/ogre-2.1-d1c1116.patch        | 62 +++++++++++++++++
 .../files/ogre-2.1-fix_compilation_issues.patch    | 67 ++++++++++++++++++
 .../ogre/files/ogre-2.1-fix_opengl_search.patch    | 12 ++++
 dev-games/ogre/files/ogre-2.1-fix_warnings.patch   | 15 ++++
 dev-games/ogre/metadata.xml                        | 13 ++--
 ...ogre-2.1_pre20191212.ebuild => ogre-2.1.ebuild} | 80 +++++++++++++---------
 7 files changed, 214 insertions(+), 36 deletions(-)

diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest
index 32e62fd3783..851d395c412 100644
--- a/dev-games/ogre/Manifest
+++ b/dev-games/ogre/Manifest
@@ -1,3 +1,4 @@
 DIST imgui-1.76.tar.gz 1256126 BLAKE2B 801e94e1007e41c5b7281bb30fc7da76ddf0e755bf3ec2c4eb90d730dd9c68685f3e4819f32acc2154fbcd4e32da9d1de6dac36b0cd8885a93457475576b4336 SHA512 7f7d7220c6c2805902665747f32ed094e0558d42cafb25a25bd16fed88da3bf8822c55ed92a552f0599f5563909d471aa5763e53c8dd5bf39367c61e39d015aa
 DIST ogre-1.12.8.tar.gz 125932831 BLAKE2B ffd4a443e374ad3f209b4f8a5e18a41b3dbfbb528d20581f48a4d31447e1e20a3b1cdde588b6345bd07d864c9b72ce1e51374de52523e7c4477408c01778af69 SHA512 c446c58b57874d3e2522f7e0315771b7a9f5ac8888449493a1dad6fc4d30454c57f4f145c2554de110607f3e5d586d6ec91859b8024e7d8bdb821fa6c6c3f2e2
 DIST ogre-1.9.0.tar.bz2 128098305 BLAKE2B 6e67a5b60a6606a910e099f1c7ba736eb525f079f3aba5cfb362329b9130059d303fc9df6f7b8611c0ba75e1e207fa018e543e93c9f5ce39a6621e4c72ed4a83 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde
+DIST ogre-2.1.tar.gz 157457252 BLAKE2B 97e83cb93a07de5bd5f4fd778604e6146105e70045a6019f0fcdd7f96fe20f6ad495e19988dcd5e4c4073a0bcdeb5ce2afb06fae6945363c397a882672c80520 SHA512 9802e3bf20ddb09453524d1ddafa7a2083dfd0e609563f478fe31b087dd06d463f69800b9c6485cb3db92d98f282ef67ace3e272c1ef531e982ea9f719617fb5

diff --git a/dev-games/ogre/files/ogre-2.1-d1c1116.patch b/dev-games/ogre/files/ogre-2.1-d1c1116.patch
new file mode 100644
index 00000000000..6fbf5ecda4d
--- /dev/null
+++ b/dev-games/ogre/files/ogre-2.1-d1c1116.patch
@@ -0,0 +1,62 @@
+From d1c1116924ca537c1f061ed5422dd9a5207d989a Mon Sep 17 00:00:00 2001
+From: "Matias N. Goldberg" <dark_sylinc@yahoo.com.ar>
+Date: Mon, 24 Feb 2020 17:23:25 -0300
+Subject: [PATCH] Bugfix: Bone::_getDerivedTransform using uninitialized values
+ causing asserts to trigger Also prefer using Mathlib::LAST_AFFINE_COLUMN in
+ ArrayMatrixAf4x3::store
+
+---
+ .../include/Math/Array/NEON/Single/OgreArrayMatrixAf4x3.h   | 6 +-----
+ .../include/Math/Array/SSE2/Single/OgreArrayMatrixAf4x3.h   | 6 +-----
+ OgreMain/src/Animation/OgreBone.cpp                         | 4 ++--
+ 3 files changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/OgreMain/include/Math/Array/NEON/Single/OgreArrayMatrixAf4x3.h b/OgreMain/include/Math/Array/NEON/Single/OgreArrayMatrixAf4x3.h
+index 137b7cb5b2..2e2468149d 100644
+--- a/OgreMain/include/Math/Array/NEON/Single/OgreArrayMatrixAf4x3.h
++++ b/OgreMain/include/Math/Array/NEON/Single/OgreArrayMatrixAf4x3.h
+@@ -217,11 +217,7 @@ namespace Ogre
+             vst1q_f32( dstPtr, mChunkBase[0] );
+             vst1q_f32( dstPtr + 4, mChunkBase[1] );
+             vst1q_f32( dstPtr + 8, mChunkBase[2] );
+-            dstPtr += 12;
+-            *dstPtr++ = 0;
+-            *dstPtr++ = 0;
+-            *dstPtr++ = 0;
+-            *dstPtr++ = 1;
++            vst1q_f32( dstPtr + 12, MathlibNEON::LAST_AFFINE_COLUMN );
+         }
+ 
+         /// Assumes dst is aligned
+diff --git a/OgreMain/include/Math/Array/SSE2/Single/OgreArrayMatrixAf4x3.h b/OgreMain/include/Math/Array/SSE2/Single/OgreArrayMatrixAf4x3.h
+index 01b75b2730..a96d9a11e0 100644
+--- a/OgreMain/include/Math/Array/SSE2/Single/OgreArrayMatrixAf4x3.h
++++ b/OgreMain/include/Math/Array/SSE2/Single/OgreArrayMatrixAf4x3.h
+@@ -217,11 +217,7 @@ namespace Ogre
+             _mm_store_ps( dstPtr, mChunkBase[0] );
+             _mm_store_ps( dstPtr + 4, mChunkBase[1] );
+             _mm_store_ps( dstPtr + 8, mChunkBase[2] );
+-            dstPtr += 12;
+-            *dstPtr++ = 0;
+-            *dstPtr++ = 0;
+-            *dstPtr++ = 0;
+-            *dstPtr++ = 1;
++            _mm_store_ps( dstPtr + 12, MathlibSSE2::LAST_AFFINE_COLUMN );
+         }
+ 
+         /// Assumes dst is aligned
+diff --git a/OgreMain/src/Animation/OgreBone.cpp b/OgreMain/src/Animation/OgreBone.cpp
+index 588c6cb442..8735ed2a2f 100644
+--- a/OgreMain/src/Animation/OgreBone.cpp
++++ b/OgreMain/src/Animation/OgreBone.cpp
+@@ -257,8 +257,8 @@ namespace Ogre {
+         OGRE_ALIGNED_DECL( Matrix4, localSpaceBone, OGRE_SIMD_ALIGNMENT );
+         OGRE_ALIGNED_DECL( Matrix4, parentNodeTransform, OGRE_SIMD_ALIGNMENT );
+ 
+-        mTransform.mDerivedTransform[mTransform.mIndex].store4x3( &localSpaceBone );
+-        mTransform.mParentNodeTransform[mTransform.mIndex]->store4x3( &parentNodeTransform );
++        mTransform.mDerivedTransform[mTransform.mIndex].store( &localSpaceBone );
++        mTransform.mParentNodeTransform[mTransform.mIndex]->store( &parentNodeTransform );
+ 
+         parentNodeTransform.concatenateAffine( localSpaceBone );
+ 

diff --git a/dev-games/ogre/files/ogre-2.1-fix_compilation_issues.patch b/dev-games/ogre/files/ogre-2.1-fix_compilation_issues.patch
new file mode 100644
index 00000000000..4f2248dd1a3
--- /dev/null
+++ b/dev-games/ogre/files/ogre-2.1-fix_compilation_issues.patch
@@ -0,0 +1,67 @@
+--- a/Components/Paging/src/OgreGrid3DPageStrategy.cpp	2020-04-28 09:31:06.301940556 +0200
++++ b/Components/Paging/src/OgreGrid3DPageStrategy.cpp	2020-04-28 09:40:51.777904025 +0200
+@@ -367,9 +367,9 @@
+             {
+                 mat = MaterialManager::getSingleton().create(matName, ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
+                 Pass* pass = mat->getTechnique(0)->getPass(0);
+-                pass->setLightingEnabled(false);
++                //pass->setLightingEnabled(false);
+                 pass->setVertexColourTracking(TVC_AMBIENT);
+-                pass->setDepthWriteEnabled(false);
++                //pass->setDepthWriteEnabled(false);
+                 mat->load();
+             }
+ 
+@@ -383,7 +383,7 @@
+             else
+             {
+                 mo = p->getParentSection()->getSceneManager()->createManualObject();
+-                mo->begin(matName, RenderOperation::OT_LINE_STRIP);
++                mo->begin(matName, OperationType::OT_LINE_STRIP);
+             }
+ 
+             ColourValue vcol = ColourValue::Green;
+--- a/Components/Paging/src/OgreGrid2DPageStrategy.cpp	2020-04-28 09:43:23.119894582 +0200
++++ b/Components/Paging/src/OgreGrid2DPageStrategy.cpp	2020-04-28 09:44:00.844892228 +0200
+@@ -405,9 +405,9 @@
+             {
+                 mat = MaterialManager::getSingleton().create(matName, ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
+                 Pass* pass = mat->getTechnique(0)->getPass(0);
+-                pass->setLightingEnabled(false);
++                //pass->setLightingEnabled(false);
+                 pass->setVertexColourTracking(TVC_AMBIENT);
+-                pass->setDepthWriteEnabled(false);
++                //pass->setDepthWriteEnabled(false);
+                 mat->load();
+             }
+ 
+@@ -416,7 +416,7 @@
+             if (sn->numAttachedObjects() == 0)
+             {
+                 mo = p->getParentSection()->getSceneManager()->createManualObject();
+-                mo->begin(matName, RenderOperation::OT_LINE_STRIP);
++                mo->begin(matName, OperationType::OT_LINE_STRIP);
+             }
+             else
+             {
+--- a/OgreMain/src/OgrePVRTCCodec.cpp	2020-04-27 20:00:44.816974345 +0200
++++ b/OgreMain/src/OgrePVRTCCodec.cpp	2020-04-27 20:03:49.186962841 +0200
+@@ -33,6 +33,7 @@
+ #include "OgreException.h"
+ #include "OgreLogManager.h"
+ #include "OgreBitwise.h"
++#include "OgreDataStream.h"
+ 
+ #define FOURCC(c0, c1, c2, c3) (c0 | (c1 << 8) | (c2 << 16) | (c3 << 24))
+ #define PVR_TEXTURE_FLAG_TYPE_MASK  0xff
+--- a/OgreMain/src/OgrePlatformInformation.cpp	2020-08-23 17:39:09.971041355 +0200
++++ b/OgreMain/src/OgrePlatformInformation.cpp	2020-08-23 17:40:11.594044907 +0200
+@@ -42,7 +42,7 @@
+ #if OGRE_PLATFORM != OGRE_PLATFORM_WIN32
+     #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
+         #include <linux/sysctl.h>
+-    #else
++    #elif OGRE_PLATFORM == OGRE_PLATFORM_APPLE || OGRE_PLATFORM == OGRE_PLATFORM_APPLE_IOS
+         #include <sys/sysctl.h>
+     #endif
+ #endif

diff --git a/dev-games/ogre/files/ogre-2.1-fix_opengl_search.patch b/dev-games/ogre/files/ogre-2.1-fix_opengl_search.patch
new file mode 100644
index 00000000000..e5a09804407
--- /dev/null
+++ b/dev-games/ogre/files/ogre-2.1-fix_opengl_search.patch
@@ -0,0 +1,12 @@
+--- a/CMake/Dependencies.cmake	2020-04-27 15:59:25.005877828 +0200
++++ b/CMake/Dependencies.cmake	2020-04-27 15:59:42.572876732 +0200
+@@ -111,6 +111,9 @@
+ #######################################################################
+ 
+ # Find OpenGL
++if(POLICY CMP0072)
++  cmake_policy(SET CMP0072 NEW)
++endif()
+ if(NOT ANDROID AND NOT EMSCRIPTEN)
+   find_package(OpenGL)
+   macro_log_feature(OPENGL_FOUND "OpenGL" "Support for the OpenGL render system" "http://www.opengl.org/" FALSE "" "")

diff --git a/dev-games/ogre/files/ogre-2.1-fix_warnings.patch b/dev-games/ogre/files/ogre-2.1-fix_warnings.patch
new file mode 100644
index 00000000000..a7668799888
--- /dev/null
+++ b/dev-games/ogre/files/ogre-2.1-fix_warnings.patch
@@ -0,0 +1,15 @@
+--- a/Samples/2.0/Tutorials/Tutorial_Terrain/src/Terra/TerrainCell.cpp	2020-04-28 18:10:40.416995414 +0200
++++ b/Samples/2.0/Tutorials/Tutorial_Terrain/src/Terra/TerrainCell.cpp	2020-04-28 18:30:46.074920186 +0200
+@@ -133,7 +133,11 @@
+         gpuPtr[0] = m_verticesPerLine;
+         gpuPtr[1] = m_lodLevel;
+         gpuPtr[2] = vao->getPrimitiveCount() / m_verticesPerLine - 2u;
+-        gpuPtr[3] = *reinterpret_cast<uint32*>( &m_parentTerra->m_skirtSize );
++	/* Triggers: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
++         * gpuPtr[3] = *reinterpret_cast<uint32*>( &m_parentTerra->m_skirtSize );
++	 * See: http://zaynar.co.uk/docs/float-aliasing.html
++	 */
++	memcpy(&gpuPtr[3], &m_parentTerra->m_skirtSize, sizeof(gpuPtr[3]));
+ 
+         //ivec4 xzTexPosBounds
+         ((int32*RESTRICT_ALIAS)gpuPtr)[4] = m_gridX;

diff --git a/dev-games/ogre/metadata.xml b/dev-games/ogre/metadata.xml
index 937478502a0..d793b5753b3 100644
--- a/dev-games/ogre/metadata.xml
+++ b/dev-games/ogre/metadata.xml
@@ -85,13 +85,14 @@ Exporters
     <flag name="deprecated" restrict="~dev-games/ogre-1.12.6">
         Build deprecated component 'HLMS' and nodeless positioning of Lights and Cameras.
     </flag>
+    <flag name="fine-granularity" restrict="~dev-games/ogre-2.1">
+        Enable fine light mask granularity. This impacts on performance and should
+        not be enabled unless an application really needs it.
+    </flag>
     <flag name="freeimage">Support images via media-libs/freeimage</flag>
     <flag name="gl3plus">Build OpenGL 3+ RenderSystem (EXPERIMENTAL)</flag>
-    <flag name="gles2" restrict="&gt;dev-games/ogre-1.10">
-        Build OpenGL ES 2.x RenderSystem plus ES 3.x features if available.
-    </flag>
-    <flag name="gles2">Build OpenGL ES 2.x RenderSystem</flag>
-    <flag name="gles3">Enable OpenGL ES 3.x Features</flag>
+    <flag name="gles2" restrict="~dev-games/ogre-1.9.0">Build OpenGL ES 2.x RenderSystem</flag>
+    <flag name="gles3" restrict="~dev-games/ogre-1.9.0">Enable OpenGL ES 3.x Features</flag>
     <flag name="json">Use dev-libs/rapidjson (needed by Hlms JSON materials)</flag>
     <flag name="legacy-animations">
         Use the skeletal animation from 1.x. It's much slower, but the new system
@@ -99,10 +100,12 @@ Exporters
     </flag>
     <flag name="ois">Pull in Object-oriented Input System library dev-games/ois for samples</flag>
     <flag name="poco">When USE=threads, use poco for threading</flag>
+    <!-- Not yet available? Needs testing! (Note: Shouldn't this be EGL instead of GLES2?)
     <flag name="mobile">
         Build for OpenGL ES 2.0 only and use the mobile variants of the PBS and
         unlit material systems.
     </flag>
+    -->
     <flag name="resman-pedantic">
         Resource Manager PEDANTIC : require an explicit resource group. Case
         sensitive lookup. Some demos might not work with this setting.

diff --git a/dev-games/ogre/ogre-2.1_pre20191212.ebuild b/dev-games/ogre/ogre-2.1.ebuild
similarity index 68%
rename from dev-games/ogre/ogre-2.1_pre20191212.ebuild
rename to dev-games/ogre/ogre-2.1.ebuild
index d4823f71e9b..6b173719ca7 100644
--- a/dev-games/ogre/ogre-2.1_pre20191212.ebuild
+++ b/dev-games/ogre/ogre-2.1.ebuild
@@ -5,30 +5,26 @@ EAPI=7
 
 CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB"
 
-inherit cmake flag-o-matic git-r3
+inherit cmake flag-o-matic
+
+MY_PN="${PN}-next"
+MY_P="${MY_PN}-${PV}"
 
 DESCRIPTION="Object-oriented Graphics Rendering Engine"
 HOMEPAGE="https://www.ogre3d.org/"
-
-EGIT_BRANCH="v2-1"
-EGIT_COMMIT="5b682fb90c9e8e660e2fbf92bbf7797a9246700d"
-EGIT_REPO_URI="https://github.com/OGRECave/ogre-next.git"
-EGIT_SUBMODULES=()
+SRC_URI="https://github.com/OGRECave/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
 
 LICENSE="MIT public-domain"
 SLOT="0/2.1"
 KEYWORDS="~amd64"
 
-IUSE="+cache debug doc egl examples +freeimage gles2 json
-	legacy-animations mobile +opengl profile tools"
+IUSE="+cache debug doc double-precision egl examples fine-granularity +freeimage json
+	legacy-animations +opengl profile tools"
 
 # USE flags that do not work, as their options aren't ported, yet.
 #      cg
-#      double-precision
-
-REQUIRED_USE="
-	|| ( gles2 opengl )
-	mobile? ( egl gles2 !opengl )"
+#      gles2
+#      mobile
 
 RESTRICT="test" #139905
 
@@ -42,7 +38,6 @@ RDEPEND="
 	x11-libs/libXt
 	egl? ( media-libs/mesa[egl] )
 	freeimage? ( media-libs/freeimage )
-	gles2? ( media-libs/mesa[gles2] )
 	json? ( dev-libs/rapidjson )
 	opengl? (
 		virtual/glu
@@ -52,6 +47,7 @@ RDEPEND="
 "
 # Dependencies for USE flags that do not work, yet.
 #	cg? ( media-gfx/nvidia-cg-toolkit )
+#	gles2? ( media-libs/mesa[gles2] )
 
 DEPEND="
 	${RDEPEND}
@@ -67,16 +63,27 @@ PATCHES=(
 	"${FILESDIR}/${PN}-2.1-resource_path.patch"
 	"${FILESDIR}/${PN}-2.1-media_path.patch"
 	"${FILESDIR}/${PN}-2.1-enhance_config_loading.patch"
+	"${FILESDIR}/${PN}-2.1-fix_opengl_search.patch"
+	"${FILESDIR}/${PN}-2.1-fix_compilation_issues.patch"
+	"${FILESDIR}/${PN}-2.1-fix_warnings.patch"
+	"${FILESDIR}/${PN}-2.1-d1c1116.patch"
 )
 
+S=${WORKDIR}/${MY_P}
+
 src_prepare() {
 	sed -i \
 		-e "s:share/OGRE/docs:share/doc/${PF}:" \
 		Docs/CMakeLists.txt || die
-	# Stupid build system hardcodes release names
+
+	# In this series, the CMAKE_BUILD_TARGET is hard-wired to the
+	# installation. And only Release, Debug, MinSizeRel and RelWithDebInfo
+	# are supported.
 	sed -i \
-		-e '/CONFIGURATIONS/s:CONFIGURATIONS Release.*::' \
-		CMake/Utils/OgreConfigTargets.cmake || die
+		-e "s/$(usex debug Debug Release)/Gentoo/g" \
+		CMake/InstallResources.cmake \
+		CMake/Utils/OgreConfigTargets.cmake \
+		|| die
 
 	# Fix some path issues
 	cmake_src_prepare
@@ -84,29 +91,26 @@ src_prepare() {
 
 src_configure() {
 	local mycmakeargs=(
-		-DOGRE_BUILD_COMPONENT_HLMS_PBS=$(         usex mobile no yes)
-		-DOGRE_BUILD_COMPONENT_HLMS_PBS_MOBILE=$(  usex mobile)
-		-DOGRE_BUILD_COMPONENT_HLMS_UNLIT=$(       usex mobile no yes)
-		-DOGRE_BUILD_COMPONENT_HLMS_UNLIT_MOBILE=$(usex mobile)
+		-DOGRE_BUILD_COMPONENT_HLMS_PBS=yes
+		-DOGRE_BUILD_COMPONENT_HLMS_PBS_MOBILE=no
+		-DOGRE_BUILD_COMPONENT_HLMS_UNLIT=yes
+		-DOGRE_BUILD_COMPONENT_HLMS_UNLIT_MOBILE=no
 		-DOGRE_BUILD_COMPONENT_PLANAR_REFLECTIONS=yes
 		-DOGRE_BUILD_COMPONENT_SCENE_FORMAT=yes
 		-DOGRE_BUILD_PLATFORM_NACL=no
 		-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex opengl)
-		-DOGRE_BUILD_RENDERSYSTEM_GLES=no
-		-DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2)
+		-DOGRE_BUILD_RENDERSYSTEM_GLES2=no
 		-DOGRE_BUILD_SAMPLES2=$(usex examples)
-		-DOGRE_BUILD_TESTS=no
+		-DOGRE_BUILD_TESTS=$(usex debug)
 		-DOGRE_BUILD_TOOLS=$(usex tools)
 		-DOGRE_CONFIG_ALLOCATOR=$(usex debug 5 1)
-		-DOGRE_CONFIG_ENABLE_FINE_LIGHT_MASK_GRANULARITY=yes
+		-DOGRE_CONFIG_ENABLE_FINE_LIGHT_MASK_GRANULARITY=$(usex fine-granularity)
 		-DOGRE_CONFIG_ENABLE_FREEIMAGE=$(usex freeimage)
 		-DOGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT=$(usex cache)
-		-DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=$(\
-			usex gles2 $(\
-			usex mobile no yes) no)
 		-DOGRE_CONFIG_ENABLE_JSON=$(usex json)
 		-DOGRE_CONFIG_MEMTRACK_DEBUG=$(usex debug)
-		-DOGRE_CONFIG_THREADS=2
+		-DOGRE_CONFIG_MEMTRACK_RELEASE=no
+		-DOGRE_CONFIG_THREADS=0
 		-DOGRE_CONFIG_THREAD_PROVIDER=std
 		-DOGRE_FULL_RPATH=no
 		-DOGRE_INSTALL_DOCS=$(usex doc)
@@ -115,10 +119,17 @@ src_configure() {
 		-DOGRE_LEGACY_ANIMATIONS=$(usex legacy-animations)
 		-DOGRE_PROFILING_PROVIDER=$(usex profile none internal)
 		-DOGRE_USE_BOOST=no
+		-DOGRE_CONFIG_DOUBLE=$(usex double-precision)
+		-DOGRE_SIMD_NEON=$(usex double-precision no yes)
+		-DOGRE_SIMD_SSE2=$(usex double-precision no yes)
 	)
 
-	# The double-precision mode can not be enabled, yet.
-	#	-DOGRE_CONFIG_DOUBLE=$(usex double-precision)
+	# GLES2 is not supported, yet
+	#	-DOGRE_BUILD_COMPONENT_HLMS_PBS=$(         usex mobile no yes)
+	#	-DOGRE_BUILD_COMPONENT_HLMS_PBS_MOBILE=$(  usex mobile)
+	#	-DOGRE_BUILD_COMPONENT_HLMS_UNLIT=$(       usex mobile no yes)
+	#	-DOGRE_BUILD_COMPONENT_HLMS_UNLIT_MOBILE=$(usex mobile)
+	#	-DOGRE_BUILD_RENDERSYSTEM_GLES2=$(usex gles2)
 
 	# The CgFxScriptLoader doesn't seem to be completely ported, yet.
 	# USE flag disabled.
@@ -139,6 +150,13 @@ src_configure() {
 		-DOGRE_BUILD_COMPONENT_VOLUME=no
 	)
 
+	# In Release builds the system moans about unknown flags. Lets help!
+	if use debug; then
+		append-flags -DOGRE_DEBUG_MODE=1 -DDEBUG=1 -D_DEBUG=1
+	else
+		append-flags -DOGRE_DEBUG_MODE=0
+	fi
+
 	# Take out the warning about deprecated copy, as Ogre emits thousands of
 	# those. But using a deprecated way of doing things isn't an error and
 	# mainly of interest for developers.


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-08-25 22:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-07 18:25 [gentoo-commits] repo/gentoo:master commit in: dev-games/ogre/, dev-games/ogre/files/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2020-08-25 22:00 James Le Cuirot
2020-08-25 22:00 James Le Cuirot
2020-01-07 22:58 James Le Cuirot
2018-10-07 18:25 Andreas Sturmlechner
2018-09-07 11:42 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox