diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /dev-games/mygui | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'dev-games/mygui')
| -rw-r--r-- | dev-games/mygui/Manifest | 1 | ||||
| -rw-r--r-- | dev-games/mygui/files/mygui-3.4.1-FHS.patch | 27 | ||||
| -rw-r--r-- | dev-games/mygui/files/mygui-3.4.1-build.patch | 52 | ||||
| -rw-r--r-- | dev-games/mygui/files/mygui-3.4.3-libcxx-18.patch | 21 | ||||
| -rw-r--r-- | dev-games/mygui/files/mygui-3.4.3-werror.patch | 12 | ||||
| -rw-r--r-- | dev-games/mygui/metadata.xml | 47 | ||||
| -rw-r--r-- | dev-games/mygui/mygui-3.4.3.ebuild | 163 |
7 files changed, 323 insertions, 0 deletions
diff --git a/dev-games/mygui/Manifest b/dev-games/mygui/Manifest new file mode 100644 index 000000000000..a106375ad371 --- /dev/null +++ b/dev-games/mygui/Manifest @@ -0,0 +1 @@ +DIST mygui-3.4.3.tar.gz 18797995 BLAKE2B 8329e63bdef7201f6a810fd5f4d85e36e0cf48f74f769c4e0f7c026ccae397274debe49ad71ba4a30d251cfba00ee99bcf73ed7424d4f878d769793aef985cf1 SHA512 88c69ca2e706af364b72d425f95013eb285501881d8094f8d67e31a54c45ca11b0eb5b62c382af0d4c43f69aa8197648259ac306b72efa7ef3e25eecb9b039cb diff --git a/dev-games/mygui/files/mygui-3.4.1-FHS.patch b/dev-games/mygui/files/mygui-3.4.1-FHS.patch new file mode 100644 index 000000000000..b6d7bbe8e327 --- /dev/null +++ b/dev-games/mygui/files/mygui-3.4.1-FHS.patch @@ -0,0 +1,27 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Sat Oct 27 22:39:31 UTC 2012 +Subject: FHS + +paths hardcoded until upstream fixed the logic + +--- mygui-MyGUI3.2.2.orig/CMake/InstallResources.cmake ++++ mygui-MyGUI3.2.2/CMake/InstallResources.cmake +@@ -24,7 +24,7 @@ + else () + install(FILES + ${MYGUI_BINARY_DIR}/bin/${FILENAME} +- DESTINATION "bin" ++ DESTINATION "/etc/MYGUI" + ) + endif () + endfunction(install_file) +@@ -53,7 +53,7 @@ + if (WIN32) + set(MYGUI_MEDIA_DIR "../../Media") + elseif (UNIX) +- set(MYGUI_MEDIA_DIR "../share/MYGUI/Media") ++ set(MYGUI_MEDIA_DIR "${CMAKE_INSTALL_PREFIX}/share/MYGUI/Media") + else () + set(MYGUI_MEDIA_DIR "../../Media") + endif () + diff --git a/dev-games/mygui/files/mygui-3.4.1-build.patch b/dev-games/mygui/files/mygui-3.4.1-build.patch new file mode 100644 index 000000000000..5729be5d4380 --- /dev/null +++ b/dev-games/mygui/files/mygui-3.4.1-build.patch @@ -0,0 +1,52 @@ +diff --git a/CMake/ConfigureBuild.cmake b/CMake/ConfigureBuild.cmake +--- a/CMake/ConfigureBuild.cmake ++++ b/CMake/ConfigureBuild.cmake +@@ -4,6 +4,8 @@ + # also prepare package files for pkg-config and CMake. + ####################################################################### + ++include(GNUInstallDirs) ++ + # should we build static libs? + if (MYGUI_STATIC) + set(MYGUI_LIB_TYPE STATIC) +diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake +--- a/CMake/Utils/MyGUIConfigTargets.cmake ++++ b/CMake/Utils/MyGUIConfigTargets.cmake +@@ -1,6 +1,8 @@ + # Configure settings and install targets + # FIXME: Copypasted from Ogre and need lots of changes + ++include(GNUInstallDirs) ++ + if (WIN32) + set(MYGUI_RELEASE_PATH "/Release") + set(MYGUI_RELWDBG_PATH "/RelWithDebInfo") +@@ -32,6 +34,12 @@ endif () + + # install targets according to current build type + function(mygui_install_target TARGETNAME SUFFIX) ++ install(TARGETS ${TARGETNAME} ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" CONFIGURATIONS Gentoo "" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Gentoo "" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Gentoo "" ++ FRAMEWORK DESTINATION "${MYGUI_FRAMEWORK_PATH}" CONFIGURATIONS Gentoo "" ++ ) + install(TARGETS ${TARGETNAME} + RUNTIME DESTINATION "bin${MYGUI_RELEASE_PATH}" CONFIGURATIONS Release None "" + LIBRARY DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None "" +@@ -183,7 +191,13 @@ function(mygui_app PROJECTNAME SOLUTIONFOLDER) + endif () + add_executable(${PROJECTNAME} ${MYGUI_EXEC_TYPE} ${HEADER_FILES} ${SOURCE_FILES}) + endif () +- set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER}) ++ ++ # rename demo target ++ if (${SOLUTIONFOLDER} STREQUAL "Demos") ++ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER} OUTPUT_NAME MYGUI-${PROJECTNAME}) ++ else() ++ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER}) ++ endif() + + add_dependencies(${PROJECTNAME} MyGUIEngine Common) + diff --git a/dev-games/mygui/files/mygui-3.4.3-libcxx-18.patch b/dev-games/mygui/files/mygui-3.4.3-libcxx-18.patch new file mode 100644 index 000000000000..e4bf5626798e --- /dev/null +++ b/dev-games/mygui/files/mygui-3.4.3-libcxx-18.patch @@ -0,0 +1,21 @@ +From https://github.com/MyGUI/mygui/commit/0731785d83431bd17a0854f19bea9a7d687de5a7 Mon Sep 17 00:00:00 2001 +From: George Evmenov <altren@gmail.com> +Date: Thu, 6 Mar 2025 03:06:03 +0300 +Subject: [PATCH] do not use std::basic_string with non-standard types + (deprecated in llvm-18) + +--- a/MyGUIEngine/include/MyGUI_UString.h ++++ b/MyGUIEngine/include/MyGUI_UString.h +@@ -163,10 +163,10 @@ namespace MyGUI + static const size_type npos = std::numeric_limits<size_t>::max(); + + //! a single 32-bit Unicode character +- using unicode_char = uint32; ++ using unicode_char = char32_t; + + //! a single UTF-16 code point +- using code_point = uint16; ++ using code_point = char16_t; + + //! value type typedef for use in iterators + using value_type = code_point; diff --git a/dev-games/mygui/files/mygui-3.4.3-werror.patch b/dev-games/mygui/files/mygui-3.4.3-werror.patch new file mode 100644 index 000000000000..d001c9e48baf --- /dev/null +++ b/dev-games/mygui/files/mygui-3.4.3-werror.patch @@ -0,0 +1,12 @@ +Remove -Werror + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -174,7 +174,6 @@ include(Dependencies) + + # Set compiler specific build flags + if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") +- add_compile_options(-Werror) + if (NOT MYGUI_HIGH_LEVEL_WARNINGS) + add_compile_options(-w) + else () diff --git a/dev-games/mygui/metadata.xml b/dev-games/mygui/metadata.xml new file mode 100644 index 000000000000..368290e7f2f2 --- /dev/null +++ b/dev-games/mygui/metadata.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <upstream> + <maintainer status="active"> + <email>altren@list.ru</email> + <name>Evmenov Georgiy</name> + </maintainer> + <changelog>http://redmine.mygui.info/repositories/entry/mygui/tags/MyGUI3.2/ChangeLog.txt</changelog> + <bugs-to>https://github.com/MyGUI/mygui/issues</bugs-to> + </upstream> + <use> + <flag name="l10n_ru">Install some additional russian docs if 'doc' useflag enabled</flag> + <flag name="opengl">Use the opengl render subsystem. (cannot combine with ogre)</flag> + <flag name="ogre">Use the ogre render subsystem. (cannot combine with opengl)</flag> + <flag name="plugins">Build MyGUI plugins</flag> + <flag name="samples">Install MyGUI demos (needs ogre USE flag)</flag> + <flag name="tools">Build the tools for development</flag> + </use> + <longdescription lang="en"> + MyGUI is a library for creating Graphical User Interfaces (GUIs) for + games and 3D applications. The main goals of mygui are: speed, + flexibility and ease of use. + + Speed + We speed up our system by using our own batching subsystem which + combines geometry. It is also possible for the more experienced + developers to write their own render system or new subsystems + + Flexibility + The library supports plugins that allows you to create dynamically + loaded custom controls or subsystems. Most subsystems are expandable + with plugins without the need to touch the core code. All resources + and settings are described in XML files. It is possible to load + resources like fonts, cursors, images, skins, etc. Forms (layouts) + via dynamically by using XML files. + + Simplicity + The user interface is easy to use and uses delegates (Signals and + slots) for easy to use event handling. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> 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..46824cac17d1 --- /dev/null +++ b/dev-games/mygui/mygui-3.4.3.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2026 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 + virtual/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 + "${FILESDIR}"/mygui-3.4.3-werror.patch + + # backport + "${FILESDIR}"/${P}-libcxx-18.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 +} |
