summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-engines/odamex')
-rw-r--r--games-engines/odamex/Manifest1
-rw-r--r--games-engines/odamex/files/odamex-0.8.2-Fix-odamex.wad-build-flow.patch71
-rw-r--r--games-engines/odamex/files/odamex-0.8.2-Remove-duplicate-build-rule-for-odamex.wad.patch26
-rw-r--r--games-engines/odamex/metadata.xml8
-rw-r--r--games-engines/odamex/odamex-0.8.2.ebuild77
5 files changed, 179 insertions, 4 deletions
diff --git a/games-engines/odamex/Manifest b/games-engines/odamex/Manifest
index 26a10f206ce9..f7cb0fefbc61 100644
--- a/games-engines/odamex/Manifest
+++ b/games-engines/odamex/Manifest
@@ -1 +1,2 @@
+DIST odamex-src-0.8.2.tar.bz2 8502115 BLAKE2B bf4acaea1c9ce81966886bdfef35d361f84dab02e32ec4fd11fe8d250b76c6ca86c0b2870f38382961949713059a2944eea50c6f4d05a41411799386ab3acc64 SHA512 bb3e2427ede7267afce8bb2b852eed3f8d2ed9cf17c5b15a264d6821d170c49dccea06ea0742d9dc7cfe42518701342572689b57ec6712f4b818bd0e25b436c8
DIST odamex-src-0.8.1.tar.bz2 8520197 BLAKE2B 9744460f2a2bff375cbf80416a38212e7576a4ef6874d2647c1371dc66b464666d67dd69ac61c918c51bee6da0150cbb70799eb81fc2fd7ff62edaec332241a5 SHA512 5cdd05df9683c9b26cac5e2947f5365405b0c6239890d89ab962f4ac088788148bb1eabc15e80b0f13fca0dea69bffcd9e80e8aa80c6ac0a5d7e63b0bd983642
diff --git a/games-engines/odamex/files/odamex-0.8.2-Fix-odamex.wad-build-flow.patch b/games-engines/odamex/files/odamex-0.8.2-Fix-odamex.wad-build-flow.patch
new file mode 100644
index 000000000000..e90617c38ea7
--- /dev/null
+++ b/games-engines/odamex/files/odamex-0.8.2-Fix-odamex.wad-build-flow.patch
@@ -0,0 +1,71 @@
+From 03581f45a3563d3d79075fe0e85e6fb52e864b76 Mon Sep 17 00:00:00 2001
+From: William Breathitt Gray <vilhelm.gray@gmail.com>
+Date: Sat, 4 Apr 2020 22:38:26 -0400
+Subject: [PATCH] Fix odamex.wad build flow
+
+The odamex.wad file should be built in the proper build directory;
+building in the source tree confuses CMake and causes it to attempt to
+rebuild a second time. This patch also removes odawad dependency for the
+Odamex client and server executables.
+---
+ wad/CMakeLists.txt | 40 ++++++++++++++++++++++------------------
+ 1 file changed, 22 insertions(+), 18 deletions(-)
+
+diff --git a/wad/CMakeLists.txt b/wad/CMakeLists.txt
+index c09b0d1a..349ce0df 100644
+--- a/wad/CMakeLists.txt
++++ b/wad/CMakeLists.txt
+@@ -4,28 +4,32 @@ find_program(DEUTEX deutex)
+ if(DEUTEX)
+ message("Found DeuTex: ${DEUTEX}")
+
+- file(REMOVE odamex.wad)
+- add_custom_command(OUTPUT odamex.wad
+- COMMAND ${DEUTEX} -rgb 0 255 255 -doom2 bootstrap -build wadinfo.txt odamex.wad
++ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad
++ COMMAND ${DEUTEX} -rgb 0 255 255 -doom2 bootstrap -build wadinfo.txt ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad
+ VERBATIM)
+
+- add_custom_target(odawad DEPENDS odamex.wad)
++ add_custom_target(odawad ALL
++ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad)
+
+- if(BUILD_CLIENT)
+- add_dependencies(odamex odawad)
++ if(WIN32)
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad
++ DESTINATION .
++ COMPONENT common)
++ else()
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad
++ DESTINATION ${CMAKE_INSTALL_DATADIR}/odamex
++ COMPONENT common)
+ endif()
+- if(BUILD_SERVER)
+- add_dependencies(odasrv odawad)
+- endif()
+-endif()
+-
+-if(WIN32)
+- install(FILES odamex.wad
+- DESTINATION .
+- COMPONENT common)
+ else()
+- install(FILES odamex.wad
+- DESTINATION ${CMAKE_INSTALL_DATADIR}/odamex
+- COMPONENT common)
++ if(WIN32)
++ install(FILES odamex.wad
++ DESTINATION .
++ COMPONENT common)
++ else()
++ install(FILES odamex.wad
++ DESTINATION ${CMAKE_INSTALL_DATADIR}/odamex
++ COMPONENT common)
++ endif()
+ endif()
+--
+2.26.0
+
diff --git a/games-engines/odamex/files/odamex-0.8.2-Remove-duplicate-build-rule-for-odamex.wad.patch b/games-engines/odamex/files/odamex-0.8.2-Remove-duplicate-build-rule-for-odamex.wad.patch
new file mode 100644
index 000000000000..1b1bcf55d9e6
--- /dev/null
+++ b/games-engines/odamex/files/odamex-0.8.2-Remove-duplicate-build-rule-for-odamex.wad.patch
@@ -0,0 +1,26 @@
+From 2d80f79770f43d19e1af2c7b04a41078b860a46a Mon Sep 17 00:00:00 2001
+From: William Breathitt Gray <vilhelm.gray@gmail.com>
+Date: Wed, 8 Apr 2020 11:47:45 -0400
+Subject: [PATCH] Remove duplicate build rule for odamex.wad
+
+The odamex.wad file shouldn't be listed in BYPRODUCTS because it's
+already listed as the OUTPUT of the add_custom_command.
+---
+ wad/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/wad/CMakeLists.txt b/wad/CMakeLists.txt
+index 349ce0df..7b948ea3 100644
+--- a/wad/CMakeLists.txt
++++ b/wad/CMakeLists.txt
+@@ -7,7 +7,6 @@ if(DEUTEX)
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad
+ COMMAND ${DEUTEX} -rgb 0 255 255 -doom2 bootstrap -build wadinfo.txt ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/odamex.wad
+ VERBATIM)
+
+ add_custom_target(odawad ALL
+--
+2.26.0
+
diff --git a/games-engines/odamex/metadata.xml b/games-engines/odamex/metadata.xml
index 608f36b8bc45..29a83742d57b 100644
--- a/games-engines/odamex/metadata.xml
+++ b/games-engines/odamex/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<maintainer type="person">
<email>vilhelm.gray@gmail.com</email>
<name>William Breathitt Gray</name>
@@ -13,6 +9,10 @@
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="client">Build client target</flag>
<flag name="master">Build master server target (advertises odamex server list)</flag>
diff --git a/games-engines/odamex/odamex-0.8.2.ebuild b/games-engines/odamex/odamex-0.8.2.ebuild
new file mode 100644
index 000000000000..572889edd825
--- /dev/null
+++ b/games-engines/odamex/odamex-0.8.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER="3.0-gtk3"
+inherit cmake desktop prefix 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 ~arm ~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}"/odamex-0.8.1-miniupnpc.patch
+ "${FILESDIR}"/odamex-0.8.1-SearchDir.patch
+ "${FILESDIR}"/odamex-0.8.2-Fix-odamex.wad-build-flow.patch
+ "${FILESDIR}"/odamex-0.8.2-Remove-duplicate-build-rule-for-odamex.wad.patch
+)
+
+src_prepare() {
+ rm -r libraries/libminiupnpc wad/odamex.wad || die
+ hprefixify common/d_main.cpp
+
+ use odalaunch && setup-wxwidgets
+
+ cmake_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_src_configure
+}
+
+src_install() {
+ if use client ; then
+ newicon -s 128 "${S}/media/icon_${PN}_128.png" "${PN}.png"
+ make_desktop_entry "${PN}" "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_src_install
+}