summaryrefslogtreecommitdiff
path: root/games-strategy/megaglest
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-24 16:33:11 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-24 16:33:11 +0000
commitfaddeff65d652bda3291eba255955adb17f1aa19 (patch)
tree4352e6d85ce48c7c8d96159fad4d3dd90602a70a /games-strategy/megaglest
parent0e7b1da874d923b9f006e0000023f5fa528140a8 (diff)
gentoo auto-resync : 24:11:2023 - 16:33:11
Diffstat (limited to 'games-strategy/megaglest')
-rw-r--r--games-strategy/megaglest/Manifest12
-rw-r--r--games-strategy/megaglest/files/megaglest-3.13.0-GLEW_ERROR_NO_GLX_DISPLAY.patch12
-rw-r--r--games-strategy/megaglest/files/megaglest-3.13.0-fbd0cfb1.patch75
-rw-r--r--games-strategy/megaglest/files/megaglest-3.13.0-fix-lua-version-ordering.patch12
-rw-r--r--games-strategy/megaglest/files/megaglest-3.13.0-help2man.patch12
-rw-r--r--games-strategy/megaglest/files/megaglest-3.13.0-multiple-definitions.patch46
-rw-r--r--games-strategy/megaglest/files/megaglest-3.13.0-underlink.patch12
-rw-r--r--games-strategy/megaglest/megaglest-3.13.0-r1.ebuild165
8 files changed, 346 insertions, 0 deletions
diff --git a/games-strategy/megaglest/Manifest b/games-strategy/megaglest/Manifest
index 2a46289f2198..2ff3b7e8e580 100644
--- a/games-strategy/megaglest/Manifest
+++ b/games-strategy/megaglest/Manifest
@@ -1,4 +1,16 @@
AUX megaglest-3.11.1-cmake-lua.patch 848 BLAKE2B ae918da49eb8bac6add4cd0df27f2e58cc632a3b5c3fc188fefd7152cbdff83e255bab9cdcd17580ef564ca99a88fc4715ed103001463981d7053d8338c3d5ca SHA512 33b1a3bb6fc0fed9cc30d5cd88aed4b738b831625e0d1a33cf11dfd0252b9bf8b5c2cbdfd1a8f62b4b683562e7d6fb824675850ac79ce7f74ce4d7e41feb7076
+AUX megaglest-3.13.0-GLEW_ERROR_NO_GLX_DISPLAY.patch 1003 BLAKE2B 50f45e1598c55da1c12f8baa7a4bd19e14cc81f7c12e5b28bec7220cd0e8b09878071796db2700fea8c0a9ae6b776b9ff2cb495d20fcd49addd92b1d82ca0dab SHA512 483cbaab13e3f850986ffd903c811a48ec12d5a122f46cc25fe74b895db71ce5abd706ae32f59445820e12ed87a29bd28c389e76cf1ae37b6f36d90777439844
+AUX megaglest-3.13.0-fbd0cfb1.patch 1822 BLAKE2B 48503b231e061de8e7fdb60a013d80cdd97626c062a7955fa4fd05624e9727e5a78220eb230fa3e85c1dc3e570014ced4a33339d043748dad8b35339a69d0dc5 SHA512 b941d06f5f4fd5e3f9fba615142147041bb9693c61b5568f9f488b9453c7ce9b21e8a3371bd8e7c7988baa47e7528169fc2ab321ca87d34653f96138039d3506
+AUX megaglest-3.13.0-fix-lua-version-ordering.patch 920 BLAKE2B 28661ec9a525fc9944bb38d7b06713420284759168c50b6c628decc6b571ec1aeb6b627b5d89c3bdec167a4b1fe961a74676d13d576a32cad27a2ff31beae19c SHA512 97d0e6bd1acf1fd9e0ced79eeee994598bd109cceb2a340ec65d65d0f4c847575143ccb7e957bff0eea075ea9188960499f9028c53eaa75ec6c886595ae94504
+AUX megaglest-3.13.0-help2man.patch 1000 BLAKE2B da7ef05b17a2d06a11f1c684af0dcf6575313305623aeb89f9d7036e57efd27616d4e0272720b1293602797bff5e70d6eb380972fab98ef22213d0aa23bb5169 SHA512 5a474aca1b4ce745efecc06f8327b29c742f7704b11e75937e0da3cce2fbe332ebb4f69b56dee676b816f869a85555fb81c166a2dcd5fe7aad7f56417996a77d
+AUX megaglest-3.13.0-multiple-definitions.patch 2322 BLAKE2B 581b8df98d1eac77f1a4f2ab90dc6706cc6e4c5c8bbf37430aca0eb6cec7ef2a0662690a3ca50b52ad3f903b6d8ed69146a8aea25c3ca36227204b59b3048f40 SHA512 2d1b45643f18532ed20a499f4f626e725ef6ff4ab94998abcc911d1dd6bd1874d01fdb1813cc61d0ccdce4ddedc7eed47b821bb1f0d284a635ffb648659907ce
+AUX megaglest-3.13.0-underlink.patch 609 BLAKE2B 74a00d1c160d1ec811ac86a27156b19a1c4207ae642714ac09b7938d5b36ac26176ed8cc79fb1d6baca8117d3c04ca0551d1678015b277804eeaf46ccdbaac61 SHA512 e32b3c1d2983207651db9ae4e38ee503cf3ab8a4c9c635c5fdd6e6fc4fd50a332e5d42905b72207705757359c2b68cc21fecfbc2be3e004bb0a7a8eceb935c3a
+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
+EBUILD megaglest-3.13.0-r1.ebuild 4537 BLAKE2B faacacad0b6a04d95e806e0689f4e10437a55941d574dc92cc91ec4d3095e8d8e910adb7666b76bfbb5a79482c4ffbc1829f9e5c473c667b2e091703e0447640 SHA512 59e26cba7f046e000558afada8c880a2855d38799e22e217c8983bf7e6926a28d70d20320673554d4be27f87dc1d05016201c822e29ccbd7c4ddc26b7cc64cfb
EBUILD megaglest-3.13.0.ebuild 3681 BLAKE2B 637c56194556b157e5eabf97051e27a3c988a92d52ba028299490ce5038fb9ff46186e2d59fc689931c4582789d5ef5738f79588c901b14c5ad2a211dc6d613d SHA512 36f9bd1b500ee3c5d05b0df26a862a11db2b7602ff87608a6af8b7191fe3b93def37c697879862fbf038900d1327510f8da64d6cb897a0abb2a5e5fcfc3935a6
MISC metadata.xml 1622 BLAKE2B f4d7dddd0d654cefb22fe3acc00d366501a5fa93243bef3336965fffe2f8500f94eed915e5adf7655a8e1f7a28fcbc2fc49d99a2cdf2899173ffe819cdfdfa80 SHA512 5b65d3bf4ccf9619350293d3669e7a001fcb0f4addcb0c50f56c6ccba2239b87507a796a34d5fc5c3b2d144e740057496220aff2d0699a41db5f37ae8eaad2bc
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
+}