From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-games/mygui/Manifest | 8 ++ dev-games/mygui/files/mygui-3.2.2-FHS.patch | 44 +++++++ dev-games/mygui/files/mygui-3.2.2-build.patch | 61 +++++++++ .../mygui/files/mygui-3.2.2-underlinking.patch | 20 +++ dev-games/mygui/metadata.xml | 47 +++++++ dev-games/mygui/mygui-3.2.2.ebuild | 142 +++++++++++++++++++++ 6 files changed, 322 insertions(+) create mode 100644 dev-games/mygui/Manifest create mode 100644 dev-games/mygui/files/mygui-3.2.2-FHS.patch create mode 100644 dev-games/mygui/files/mygui-3.2.2-build.patch create mode 100644 dev-games/mygui/files/mygui-3.2.2-underlinking.patch create mode 100644 dev-games/mygui/metadata.xml create mode 100644 dev-games/mygui/mygui-3.2.2.ebuild (limited to 'dev-games/mygui') diff --git a/dev-games/mygui/Manifest b/dev-games/mygui/Manifest new file mode 100644 index 000000000000..f834928eb07a --- /dev/null +++ b/dev-games/mygui/Manifest @@ -0,0 +1,8 @@ +AUX mygui-3.2.2-FHS.patch 1209 SHA256 22586a7d4c73372b2251a6381a4df8e4baea02df0ee59f966c23087dbe1184e4 SHA512 21aba7d654a7197423bdeaa06fa79219d850c76248546227ece1f4916072289f0ebf68a9ad9a4569a1d5dfc15cf86762db3c0d4d58f4c233c1b4293ffb35e50e WHIRLPOOL e039bf19f361b25d90e49f8c69d482adc183e0a42c0410c72178905db387a01c03c7db3e164a4c201e28cffe65b4707f2b456786c2669696de1f374241c65c69 +AUX mygui-3.2.2-build.patch 2801 SHA256 2a18a9cc38f14e77fafeeb57518bf126b5b9ce4e18ae1c9a34513fa225d89ff0 SHA512 954f95759967a1a4f4eb6952f6abbabbe3157703d5d0014299a8cd5060cd5fb0c7faa635ad10e5c23e0bc0c8d8089c29c14952058a7bdcc2643f06c226f5524d WHIRLPOOL 604c045a20b635fa20c863db4574ca55cffd83a6c86d3190f88b8fe0b6488a08aeed9137d046853e92ae5bd0327f46b269330d54f646ab262a288d214467844b +AUX mygui-3.2.2-underlinking.patch 398 SHA256 7ae82493e90b9543bf592060348adff59b64c5469ea3b3d08a44f416ac27a614 SHA512 ad0e5e0e8aacdb65ea9195175f597eb95f265b07d0154482f2380ae6e837672d5d41b6d43b1266abb12dec319625426dd65a892aca7fdca297131bd4db2312b9 WHIRLPOOL 195a7786c561b9844e8385dd562e336ef88feeff13d1703e246a34bf28a9f6919c9ba9899bbe50b5f2f0b25efc7b5916046bec083f8ddd20168da8b4d3caf890 +DIST MyGUI3.2.2.tar.gz 22081236 SHA256 0a28d7ec8a47993cb68deb48b36331e28f12dd92580b709eaef21d599b67a78f SHA512 1290ce1d78b9e4bfe72bea3fb1bc6cdd25969b44be2844df62a1f425b3e221a68b61658fdf45271fb50a1957f12b5ada1c9be971e00ecfe41f53ae0a83ae18d4 WHIRLPOOL d79a765f4442a3a07e5cb886ac5f14a3d444cdb8c7d43f6900a8855316f71af643faa2a4a2f04a64d49a36f2e4fb6065292c856d1aaef2bca6ad79a7508d5bad +EBUILD mygui-3.2.2.ebuild 3706 SHA256 9da99d2c81cc8f7c2b9e2a1f8898db93aff659aa1a1a2f41ce02f559b7cfcc6c SHA512 7a6fd7fda83620ae6dfd8374b7963386a322d2d9572627e48c29575e8c1dbf1cd90d92bfcc6407a401b63086601d8cc3770485e344d0ca65ebe4c2893be23808 WHIRLPOOL c1bacb87210826421ac1e625ebc73b2513cbfee5edbe1194fff3a988557452dadb43d9f5eb979ece11d663b46d9712a8a500570eb24fa0ccba3576a4517db353 +MISC ChangeLog 2654 SHA256 cc48efc8f1dbef6d329c9fdff5252af7b4ca8df4e7e6b9566629604754bcd85d SHA512 d66ab852d3dea3a7efe37dcc0c62a2ce92fa81da48bfbbde40ba0e7d6fc08ae595a0f64469cb70e29b0a2cff2c47329dbf3ffd22e6d4539487b4bfe26e73e41c WHIRLPOOL 68dfab2e7959066c7682294364f556597024bbecd583c55778a16ac16b5add20dd22d91dd7ecab140461294c364ecaed662ed43991168268c7d9f4afb16bb3c1 +MISC ChangeLog-2015 2097 SHA256 133ae144a409d1c3ed80271dd91d016bc81ac65ae28d9f83ce6bbba11541410d SHA512 82ea3ff08a29afd78c771048963a676103f601a69875ce28f0449ceadc3bb2af73eb1d39f5b5af2a54f5ffd0d5c403f239176504aefdb8dc460eac89ed474c5f WHIRLPOOL ec89e6106df08216c4d501edf2556b13ffed5dd19b91cf7657c55564a9fcff5b02afd97d90fab0f60ad571ce40c5de35645abe40ab20f9f859f59bc12d0c0d17 +MISC metadata.xml 2042 SHA256 898846cedce5499c6e7095392e8a0ae9469a81a220c1e5cf215218db6bbc1732 SHA512 76aa0598c2e5505c4c2eead9c59a54849cdad281196d763859aea254a286a7928cf29c7aa4e709f45aabf3e160ec70fd0b92a644519e1ae5b90257f74d6a4844 WHIRLPOOL d48a509f0e2a5aa7dcf0f7f394c1765cbd567fe74346fc2daf5a7753bcd7d62af54ce669dde138160b95885658789e9eea9e2ccefe28b1d67684778ea36a3e14 diff --git a/dev-games/mygui/files/mygui-3.2.2-FHS.patch b/dev-games/mygui/files/mygui-3.2.2-FHS.patch new file mode 100644 index 000000000000..14d21626ff7b --- /dev/null +++ b/dev-games/mygui/files/mygui-3.2.2-FHS.patch @@ -0,0 +1,44 @@ +From: Julian Ospald +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 () +--- mygui-MyGUI3.2.2.orig/Common/Base/Ogre/BaseManager.cpp ++++ mygui-MyGUI3.2.2/Common/Base/Ogre/BaseManager.cpp +@@ -49,13 +49,13 @@ + mWindow(nullptr), + mExit(false), + mPluginCfgName("plugins.cfg"), +- mResourceXMLName("resources.xml"), ++ mResourceXMLName("/etc/MYGUI/resources.xml"), + mResourceFileName("MyGUI_Core.xml") + { + #if MYGUI_PLATFORM == MYGUI_PLATFORM_APPLE + mResourcePath = macBundlePath() + "/Contents/Resources/"; + #else +- mResourcePath = ""; ++ mResourcePath = "/etc/MYGUI/"; + #endif + } + diff --git a/dev-games/mygui/files/mygui-3.2.2-build.patch b/dev-games/mygui/files/mygui-3.2.2-build.patch new file mode 100644 index 000000000000..a16b27c285b7 --- /dev/null +++ b/dev-games/mygui/files/mygui-3.2.2-build.patch @@ -0,0 +1,61 @@ +diff -ru mygui-MyGUI3.2.2.orig/CMake/ConfigureBuild.cmake mygui-MyGUI3.2.2/CMake/ConfigureBuild.cmake +--- mygui-MyGUI3.2.2.orig/CMake/ConfigureBuild.cmake 2015-01-26 10:32:35.000000000 -0500 ++++ mygui-MyGUI3.2.2/CMake/ConfigureBuild.cmake 2015-03-14 01:09:40.743621643 -0400 +@@ -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) +@@ -47,7 +49,7 @@ + else () + configure_file(${MYGUI_TEMPLATES_DIR}/MYGUI.pc.in ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc @ONLY) + endif () +- install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION lib/pkgconfig) ++ install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + # configure additional packages + +diff -ru mygui-MyGUI3.2.2.orig/CMake/Utils/MyGUIConfigTargets.cmake mygui-MyGUI3.2.2/CMake/Utils/MyGUIConfigTargets.cmake +--- mygui-MyGUI3.2.2.orig/CMake/Utils/MyGUIConfigTargets.cmake 2015-01-26 10:32:35.000000000 -0500 ++++ mygui-MyGUI3.2.2/CMake/Utils/MyGUIConfigTargets.cmake 2015-03-14 01:08:44.905791784 -0400 +@@ -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") +@@ -60,6 +62,12 @@ + # 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 "" + ARCHIVE DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None "" +@@ -171,7 +179,13 @@ + endif () + add_executable(${PROJECTNAME} ${MYGUI_EXEC_TYPE} ${HEADER_FILES} ${SOURCE_FILES}) + endif () +- set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER}) ++ ++ # rename demo target^M ++ 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.2.2-underlinking.patch b/dev-games/mygui/files/mygui-3.2.2-underlinking.patch new file mode 100644 index 000000000000..2d1026856f03 --- /dev/null +++ b/dev-games/mygui/files/mygui-3.2.2-underlinking.patch @@ -0,0 +1,20 @@ +From: Julian Ospald +Date: Fri Jun 15 10:42:42 UTC 2012 +Subject: build system + +fix underlinking + +--- MyGUIEngine/CMakeLists.txt ++++ MyGUIEngine/CMakeLists.txt +@@ -48,7 +48,10 @@ + if (MYGUI_USE_FREETYPE) + target_link_libraries(${PROJECTNAME} + ${FREETYPE_LIBRARIES} +- ) ++ dl) ++else() ++ target_link_libraries(${PROJECTNAME} ++ dl) + endif() + + # platform specific dependencies diff --git a/dev-games/mygui/metadata.xml b/dev-games/mygui/metadata.xml new file mode 100644 index 000000000000..a86d18089e40 --- /dev/null +++ b/dev-games/mygui/metadata.xml @@ -0,0 +1,47 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + + altren@list.ru + Evmenov Georgiy + + http://redmine.mygui.info/repositories/entry/mygui/tags/MyGUI3.2/ChangeLog.txt + https://sourceforge.net/tracker/?group_id=193706&atid=946487 + MyGUI/mygui + + + Install some additional russian docs if 'doc' useflag enabled + Use the opengl render subsystem. (cannot combine with ogre) + Use the ogre render subsystem. (cannot combine with opengl) + Build MyGUI plugins + Install MyGUI demos (needs ogre USE flag) + Build the tools for development + + + 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. + + diff --git a/dev-games/mygui/mygui-3.2.2.ebuild b/dev-games/mygui/mygui-3.2.2.ebuild new file mode 100644 index 000000000000..60ec5b14954f --- /dev/null +++ b/dev-games/mygui/mygui-3.2.2.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +CMAKE_REMOVE_MODULES="yes" +CMAKE_REMOVE_MODULES_LIST="FindFreetype" +inherit eutils cmake-utils flag-o-matic multilib + +MY_PN=MyGUI +MY_P=${MY_PN}${PV} + +DESCRIPTION="A library for creating GUIs for games" +HOMEPAGE="http://mygui.info/" +SRC_URI="https://github.com/MyGUI/mygui/archive/${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug doc +ogre -opengl plugins samples static-libs test tools linguas_ru" +REQUIRED_USE="ogre? ( !opengl ) + opengl? ( !ogre )" + +RDEPEND=" + media-libs/freetype:2 + ogre? ( + dev-games/ogre:=[freeimage,opengl] + samples? ( dev-games/ois ) + ) + opengl? ( virtual/opengl + media-libs/glew ) + tools? ( dev-games/ois )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen )" + +S=${WORKDIR}/mygui-${MY_P} +STATIC_BUILD=${WORKDIR}/${P}_build_static + +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_prepare() { + epatch "${FILESDIR}"/${P}-underlinking.patch \ + "${FILESDIR}"/${P}-build.patch \ + "${FILESDIR}"/${P}-FHS.patch +} + +src_configure() { + use debug && append-cppflags -DDEBUG + + local mycmakeargs=() + + # static configuration + if use static-libs ; then + mycmakeargs=( -DMYGUI_STATIC=ON + -DMYGUI_BUILD_DOCS=OFF + -DMYGUI_INSTALL_DOCS=OFF + -DMYGUI_USE_FREETYPE=ON + $(cmake-utils_use plugins MYGUI_BUILD_PLUGINS) + -DMYGUI_BUILD_DEMOS=OFF + -DMYGUI_INSTALL_SAMPLES=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-utils_src_configure + unset mycmakeargs + fi + + # main configuration + mycmakeargs=( -DMYGUI_STATIC=OFF + $(cmake-utils_use doc MYGUI_BUILD_DOCS) + $(cmake-utils_use doc MYGUI_INSTALL_DOCS) + -DMYGUI_USE_FREETYPE=ON + $(cmake-utils_use plugins MYGUI_BUILD_PLUGINS) + $(usex ogre "$(cmake-utils_use samples MYGUI_BUILD_DEMOS)" "-DMYGUI_BUILD_DEMOS=OFF") + $(usex ogre "$(cmake-utils_use samples MYGUI_INSTALL_SAMPLES)" "-DMYGUI_INSTALL_SAMPLES=OFF") + $(cmake-utils_use tools MYGUI_BUILD_TOOLS) + $(cmake-utils_use tools MYGUI_INSTALL_TOOLS) + $(cmake-utils_use opengl MYGUI_USE_SYSTEM_GLEW) + -DMYGUI_BUILD_WRAPPER=OFF + -DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" "1")") ) + + if use tools || (use samples && use ogre) ; then + mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=ON ) + else + mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=OFF ) + fi + + cmake-utils_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-utils_src_compile + fi + + cmake-utils_src_compile + + use doc && emake -C "${CMAKE_BUILD_DIR}"/Docs api-docs +} + +src_install() { + cmake-utils_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 + dohtml -r "${CMAKE_BUILD_DIR}"/Docs/html/* + + if use linguas_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 "${D}"/usr/share/MYGUI/Media/UnitTests + # wrapper not available for linux, remove related media + rm -rf "${D}"/usr/share/MYGUI/Media/Wrapper +} + +pkg_postinst() { + einfo + elog "ogre.cfg and Ogre.log are created as" + elog "/etc/MYGUI/mygui-ogre.cfg and /etc/MYGUI/mygui-Ogre.log" + einfo +} -- cgit v1.2.3