From a610f058fedfabdd4f0759f45de5e62ae7c9f748 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Wed, 21 Jul 2021 22:37:26 -0700 Subject: dev-games/ogre: Set USE-defaults for mesa[egl,gbm] Signed-off-by: Matt Turner Signed-off-by: Sam James --- dev-games/ogre/ogre-1.12.9-r1.ebuild | 208 +++++++++++++++++++++++++++++++++++ dev-games/ogre/ogre-1.12.9.ebuild | 208 ----------------------------------- dev-games/ogre/ogre-2.1-r1.ebuild | 196 +++++++++++++++++++++++++++++++++ dev-games/ogre/ogre-2.1.ebuild | 196 --------------------------------- 4 files changed, 404 insertions(+), 404 deletions(-) create mode 100644 dev-games/ogre/ogre-1.12.9-r1.ebuild delete mode 100644 dev-games/ogre/ogre-1.12.9.ebuild create mode 100644 dev-games/ogre/ogre-2.1-r1.ebuild delete mode 100644 dev-games/ogre/ogre-2.1.ebuild (limited to 'dev-games/ogre') diff --git a/dev-games/ogre/ogre-1.12.9-r1.ebuild b/dev-games/ogre/ogre-1.12.9-r1.ebuild new file mode 100644 index 000000000000..0c297f1f519d --- /dev/null +++ b/dev-games/ogre/ogre-1.12.9-r1.ebuild @@ -0,0 +1,208 @@ +# 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 + +IMGUI_PN="imgui" +IMGUI_PV="1.77" +IMGUI_P="${IMGUI_PN}-${IMGUI_PV}" + +DESCRIPTION="Object-oriented Graphics Rendering Engine" +HOMEPAGE="https://www.ogre3d.org/" +SRC_URI="https://github.com/OGRECave/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/ocornut/${IMGUI_PN}/archive/v${IMGUI_PV}.tar.gz -> ${IMGUI_P}.tar.gz" + +LICENSE="MIT public-domain" +SLOT="0/1.12" +KEYWORDS="~amd64 ~arm ~x86" + +IUSE="assimp +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=" + examples? ( opengl ) +" + +RESTRICT="test" #139905 + +RDEPEND=" + dev-games/ois + dev-libs/pugixml + dev-libs/zziplib + media-libs/freetype:2 + x11-libs/libX11 + x11-libs/libXaw + x11-libs/libXrandr + x11-libs/libXt + assimp? ( media-libs/assimp ) + cg? ( media-gfx/nvidia-cg-toolkit ) + egl? ( media-libs/mesa[egl(+)] ) + freeimage? ( media-libs/freeimage ) + json? ( dev-libs/rapidjson ) + openexr? ( media-libs/openexr:= ) + opengl? ( + virtual/glu + virtual/opengl + ) + tools? ( dev-libs/tinyxml[stl] ) +" +# gles2? ( media-libs/mesa[gles2] ) +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen ) +" + +PATCHES=( + "${FILESDIR}"/${P}-media_path.patch + "${FILESDIR}"/${P}-resource_path.patch + "${FILESDIR}"/${P}-fix_Simple_demo.patch + "${FILESDIR}"/${P}-gentoolize_imgui_inclusion.patch + "${FILESDIR}"/${P}-fix_config_window_height.patch + "${FILESDIR}"/${PN}-1.10.12-use_system_tinyxml.patch +) + +src_unpack() { + unpack ${P}.tar.gz || die "Unpacking ${P}.zip failed" + + # Ogre 1.12.9 includes imgui, but as a submodule, it is not included + # in the release. The build system tries to download it, that may + # fail and so we are doing it ourselves. + cd "${S}" || die "Unpack incomplete" + unpack ${IMGUI_P}.tar.gz || die "Unpacking ${IMGUI_P}.zip failed" +} + +src_prepare() { + local broken_png=( + Icon@2x-72.png + Default-Portrait~ipad.png + Default-Portrait@2x~ipad.png + Default-Landscape@2x~ipad.png + ) + + sed -i \ + -e "s:share/doc/OGRE: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. + 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." + pushd "${S}"/Samples/Common/misc 1>/dev/null 2>&1 + for png in "${broken_png[@]}"; do + pngfix -q --out=out.png ${png} + mv -f out.png "${png}" || die + done + popd 1>/dev/null 2>&1 + einfo "done ..." + + # Fix some path issues + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_INSTALL_RPATH=yes + -DOGRE_BUILD_COMPONENT_BITES=yes + -DOGRE_BUILD_COMPONENT_CSHARP=no + -DOGRE_BUILD_COMPONENT_HLMS=$(usex deprecated) + -DOGRE_BUILD_COMPONENT_JAVA=no + -DOGRE_BUILD_COMPONENT_OVERLAY=yes + -DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=yes + -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=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=no + -DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=no + -DOGRE_CONFIG_THREADS=3 + -DOGRE_CONFIG_THREAD_PROVIDER=std + -DOGRE_ENABLE_PRECOMPILED_HEADERS=$(usex pch) + -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 +} + +src_compile() { + cmake_src_compile + + if use doc ; then + eninja -C "${BUILD_DIR}" OgreDoc + fi +} + +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 + if use examples ; then + insinto "${SHAREDIR}" + doins "${BUILD_DIR}"/bin/samples.cfg + doins "${BUILD_DIR}"/bin/tests.cfg + fi +} + +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 filing a bug report." +} diff --git a/dev-games/ogre/ogre-1.12.9.ebuild b/dev-games/ogre/ogre-1.12.9.ebuild deleted file mode 100644 index 74d3cd557a69..000000000000 --- a/dev-games/ogre/ogre-1.12.9.ebuild +++ /dev/null @@ -1,208 +0,0 @@ -# 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 - -IMGUI_PN="imgui" -IMGUI_PV="1.77" -IMGUI_P="${IMGUI_PN}-${IMGUI_PV}" - -DESCRIPTION="Object-oriented Graphics Rendering Engine" -HOMEPAGE="https://www.ogre3d.org/" -SRC_URI="https://github.com/OGRECave/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://github.com/ocornut/${IMGUI_PN}/archive/v${IMGUI_PV}.tar.gz -> ${IMGUI_P}.tar.gz" - -LICENSE="MIT public-domain" -SLOT="0/1.12" -KEYWORDS="~amd64 ~arm ~x86" - -IUSE="assimp +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=" - examples? ( opengl ) -" - -RESTRICT="test" #139905 - -RDEPEND=" - dev-games/ois - dev-libs/pugixml - dev-libs/zziplib - media-libs/freetype:2 - x11-libs/libX11 - x11-libs/libXaw - x11-libs/libXrandr - x11-libs/libXt - assimp? ( media-libs/assimp ) - cg? ( media-gfx/nvidia-cg-toolkit ) - egl? ( media-libs/mesa[egl] ) - freeimage? ( media-libs/freeimage ) - json? ( dev-libs/rapidjson ) - openexr? ( media-libs/openexr:= ) - opengl? ( - virtual/glu - virtual/opengl - ) - tools? ( dev-libs/tinyxml[stl] ) -" -# gles2? ( media-libs/mesa[gles2] ) -DEPEND=" - ${RDEPEND} - x11-base/xorg-proto -" -BDEPEND=" - virtual/pkgconfig - doc? ( app-doc/doxygen ) -" - -PATCHES=( - "${FILESDIR}"/${P}-media_path.patch - "${FILESDIR}"/${P}-resource_path.patch - "${FILESDIR}"/${P}-fix_Simple_demo.patch - "${FILESDIR}"/${P}-gentoolize_imgui_inclusion.patch - "${FILESDIR}"/${P}-fix_config_window_height.patch - "${FILESDIR}"/${PN}-1.10.12-use_system_tinyxml.patch -) - -src_unpack() { - unpack ${P}.tar.gz || die "Unpacking ${P}.zip failed" - - # Ogre 1.12.9 includes imgui, but as a submodule, it is not included - # in the release. The build system tries to download it, that may - # fail and so we are doing it ourselves. - cd "${S}" || die "Unpack incomplete" - unpack ${IMGUI_P}.tar.gz || die "Unpacking ${IMGUI_P}.zip failed" -} - -src_prepare() { - local broken_png=( - Icon@2x-72.png - Default-Portrait~ipad.png - Default-Portrait@2x~ipad.png - Default-Landscape@2x~ipad.png - ) - - sed -i \ - -e "s:share/doc/OGRE: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. - 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." - pushd "${S}"/Samples/Common/misc 1>/dev/null 2>&1 - for png in "${broken_png[@]}"; do - pngfix -q --out=out.png ${png} - mv -f out.png "${png}" || die - done - popd 1>/dev/null 2>&1 - einfo "done ..." - - # Fix some path issues - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DCMAKE_SKIP_INSTALL_RPATH=yes - -DOGRE_BUILD_COMPONENT_BITES=yes - -DOGRE_BUILD_COMPONENT_CSHARP=no - -DOGRE_BUILD_COMPONENT_HLMS=$(usex deprecated) - -DOGRE_BUILD_COMPONENT_JAVA=no - -DOGRE_BUILD_COMPONENT_OVERLAY=yes - -DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=yes - -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=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=no - -DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=no - -DOGRE_CONFIG_THREADS=3 - -DOGRE_CONFIG_THREAD_PROVIDER=std - -DOGRE_ENABLE_PRECOMPILED_HEADERS=$(usex pch) - -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 -} - -src_compile() { - cmake_src_compile - - if use doc ; then - eninja -C "${BUILD_DIR}" OgreDoc - fi -} - -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 - if use examples ; then - insinto "${SHAREDIR}" - doins "${BUILD_DIR}"/bin/samples.cfg - doins "${BUILD_DIR}"/bin/tests.cfg - fi -} - -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 filing a bug report." -} diff --git a/dev-games/ogre/ogre-2.1-r1.ebuild b/dev-games/ogre/ogre-2.1-r1.ebuild new file mode 100644 index 000000000000..2bf0d553581a --- /dev/null +++ b/dev-games/ogre/ogre-2.1-r1.ebuild @@ -0,0 +1,196 @@ +# 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 flag-o-matic + +MY_PN="${PN}-next" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Object-oriented Graphics Rendering Engine" +HOMEPAGE="https://www.ogre3d.org/" +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 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 +# gles2 +# mobile + +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 ) + 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 ) +# gles2? ( media-libs/mesa[gles2] ) + +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + virtual/pkgconfig + 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" + "${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 + + # 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 "s/$(usex debug Debug Release)/Gentoo/g" \ + CMake/InstallResources.cmake \ + CMake/Utils/OgreConfigTargets.cmake \ + || die + + # Fix some path issues + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -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_GLES2=no + -DOGRE_BUILD_SAMPLES2=$(usex examples) + -DOGRE_BUILD_TESTS=$(usex debug) + -DOGRE_BUILD_TOOLS=$(usex tools) + -DOGRE_CONFIG_ALLOCATOR=$(usex debug 5 1) + -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_JSON=$(usex json) + -DOGRE_CONFIG_MEMTRACK_DEBUG=$(usex debug) + -DOGRE_CONFIG_MEMTRACK_RELEASE=no + -DOGRE_CONFIG_THREADS=0 + -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 + -DOGRE_CONFIG_DOUBLE=$(usex double-precision) + -DOGRE_SIMD_NEON=$(usex double-precision no yes) + -DOGRE_SIMD_SSE2=$(usex double-precision no yes) + ) + + # 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. + mycmakeargs+=( + -DOGRE_BUILD_PLUGIN_CG=no + ) + + # 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 + ) + + # 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. + # (The warning is part of -Wextra and only effects C++ compilation.) + append-cxxflags $(test-flags-CXX -Wno-deprecated-copy) + + # The same with the old ways of using memset(0...) on objects. It is + # no longer assumed to be a good idea, but a warning about it isn't + # of any value to the user. (And it happens many times in Ogre.) + append-cxxflags $(test-flags-CXX -Wno-class-memaccess) + + 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/plugins_tools.cfg + doins "${BUILD_DIR}"/bin/resources.cfg + doins "${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 "${BUILD_DIR}"/bin/samples.cfg + fi +} diff --git a/dev-games/ogre/ogre-2.1.ebuild b/dev-games/ogre/ogre-2.1.ebuild deleted file mode 100644 index 6b173719ca73..000000000000 --- a/dev-games/ogre/ogre-2.1.ebuild +++ /dev/null @@ -1,196 +0,0 @@ -# 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 flag-o-matic - -MY_PN="${PN}-next" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="Object-oriented Graphics Rendering Engine" -HOMEPAGE="https://www.ogre3d.org/" -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 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 -# gles2 -# mobile - -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 ) - 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 ) -# gles2? ( media-libs/mesa[gles2] ) - -DEPEND=" - ${RDEPEND} - x11-base/xorg-proto -" -BDEPEND=" - virtual/pkgconfig - 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" - "${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 - - # 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 "s/$(usex debug Debug Release)/Gentoo/g" \ - CMake/InstallResources.cmake \ - CMake/Utils/OgreConfigTargets.cmake \ - || die - - # Fix some path issues - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -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_GLES2=no - -DOGRE_BUILD_SAMPLES2=$(usex examples) - -DOGRE_BUILD_TESTS=$(usex debug) - -DOGRE_BUILD_TOOLS=$(usex tools) - -DOGRE_CONFIG_ALLOCATOR=$(usex debug 5 1) - -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_JSON=$(usex json) - -DOGRE_CONFIG_MEMTRACK_DEBUG=$(usex debug) - -DOGRE_CONFIG_MEMTRACK_RELEASE=no - -DOGRE_CONFIG_THREADS=0 - -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 - -DOGRE_CONFIG_DOUBLE=$(usex double-precision) - -DOGRE_SIMD_NEON=$(usex double-precision no yes) - -DOGRE_SIMD_SSE2=$(usex double-precision no yes) - ) - - # 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. - mycmakeargs+=( - -DOGRE_BUILD_PLUGIN_CG=no - ) - - # 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 - ) - - # 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. - # (The warning is part of -Wextra and only effects C++ compilation.) - append-cxxflags $(test-flags-CXX -Wno-deprecated-copy) - - # The same with the old ways of using memset(0...) on objects. It is - # no longer assumed to be a good idea, but a warning about it isn't - # of any value to the user. (And it happens many times in Ogre.) - append-cxxflags $(test-flags-CXX -Wno-class-memaccess) - - 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/plugins_tools.cfg - doins "${BUILD_DIR}"/bin/resources.cfg - doins "${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 "${BUILD_DIR}"/bin/samples.cfg - fi -} -- cgit v1.2.3-65-gdbad