diff options
Diffstat (limited to 'games-engines/odamex')
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 +} |