commit:     2e261d54f1bf5b0ffb4b150f20f062cfc4103c45
Author:     Alexey Sokolov <alexey+gentoo <AT> asokolov <DOT> org>
AuthorDate: Sat Mar 23 13:34:35 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 13:43:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e261d54

dev-games/mygui: add 3.4.3

Closes: https://bugs.gentoo.org/926041
Signed-off-by: Alexey Sokolov <alexey+gentoo <AT> asokolov.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-games/mygui/Manifest           |   1 +
 dev-games/mygui/mygui-3.4.3.ebuild | 159 +++++++++++++++++++++++++++++++++++++
 2 files changed, 160 insertions(+)

diff --git a/dev-games/mygui/Manifest b/dev-games/mygui/Manifest
index eaf910c62584..0be3a4c3b634 100644
--- a/dev-games/mygui/Manifest
+++ b/dev-games/mygui/Manifest
@@ -1 +1,2 @@
 DIST mygui-3.4.1.tar.gz 22433198 BLAKE2B 
400f88a63df1bff5554236a0aeb58218fdb6100aa84f9eb1ac111adabfa45ae7eb1c3124bb04f3ef57587566e716d3242daa9cb5866d7ccc43a56c9605952411
 SHA512 
9d36272345b1a755db88848c8a0919feb6f8ae09d048efa3b8ed833bb5ddb9c65e1e7e0d26ad39eecd2a4de53fb654f4099c555e9ebd21ce9541a1a74580ef05
+DIST mygui-3.4.3.tar.gz 18797995 BLAKE2B 
8329e63bdef7201f6a810fd5f4d85e36e0cf48f74f769c4e0f7c026ccae397274debe49ad71ba4a30d251cfba00ee99bcf73ed7424d4f878d769793aef985cf1
 SHA512 
88c69ca2e706af364b72d425f95013eb285501881d8094f8d67e31a54c45ca11b0eb5b62c382af0d4c43f69aa8197648259ac306b72efa7ef3e25eecb9b039cb

diff --git a/dev-games/mygui/mygui-3.4.3.ebuild 
b/dev-games/mygui/mygui-3.4.3.ebuild
new file mode 100644
index 000000000000..7cc3e5985523
--- /dev/null
+++ b/dev-games/mygui/mygui-3.4.3.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_REMOVE_MODULES_LIST=(FindFreetype)
+inherit cmake flag-o-matic
+
+MY_PN=MyGUI
+MY_P=${MY_PN}${PV}
+
+DESCRIPTION="A library for creating GUIs for games and 3D applications"
+HOMEPAGE="http://mygui.info";
+SRC_URI="https://github.com/MyGUI/mygui/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}" # soname
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="debug doc +ogre opengl plugins samples static-libs test tools l10n_ru"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="ogre? ( !opengl )
+       opengl? ( !ogre )"
+
+RDEPEND="media-libs/freetype:2
+       sys-libs/zlib
+       ogre? (
+               >=dev-games/ogre-1.12:0=[freeimage,opengl]
+               samples? ( dev-games/ois )
+       )
+       opengl? (
+               virtual/opengl
+               media-libs/glew:0=
+       )
+       tools? ( dev-games/ois )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+       doc? ( app-text/doxygen )"
+
+S=${WORKDIR}/mygui-${MY_P}
+STATIC_BUILD=${WORKDIR}/${P}_build_static
+
+PATCHES=(
+       "${FILESDIR}"/mygui-3.4.1-build.patch
+       "${FILESDIR}"/mygui-3.4.1-FHS.patch
+)
+
+pkg_setup() {
+       if use samples && use !ogre ; then
+               ewarn "Samples disabled, because they only work with ogre!"
+               ewarn "Enable ogre USE flag if you want to use samples."
+       fi
+}
+
+src_configure() {
+       use debug && append-cppflags -DDEBUG
+
+       local mycmakeargs=()
+
+       # static configuration
+       if use static-libs ; then
+               mycmakeargs=( -DMYGUI_STATIC=ON
+                       -DMYGUI_DONT_USE_OBSOLETE=ON
+                       -DMYGUI_BUILD_DOCS=OFF
+                       -DMYGUI_INSTALL_DOCS=OFF
+                       -DMYGUI_USE_FREETYPE=ON
+                       -DMYGUI_BUILD_PLUGINS=$(usex plugins)
+                       -DMYGUI_BUILD_DEMOS=OFF
+                       -DMYGUI_INSTALL_DEMOS=OFF
+                       -DMYGUI_BUILD_TOOLS=OFF
+                       -DMYGUI_INSTALL_TOOLS=OFF
+                       -DMYGUI_BUILD_WRAPPER=OFF
+                       -DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" 
"1")") )
+
+               CMAKE_BUILD_DIR=${STATIC_BUILD} cmake_src_configure
+               unset mycmakeargs
+       fi
+
+       # main configuration
+       mycmakeargs=(
+               -DMYGUI_STATIC=OFF
+               -DMYGUI_BUILD_DOCS=$(usex doc)
+               -DMYGUI_INSTALL_DOCS=$(usex doc)
+               -DMYGUI_USE_FREETYPE=ON
+               -DMYGUI_BUILD_PLUGINS=$(usex plugins)
+               -DMYGUI_BUILD_TOOLS=$(usex tools)
+               -DMYGUI_INSTALL_TOOLS=$(usex tools)
+               -DMYGUI_USE_SYSTEM_GLEW=$(usex opengl)
+               -DMYGUI_BUILD_WRAPPER=OFF
+               -DMYGUI_DONT_USE_OBSOLETE=ON
+               -DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" "1")")
+       )
+
+       if use ogre && use samples; then
+               mycmakeargs+=(
+                       -DMYGUI_BUILD_DEMOS=ON
+                       -DMYGUI_INSTALL_DEMOS=ON
+               )
+       else
+               mycmakeargs+=(
+                       -DMYGUI_BUILD_DEMOS=OFF
+                       -DMYGUI_INSTALL_DEMOS=OFF
+               )
+
+       fi
+
+       if use tools || (use samples && use ogre) ; then
+               mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=ON )
+       else
+               mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=OFF )
+       fi
+
+       cmake_src_configure
+}
+
+src_compile() {
+       # build system does not support building static and shared at once,
+       # run a double build
+       if use static-libs ; then
+               CMAKE_BUILD_DIR=${STATIC_BUILD} cmake_src_compile
+       fi
+
+       cmake_src_compile
+
+       use doc && emake -C "${CMAKE_BUILD_DIR}"/Docs api-docs
+}
+
+src_install() {
+       cmake_src_install
+
+       if use static-libs ; then
+               find "${STATIC_BUILD}" -name "*.a" \! -name "libCommon.a" -exec 
dolib.a '{}' \;
+               insinto /usr/$(get_libdir)/pkgconfig
+               doins "${STATIC_BUILD}"/pkgconfig/MYGUIStatic.pc
+       fi
+
+       if use doc ; then
+               dodoc -r "${CMAKE_BUILD_DIR}"/Docs/html/
+
+               if use l10n_ru ; then
+                       docompress -x /usr/share/doc/${PF}/Papers
+                       dodoc -r Docs/Papers
+               fi
+       fi
+
+       keepdir /etc/MYGUI
+       fperms o+w /etc/MYGUI
+
+       # test media not needed at runtime
+       rm -rf "${ED}"/usr/share/MYGUI/Media/UnitTests || die
+       # wrapper not available for linux, remove related media
+       rm -rf "${ED}"/usr/share/MYGUI/Media/Wrapper || die
+}
+
+pkg_postinst() {
+       elog
+       elog "ogre.cfg and Ogre.log are created as"
+       elog "${EROOT}/etc/MYGUI/mygui-ogre.cfg and /etc/MYGUI/mygui-Ogre.log"
+       elog
+}

Reply via email to