diff options
author | Pacho Ramos <pacho@gentoo.org> | 2023-11-24 14:24:19 +0100 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2023-11-24 14:24:19 +0100 |
commit | b90fe51277e6621a2e5c247c0a0df812b500b205 (patch) | |
tree | eca1b3f21c9c7e904c0a9933f781ad113e6bf999 /games-strategy/megaglest | |
parent | gnome-extra/gnome-shell-extension-applications-overview-tooltip: fix EmptyGlo... (diff) | |
download | gentoo-b90fe51277e6621a2e5c247c0a0df812b500b205.tar.gz gentoo-b90fe51277e6621a2e5c247c0a0df812b500b205.tar.bz2 gentoo-b90fe51277e6621a2e5c247c0a0df812b500b205.zip |
games-strategy/megaglest: update EAPI 7 -> 8
Closes: https://bugs.gentoo.org/810499
Closes: https://bugs.gentoo.org/831908
Closes: https://bugs.gentoo.org/833791
Signed-off-by: Pacho Ramos <pacho@gentoo.org>
Diffstat (limited to 'games-strategy/megaglest')
8 files changed, 339 insertions, 0 deletions
diff --git a/games-strategy/megaglest/Manifest b/games-strategy/megaglest/Manifest index 93e25e85b0b7..2e49657c50e6 100644 --- a/games-strategy/megaglest/Manifest +++ b/games-strategy/megaglest/Manifest @@ -1 +1,6 @@ +DIST megaglest-3.13.0-412b37d0.patch 779 BLAKE2B 317743191d54eb4d57d96ce5793cfc059e9f82f2e9ca9c2bba197909e40b2574b05aab47e5ba07b8181eb705e9668b7673a8c88468c3120b4d3ff3e22ae55b24 SHA512 3ececb0b9f4e704bbf6e072c8b12c02a86b27b8289843afd6d1ea5342fae25a347b342c8204873a5954f5cb9dbed6af7d6ea9c9d3f1ac1de46152a23fde4b828 +DIST megaglest-3.13.0-5801b1fa.patch 5691 BLAKE2B 3f0b01ed1bce432c6d5f7d882d6e846475015919f1a0c1f1c740582accc3b957d73edda3a3dfc488706424041b5fe1141ce9a911500baab599cea9505a2958e2 SHA512 93c4a9e829c5eb9d1924f423c62a3213421121cd14781e1c80f4fb1a0ffdcbb492bae12e7b0ef0f8e3018c4da886d02b2ac122e05738901edfdb16a5b653e824 +DIST megaglest-3.13.0-789e1cdf.patch 1543 BLAKE2B f75ce901683b6a9f9578ec6987101f10e9c5f3e5295aab4e3ccbe0ca37a8136d70f775654321d67614c31bec96312bc3ea334ed97e599ec73825771bb657045d SHA512 6ee86999341bb12dbc6db8c3f532c052400ab685d0c3ec3e286682eba30fd075623073dbb2427155f255f0555b42c3884ac8405f07ab2429e6809e1a5dbd5aa0 +DIST megaglest-3.13.0-e09ba53c.patch 3485 BLAKE2B fa0c94b88726f239957b3fb950c6be2be18e564bbf2cfbc809a069961edae0023d69d629cdaab73ca31bb731fbf0dbbd2103a8b84c3f857f423d08addacde706 SHA512 4785ff6c1967aaacd8e674cdd6f3a2ecd038cd1951a2337899f5d9654376c7549360f65ed36bc9f0e108f6fff809486f38a6f641afc694b248c6a47b1b1f1ebb +DIST megaglest-3.13.0-fbd0cfb1.patch 1820 BLAKE2B b3a1bf7ca1b51d948b354e4b9cd2d675dadac7b9f072e11032f117479c5199d1f7cfd87146da46a40387bfeaef8433144e37410aa8c92865048744ae31ffd730 SHA512 960fe1be66eb1737e9292c5956c09902e6761ed8de56d864950268e3e8a5184f59b7cf3521629aeb460842f4423699526d5dd71fa0494c7ac2899cab117e7f45 DIST megaglest-source-3.13.0.tar.xz 1979440 BLAKE2B 9df70502e0dddc754897c989222d0bddbebbb781a16f49ffa2dd30ee1dbd3e88249ccd600fbde8dab712a1286e29651bebfc9add0d255b675e9eb0ca5ba60153 SHA512 5ae74efce55d7ec9f38d7701da9c865458e15223b5a3c5ac829e09dc81e63fbea2a235cae99450ea7333044c5166af82a762a29c5793c75711d1200688518b5c diff --git a/games-strategy/megaglest/files/megaglest-3.13.0-GLEW_ERROR_NO_GLX_DISPLAY.patch b/games-strategy/megaglest/files/megaglest-3.13.0-GLEW_ERROR_NO_GLX_DISPLAY.patch new file mode 100644 index 000000000000..7855baa2273f --- /dev/null +++ b/games-strategy/megaglest/files/megaglest-3.13.0-GLEW_ERROR_NO_GLX_DISPLAY.patch @@ -0,0 +1,12 @@ +diff -up megaglest-source-3.13.0/source/shared_lib/sources/platform/sdl/gl_wrap.cpp.ignore-GLEW_ERROR_NO_GLX_DISPLAY megaglest-source-3.13.0/source/shared_lib/sources/platform/sdl/gl_wrap.cpp +--- megaglest-source-3.13.0/source/shared_lib/sources/platform/sdl/gl_wrap.cpp.ignore-GLEW_ERROR_NO_GLX_DISPLAY 2022-10-17 09:47:51.084267697 -0400 ++++ megaglest-source-3.13.0/source/shared_lib/sources/platform/sdl/gl_wrap.cpp 2022-10-17 09:48:35.079555790 -0400 +@@ -301,7 +301,7 @@ void PlatformContextGl::init(int colorBi + + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s %d] AFTER glewInit call err = %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,err); + +- if (GLEW_OK != err) { ++ if (GLEW_OK != err && GLEW_ERROR_NO_GLX_DISPLAY != err) { + if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__); + + fprintf(stderr, "Error [main]: glewInit failed: %s\n", glewGetErrorString(err)); diff --git a/games-strategy/megaglest/files/megaglest-3.13.0-fbd0cfb1.patch b/games-strategy/megaglest/files/megaglest-3.13.0-fbd0cfb1.patch new file mode 100644 index 000000000000..6f2eb91847e2 --- /dev/null +++ b/games-strategy/megaglest/files/megaglest-3.13.0-fbd0cfb1.patch @@ -0,0 +1,75 @@ +From fbd0cfb17ed759d24aeb577a602b0d97f7895cc2 Mon Sep 17 00:00:00 2001 +From: titiger <titi_linux@megaglest.org> +Date: Sat, 29 May 2021 02:41:40 +0200 +Subject: [PATCH] get rid of manual wxPaintEvent creation + +--- + source/glest_map_editor/main.cpp | 19 +++++++------------ + 1 file changed, 7 insertions(+), 12 deletions(-) + +diff --git a/source/glest_map_editor/main.cpp b/source/glest_map_editor/main.cpp +index 3a799c864..889a1dea8 100644 +--- a/source/glest_map_editor/main.cpp ++++ b/source/glest_map_editor/main.cpp +@@ -545,8 +545,7 @@ MainWindow::~MainWindow() { + } + + void MainWindow::setDirty(bool val) { +- wxPaintEvent ev; +- onPaint(ev); ++ refreshThings(); + if (fileModified && val) { + return; + } +@@ -582,8 +581,8 @@ void MainWindow::onMouseDown(wxMouseEvent &event, int x, int y) { + if (!isDirty()) { + setDirty(true); + } +- wxPaintEvent ev; +- onPaint(ev); ++ ++ refreshThings(); + } + event.Skip(); + } +@@ -593,18 +592,16 @@ void MainWindow::onMouseWheelDown(wxMouseEvent &event) { + if(program == NULL) { + return; + } +- wxPaintEvent ev; + program->incCellSize(1); +- onPaint(ev); ++ refreshThings(); + } + + void MainWindow::onMouseWheelUp(wxMouseEvent &event) { + if(program == NULL) { + return; + } +- wxPaintEvent ev; + program->incCellSize(-1); +- onPaint(ev); ++ refreshThings(); + } + + void MainWindow::onMouseMove(wxMouseEvent &event, int x, int y) { +@@ -651,8 +648,7 @@ void MainWindow::onMouseMove(wxMouseEvent &event, int x, int y) { + lastY = y; + + if (repaint) { +- wxPaintEvent ev; +- onPaint(ev); ++ refreshThings(); + } + event.Skip(); + } +@@ -866,8 +862,7 @@ void MainWindow::onMenuEditReset(wxCommandEvent &event) { + currentFile = ""; + fileName = "New (unsaved) map"; + +- wxPaintEvent ev; +- onPaint(ev); ++ refreshThings(); + } + + void MainWindow::onMenuEditResetPlayers(wxCommandEvent &event) { diff --git a/games-strategy/megaglest/files/megaglest-3.13.0-fix-lua-version-ordering.patch b/games-strategy/megaglest/files/megaglest-3.13.0-fix-lua-version-ordering.patch new file mode 100644 index 000000000000..60ab155946f0 --- /dev/null +++ b/games-strategy/megaglest/files/megaglest-3.13.0-fix-lua-version-ordering.patch @@ -0,0 +1,12 @@ +diff -up megaglest-source-3.13.0/mk/cmake/Modules/ReqVersAndStaticConf.cmake.fix-lua-version-ordering megaglest-source-3.13.0/mk/cmake/Modules/ReqVersAndStaticConf.cmake +--- megaglest-source-3.13.0/mk/cmake/Modules/ReqVersAndStaticConf.cmake.fix-lua-version-ordering 2022-10-17 09:17:11.429220699 -0400 ++++ megaglest-source-3.13.0/mk/cmake/Modules/ReqVersAndStaticConf.cmake 2022-10-17 09:17:25.388312109 -0400 +@@ -57,7 +57,7 @@ IF(NOT DEFINED FORCE_LUA_VERSION) + SET(FORCE_LUA_VERSION "OFF" CACHE STRING "Try to force some specific lua version (for example older). On the list may be also not existing versions yet for future use." FORCE) + ENDIF() + SET_PROPERTY(CACHE FORCE_LUA_VERSION PROPERTY STRINGS OFF 5.5 5.4 5.3 5.2 5.1 5.0) +-SET(ALL_LUA_VERSIONS_IN_ORDER 5.3 5.2 5.1 5.4 5.5 5.0) ++SET(ALL_LUA_VERSIONS_IN_ORDER 5.4 5.3 5.2 5.1 5.5 5.0) + + IF(STATIC_JPEG) + SET(JPEG_NAMES jpeg.a libjpeg.a ${JPEG_NAMES}) diff --git a/games-strategy/megaglest/files/megaglest-3.13.0-help2man.patch b/games-strategy/megaglest/files/megaglest-3.13.0-help2man.patch new file mode 100644 index 000000000000..efb8fcbf01d4 --- /dev/null +++ b/games-strategy/megaglest/files/megaglest-3.13.0-help2man.patch @@ -0,0 +1,12 @@ +diff -up megaglest-3.13.0/source/g3d_viewer/CMakeLists.txt.orig megaglest-3.13.0/source/g3d_viewer/CMakeLists.txt +--- megaglest-3.13.0/source/g3d_viewer/CMakeLists.txt.orig 2019-09-24 15:36:04.938321806 -0300 ++++ megaglest-3.13.0/source/g3d_viewer/CMakeLists.txt 2019-09-24 15:36:34.633526679 -0300 +@@ -207,7 +207,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER) + MESSAGE(STATUS "***-- Found xvfb-run: ${XVFB_EXEC} about to build manpage with it.") + + add_custom_target(${TARGET_NAME_MANPAGE} ALL +- COMMAND ${XVFB_EXEC} --auto-servernum --server-num=770 ${HELP2MAN} --no-discard-stderr --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} ++ COMMAND ${XVFB_EXEC} --auto-servernum ${HELP2MAN} --name='${MG_MANPAGE_DESCRIPTION}' --section=6 -N -o ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE} ${HELP2MAN_OUT_PATH}${TARGET_NAME} + DEPENDS ${TARGET_NAME}) + ELSE() + add_custom_target(${TARGET_NAME_MANPAGE} ALL diff --git a/games-strategy/megaglest/files/megaglest-3.13.0-multiple-definitions.patch b/games-strategy/megaglest/files/megaglest-3.13.0-multiple-definitions.patch new file mode 100644 index 000000000000..657b70fe228d --- /dev/null +++ b/games-strategy/megaglest/files/megaglest-3.13.0-multiple-definitions.patch @@ -0,0 +1,46 @@ +diff -up megaglest-3.13.0/source/shared_lib/include/feathery_ftp/ftpTypes.h.orig megaglest-3.13.0/source/shared_lib/include/feathery_ftp/ftpTypes.h +--- megaglest-3.13.0/source/shared_lib/include/feathery_ftp/ftpTypes.h.orig 2020-03-30 13:56:49.360323060 -0300 ++++ megaglest-3.13.0/source/shared_lib/include/feathery_ftp/ftpTypes.h 2020-03-30 13:58:21.924743049 -0300 +@@ -69,7 +69,7 @@ typedef uint16_t port_t; + extern "C" { + #endif + +-int VERBOSE_MODE_ENABLED; ++extern int VERBOSE_MODE_ENABLED; + + typedef ip_t (*ftpFindExternalFTPServerIpType)(ip_t clientIp); + typedef void (*ftpAddUPNPPortForwardType)(int internalPort, int externalPort); +@@ -77,11 +77,11 @@ typedef void (*ftpRemoveUPNPPortForwardT + typedef int (*ftpIsValidClientType)(ip_t clientIp); + typedef int (*ftpIsClientAllowedToGetFileType)(ip_t clientIp, const char *username, const char *filename); + +-ftpFindExternalFTPServerIpType ftpFindExternalFTPServerIp; +-ftpAddUPNPPortForwardType ftpAddUPNPPortForward; +-ftpRemoveUPNPPortForwardType ftpRemoveUPNPPortForward; +-ftpIsValidClientType ftpIsValidClient; +-ftpIsClientAllowedToGetFileType ftpIsClientAllowedToGetFile; ++extern ftpFindExternalFTPServerIpType ftpFindExternalFTPServerIp; ++extern ftpAddUPNPPortForwardType ftpAddUPNPPortForward; ++extern ftpRemoveUPNPPortForwardType ftpRemoveUPNPPortForward; ++extern ftpIsValidClientType ftpIsValidClient; ++extern ftpIsClientAllowedToGetFileType ftpIsClientAllowedToGetFile; + + #ifdef __cplusplus + } +diff -up megaglest-3.13.0/source/shared_lib/sources/feathery_ftp/ftpRuntime.c.orig megaglest-3.13.0/source/shared_lib/sources/feathery_ftp/ftpRuntime.c +--- megaglest-3.13.0/source/shared_lib/sources/feathery_ftp/ftpRuntime.c.orig 2020-03-30 13:56:56.412355058 -0300 ++++ megaglest-3.13.0/source/shared_lib/sources/feathery_ftp/ftpRuntime.c 2020-03-30 13:58:30.524782070 -0300 +@@ -30,6 +30,13 @@ + #include "ftp.h" + #include "ftpMessages.h" + ++int VERBOSE_MODE_ENABLED; ++ ++ftpFindExternalFTPServerIpType ftpFindExternalFTPServerIp; ++ftpAddUPNPPortForwardType ftpAddUPNPPortForward; ++ftpRemoveUPNPPortForwardType ftpRemoveUPNPPortForward; ++ftpIsValidClientType ftpIsValidClient; ++ftpIsClientAllowedToGetFileType ftpIsClientAllowedToGetFile; + + /** + * @brief server-sockets that listens for incoming connections diff --git a/games-strategy/megaglest/files/megaglest-3.13.0-underlink.patch b/games-strategy/megaglest/files/megaglest-3.13.0-underlink.patch new file mode 100644 index 000000000000..646132fe3c66 --- /dev/null +++ b/games-strategy/megaglest/files/megaglest-3.13.0-underlink.patch @@ -0,0 +1,12 @@ +diff -up megaglest-3.13.0/source/shared_lib/CMakeLists.txt.orig megaglest-3.13.0/source/shared_lib/CMakeLists.txt +--- megaglest-3.13.0/source/shared_lib/CMakeLists.txt.orig 2019-09-24 15:38:49.867482131 -0300 ++++ megaglest-3.13.0/source/shared_lib/CMakeLists.txt 2019-09-24 15:39:00.045556832 -0300 +@@ -109,7 +109,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD + FIND_PACKAGE(OpenGL REQUIRED) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + IF(UNIX) +- SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY}) ++ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY} -lX11) + ENDIF() + + FIND_PACKAGE(X11 REQUIRED) diff --git a/games-strategy/megaglest/megaglest-3.13.0-r1.ebuild b/games-strategy/megaglest/megaglest-3.13.0-r1.ebuild new file mode 100644 index 000000000000..abc3ccab6973 --- /dev/null +++ b/games-strategy/megaglest/megaglest-3.13.0-r1.ebuild @@ -0,0 +1,165 @@ +# Copyright 2010-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Todo: google-breakpad? + +EAPI=8 + +# src_install() currently requires this +CMAKE_MAKEFILE_GENERATOR="emake" + +LUA_COMPAT=( lua5-{1..4} ) + +# Only needed by certain features +VIRTUALX_REQUIRED="manual" + +WX_GTK_VER="3.0-gtk3" +inherit cmake desktop lua-single readme.gentoo-r1 virtualx wxwidgets xdg-utils + +DESCRIPTION="Cross-platform 3D realtime strategy game" +HOMEPAGE="https://megaglest.org/ https://github.com/MegaGlest/megaglest-source" +SRC_URI="https://github.com/MegaGlest/megaglest-source/releases/download/${PV}/megaglest-source-${PV}.tar.xz + https://github.com/MegaGlest/megaglest-source/commit/789e1cdf.patch -> ${P}-789e1cdf.patch + https://github.com/MegaGlest/megaglest-source/commit/5801b1fa.patch -> ${P}-5801b1fa.patch + https://github.com/MegaGlest/megaglest-source/commit/412b37d0.patch -> ${P}-412b37d0.patch + https://github.com/MegaGlest/megaglest-source/commit/e09ba53c.patch -> ${P}-e09ba53c.patch + https://github.com/MegaGlest/megaglest-source/commit/fbd0cfb1.patch -> ${P}-fbd0cfb1.patch +" + +LICENSE="GPL-3 BitstreamVera" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="debug +editor fribidi cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 +streflop +tools +unicode wxuniversal +model-viewer videos" + +REQUIRED_USE="${LUA_REQUIRED_USE}" + +RDEPEND=" + ${LUA_DEPS} + ~games-strategy/${PN}-data-${PV} + dev-libs/libxml2 + dev-libs/xerces-c[icu] + media-libs/fontconfig + media-libs/freetype + media-libs/ftgl + media-libs/glew:= + net-libs/libircclient + media-libs/libpng:0 + media-libs/libsdl2[X,sound,joystick,opengl,video] + media-libs/libvorbis + media-libs/openal + net-libs/gnutls:= + net-libs/miniupnpc:= + net-misc/curl + sys-libs/zlib + virtual/opengl + virtual/glu + virtual/jpeg:0= + x11-libs/libX11 + x11-libs/libXext + editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) + fribidi? ( dev-libs/fribidi ) + model-viewer? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) + videos? ( media-video/vlc ) +" +DEPEND="${RDEPEND}" + +BDEPEND="sys-apps/help2man + virtual/pkgconfig + editor? ( ${VIRTUALX_DEPEND} ) + model-viewer? ( ${VIRTUALX_DEPEND} )" + +PATCHES=( + "${FILESDIR}/${PN}-3.11.1-cmake-lua.patch" + + # From Fedora and Arch + "${FILESDIR}/${P}-underlink.patch" + "${FILESDIR}/${P}-fix-lua-version-ordering.patch" + "${FILESDIR}/${P}-multiple-definitions.patch" + "${FILESDIR}/${P}-GLEW_ERROR_NO_GLX_DISPLAY.patch" + "${FILESDIR}/${P}-help2man.patch" + + # Fix build with wxWidgets 3.2 + "${DISTDIR}/${P}-789e1cdf.patch" + "${DISTDIR}/${P}-5801b1fa.patch" + "${DISTDIR}/${P}-412b37d0.patch" + "${DISTDIR}/${P}-e09ba53c.patch" + "${FILESDIR}/${P}-fbd0cfb1.patch" +) + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS="DO NOT directly edit glest.ini and glestkeys.ini but rather glestuser.ini +and glestuserkeys.ini in ~/.megaglest/ and create your user over-ride +values in these files. + +If you have an older graphics card which only supports OpenGL 1.2, and the +game crashes when you try to play, try starting with 'megaglest --disable-vbo' +Some graphics cards may require setting Max Lights to 1. +" + +src_prepare() { + cmake_src_prepare + + if use editor || use model-viewer ; then + setup-wxwidgets + fi +} + +src_configure() { + if use cpu_flags_x86_sse3; then + SSE=3 + elif use cpu_flags_x86_sse2; then + SSE=2 + elif use cpu_flags_x86_sse; then + SSE=1 + else + SSE=0 + fi + + local mycmakeargs=( + -DWANT_GIT_STAMP=OFF + -DWANT_USE_FriBiDi="$(usex fribidi)" + -DBUILD_MEGAGLEST_MAP_EDITOR="$(usex editor)" + -DBUILD_MEGAGLEST_MODEL_IMPORT_EXPORT_TOOLS="$(usex tools)" + -DBUILD_MEGAGLEST_MODEL_VIEWER="$(usex model-viewer)" + -DWANT_USE_VLC="$(usex videos)" + -DFORCE_LUA_VERSION="$(lua_get_version)" + -DFORCE_MAX_SSE_LEVEL="${SSE}" + -DWANT_USE_FTGL=ON + -DWANT_STATIC_LIBS=OFF + -DWANT_USE_STREFLOP="$(usex streflop)" + -DwxWidgets_USE_STATIC=OFF + -DwxWidgets_USE_UNICODE="$(usex unicode)" + -DwxWidgets_USE_UNIVERSAL="$(usex wxuniversal)" + + $(usex debug "-DBUILD_MEGAGLEST_UPNP_DEBUG=ON -DwxWidgets_USE_DEBUG=ON" "") + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +src_install() { + # rebuilds some targets randomly without fast option + emake -C "${BUILD_DIR}" DESTDIR="${D}" "$@" install/fast + + dodoc docs/{AUTHORS.source_code,CHANGELOG,README}.txt + + use editor && + make_desktop_entry ${PN}_editor "MegaGlest Map Editor" + use model-viewer && + make_desktop_entry ${PN}_g3dviewer "MegaGlest Model Viewer" + + readme.gentoo_create_doc + einstalldocs +} + +pkg_postinst() { + xdg_icon_cache_update + readme.gentoo_print_elog +} + +pkg_postrm() { + xdg_icon_cache_update +} |