diff options
author | Alexey Sokolov <alexey+gentoo@asokolov.org> | 2024-03-23 13:34:35 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-03-23 13:43:35 +0000 |
commit | 2e261d54f1bf5b0ffb4b150f20f062cfc4103c45 (patch) | |
tree | caaca462505d44f299b41010064beb4127e0c404 /dev-games | |
parent | media-libs/opencv: 4.9.0 fix (diff) | |
download | gentoo-2e261d54f1bf5b0ffb4b150f20f062cfc4103c45.tar.gz gentoo-2e261d54f1bf5b0ffb4b150f20f062cfc4103c45.tar.bz2 gentoo-2e261d54f1bf5b0ffb4b150f20f062cfc4103c45.zip |
dev-games/mygui: add 3.4.3
Closes: https://bugs.gentoo.org/926041
Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-games')
-rw-r--r-- | dev-games/mygui/Manifest | 1 | ||||
-rw-r--r-- | dev-games/mygui/mygui-3.4.3.ebuild | 159 |
2 files changed, 160 insertions, 0 deletions
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 +} |