diff options
Diffstat (limited to 'dev-games')
-rw-r--r-- | dev-games/ogre/Manifest | 1 | ||||
-rw-r--r-- | dev-games/ogre/files/ogre-1.11.2-fix_sample_source_install.patch | 18 | ||||
-rw-r--r-- | dev-games/ogre/files/ogre-1.11.2-media_path.patch | 18 | ||||
-rw-r--r-- | dev-games/ogre/files/ogre-1.11.2-resource_path.patch | 14 | ||||
-rw-r--r-- | dev-games/ogre/metadata.xml | 6 | ||||
-rw-r--r-- | dev-games/ogre/ogre-1.11.2.ebuild | 143 |
6 files changed, 199 insertions, 1 deletions
diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest index 93a14df137ac..8b173e90d4fe 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 000000000000..6e4a476fbb4c --- /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 000000000000..aea15218c178 --- /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 000000000000..8557d783ec41 --- /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 9e726e9a8d33..f6f82039884f 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="<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=">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 000000000000..e3f452d99e9b --- /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 +} |