summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-engines/odamex/Manifest1
-rw-r--r--games-engines/odamex/files/odamex-0.8.1-miniupnpc.patch48
-rw-r--r--games-engines/odamex/metadata.xml11
-rw-r--r--games-engines/odamex/odamex-0.8.1.ebuild78
4 files changed, 133 insertions, 5 deletions
diff --git a/games-engines/odamex/Manifest b/games-engines/odamex/Manifest
index 471256adcaf..722a82bbe72 100644
--- a/games-engines/odamex/Manifest
+++ b/games-engines/odamex/Manifest
@@ -1 +1,2 @@
DIST odamex-src-0.7.0.tar.bz2 8435860 BLAKE2B 9720efdf262047074fed593360b0c38864d5d0f9c076a45d6df9aaf362cba35f41eeafab968338be0911681726872c33e3625934176f75068ca4933655876f7b SHA512 410f3c2588e4d57006e5bb50eaa0f6c1a83cf197ce40daabb958667483eb6c85138206ac74b8aee64c4208c4360415ad16d1698534be5c7abec1493a0f91aa8b
+DIST odamex-src-0.8.1.tar.bz2 8520197 BLAKE2B 9744460f2a2bff375cbf80416a38212e7576a4ef6874d2647c1371dc66b464666d67dd69ac61c918c51bee6da0150cbb70799eb81fc2fd7ff62edaec332241a5 SHA512 5cdd05df9683c9b26cac5e2947f5365405b0c6239890d89ab962f4ac088788148bb1eabc15e80b0f13fca0dea69bffcd9e80e8aa80c6ac0a5d7e63b0bd983642
diff --git a/games-engines/odamex/files/odamex-0.8.1-miniupnpc.patch b/games-engines/odamex/files/odamex-0.8.1-miniupnpc.patch
new file mode 100644
index 00000000000..5fca5815162
--- /dev/null
+++ b/games-engines/odamex/files/odamex-0.8.1-miniupnpc.patch
@@ -0,0 +1,48 @@
+From 656306d3e68f7f1f1441f03e1765530f34ea2611 Mon Sep 17 00:00:00 2001
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu, 27 Mar 2014 21:16:02 +0000
+Subject: [PATCH] unbundle miniupnpc
+
+---
+ CMakeLists.txt | 1 -
+ server/CMakeLists.txt | 5 ++---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0cafdbd5..00e033a9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -124,7 +124,6 @@ if (USE_MINIUPNP)
+ set(UPNPC_BUILD_TESTS OFF CACHE INTERNAL "" FORCE)
+ set(UPNPC_INSTALL OFF CACHE INTERNAL "" FORCE)
+ mark_as_advanced(FORCE UPNPC_INSTALL)
+- add_subdirectory(libraries/libminiupnpc)
+ endif()
+
+ # Subdirectories for Odamex projects
+diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
+index d8e57257..5badceef 100644
+--- a/server/CMakeLists.txt
++++ b/server/CMakeLists.txt
+@@ -35,8 +35,7 @@ set(JSONCPP_SOURCE ${JSONCPP_DIR}/jsoncpp.cpp)
+
+ # MiniUPnPc
+ if (USE_MINIUPNP)
+- set(MINIUPNPC_DIR ../libraries/libminiupnpc)
+- set(MINIUPNPC_STATIC_LIBRARIES upnpc-static)
++ set(MINIUPNPC_DIR /usr/include/miniupnpc)
+ endif()
+
+ # git describe
+@@ -74,7 +73,7 @@ add_executable(odasrv
+ ${SERVER_WIN32_HEADERS} ${SERVER_WIN32_RESOURCES})
+
+ if (USE_MINIUPNP)
+- target_link_libraries(odasrv ${MINIUPNPC_STATIC_LIBRARIES})
++ target_link_libraries(odasrv -lminiupnpc)
+ endif()
+
+ if(WIN32)
+--
+2.23.0
+
diff --git a/games-engines/odamex/metadata.xml b/games-engines/odamex/metadata.xml
index 39562f87b32..608f36b8bc4 100644
--- a/games-engines/odamex/metadata.xml
+++ b/games-engines/odamex/metadata.xml
@@ -6,18 +6,19 @@
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="person">
- <email>mwoodj@knology.net</email>
- <name>Mike Wood</name>
+ <email>vilhelm.gray@gmail.com</email>
+ <name>William Breathitt Gray</name>
</maintainer>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<use>
- <flag name="odalaunch">Build the wxwidgets based launcher.</flag>
+ <flag name="client">Build client target</flag>
<flag name="master">Build master server target (advertises odamex server list)</flag>
- <flag name="portmidi">Enable portmidi support.</flag>
- <flag name="server">Build server target.</flag>
+ <flag name="odalaunch">Build the wxWidgets based launcher</flag>
+ <flag name="portmidi">Enable PortMidi support</flag>
+ <flag name="server">Build server target</flag>
</use>
<upstream>
<changelog>http://odamex.net/changelog.php</changelog>
diff --git a/games-engines/odamex/odamex-0.8.1.ebuild b/games-engines/odamex/odamex-0.8.1.ebuild
new file mode 100644
index 00000000000..687e1349aab
--- /dev/null
+++ b/games-engines/odamex/odamex-0.8.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER="3.0"
+inherit cmake-utils desktop wxwidgets xdg
+
+DESCRIPTION="Online multiplayer free software engine for DOOM"
+HOMEPAGE="https://odamex.net/"
+SRC_URI="mirror://sourceforge/${PN}/Odamex/${PV}/${PN}-src-${PV}.tar.bz2"
+
+LICENSE="GPL-2+ MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+client master +odalaunch portmidi server upnp X"
+REQUIRED_USE="|| ( client master server )"
+
+RDEPEND="
+ client? (
+ media-libs/libpng:0=
+ media-libs/libsdl2[joystick,sound,video]
+ media-libs/sdl2-mixer
+ odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+ portmidi? ( media-libs/portmidi )
+ X? ( x11-libs/libX11 )
+ )
+ server? (
+ upnp? ( net-libs/miniupnpc:= )
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="games-util/deutex"
+
+S="${WORKDIR}/${PN}-src-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-miniupnpc.patch
+)
+
+src_prepare() {
+ rm -r libraries/libminiupnpc odamex.wad || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CLIENT=$(usex client)
+ -DBUILD_MASTER=$(usex master)
+ -DBUILD_ODALAUNCH=$(usex odalaunch)
+ -DBUILD_SERVER=$(usex server)
+ -DENABLE_PORTMIDI=$(usex portmidi)
+ -DUSE_MINIUPNP=$(usex upnp)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ # Build odamex.wad
+ cd wad || die "cd failed"
+ deutex -rgb 0 255 255 -doom2 bootstrap -build wadinfo.txt ../odamex.wad || die
+}
+
+src_install() {
+ if use client ; then
+ newicon -s 128 "${S}/media/icon_${PN}_128.png" "${PN}.png"
+ make_desktop_entry "${PN} -waddir /usr/share/doom" "Odamex"
+
+ if use odalaunch ; then
+ newicon -s 128 "${S}/media/icon_odalaunch_128.png" "odalaunch.png"
+ make_desktop_entry odalaunch "Odamex Launcher" odalaunch
+ fi
+ fi
+
+ cmake-utils_src_install
+}