summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2023-11-24 14:24:19 +0100
committerPacho Ramos <pacho@gentoo.org>2023-11-24 14:24:19 +0100
commitb90fe51277e6621a2e5c247c0a0df812b500b205 (patch)
treeeca1b3f21c9c7e904c0a9933f781ad113e6bf999
parentgnome-extra/gnome-shell-extension-applications-overview-tooltip: fix EmptyGlo... (diff)
downloadgentoo-b90fe512.tar.gz
gentoo-b90fe512.tar.bz2
gentoo-b90fe512.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>
-rw-r--r--games-strategy/megaglest/Manifest5
-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, 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
+}