From f4106f0cb3d17dc4c85cd4d45816e2c18a8d29e2 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 20 Mar 2024 01:00:14 +0000 Subject: gentoo auto-resync : 20:03:2024 - 01:00:13 --- games-engines/odamex/Manifest | 4 +- games-engines/odamex/files/odamex-lto.patch | 41 ++++++++++ .../odamex/files/odamex-odalaunch-prefix.patch | 64 +++++++++++++++ games-engines/odamex/odamex-10.4.0-r1.ebuild | 92 --------------------- games-engines/odamex/odamex-10.4.0-r2.ebuild | 94 ++++++++++++++++++++++ 5 files changed, 202 insertions(+), 93 deletions(-) create mode 100644 games-engines/odamex/files/odamex-lto.patch create mode 100644 games-engines/odamex/files/odamex-odalaunch-prefix.patch delete mode 100644 games-engines/odamex/odamex-10.4.0-r1.ebuild create mode 100644 games-engines/odamex/odamex-10.4.0-r2.ebuild (limited to 'games-engines/odamex') diff --git a/games-engines/odamex/Manifest b/games-engines/odamex/Manifest index 678f391cdeee..b5f1cbdf2603 100644 --- a/games-engines/odamex/Manifest +++ b/games-engines/odamex/Manifest @@ -1,5 +1,7 @@ AUX odamex-10.3.0-unbundle-fltk.patch 3556 BLAKE2B 8aa1fd752c465a89566edab409c2df03ce1bae7a3ae1fdf3749fbce90cef81d1315f1f677f3090d676ad514df957a043cfd02c497d03673c248d55b02ee89768 SHA512 3facbcb43f0bc516e85c6030d66fc03c2c0b11d25ed30bac1947cbffd1f3123e173c46e02b198215dc5b4aac7fccbf1bfe9aeaf54db6c0d159d7bd6d3abd3797 AUX odamex-10.4.0-backport-pr928.patch 2485 BLAKE2B 50219598fd899548148642b97af7cf228a28f0717b44c01fd0cad724a72a7183bbd223e4d65ab22b1581fef395b4dd5142e65787eec9748865e1d46681a4dbad SHA512 6a791b4736375e0cd3158a3c65a3f2ab83b96196fd3b4510bddf80aaedac1827f8914f528bdf5e520a891423edc5cdce72675f66a6dce0e50f4c3970c744fd8d +AUX odamex-lto.patch 1570 BLAKE2B 9284ff378e543b26a9871a21017ee93c5b0b426c1b3eb813fcc23b990ea1712993cf932a6c0beedbe2a6eddc9c908533470b7334c7167a265ef3170df6f5d995 SHA512 865b136f47f07ecebb94771435d9fba2b8768ad989713492242f71720a023863e71c23561afd101ff19075d8d5df0c6e4d30851a6a6366d77620b8ea30d4785c +AUX odamex-odalaunch-prefix.patch 1890 BLAKE2B 948054a8b66aacc68b000635a15c17544cf745ba87c71a89b230e76e5b316d41c929fbe792904c76ca2d474d810ac6880a99ba28bed07b04b039b0496af0d7e7 SHA512 8de4a39999af6a1e1f040d26d2c0ed4f1bc100b6c5c407fd6b75408e21cdea3b94a7052432f3e1229816ed7094ce95a7b2f2b8467a2aa8df5a1cf4ccb8c0e7f4 DIST odamex-src-10.4.0.tar.gz 24233204 BLAKE2B 377f14db15a367db3e84267a1483d5e138291fcefe53c2d522d2767ddd4a804df7ab31726d8818497c1eed93e6f0658fa4f855b6f4b0610f378a4ef3aab180b6 SHA512 12c114181aaf50e8c1f8c04d6e252f422fe887b5dc0be21974f5c1ac6645e1988091af638eb68fb9667ec4c7c2bdd5bb49981546644c33e90c80a9baefe2c930 -EBUILD odamex-10.4.0-r1.ebuild 2338 BLAKE2B 8261e85912d865e7d46bcd91bc762ff01cc1d828e36a8a7a4d93a0c782281c25f6295d057a32d22965b76a267074549e4b2ae831b05f491237ccbe8b4dd9d76a SHA512 3c7d0cde60ca24225939d6628a34fddc7dbed8b3add367f4e447f2fe89a7cec5ecd136d89f8c1809c981d6af5d1bf5ae1154b85d1ba1cc2dbf044a1011bb90ab +EBUILD odamex-10.4.0-r2.ebuild 2469 BLAKE2B 41f8d1b03d1d6ddf61c582b2ff070b6d4048de1e39cf0579887836ec7d0582803ad6efdd7421a56abfc700356840789ac0265423d4a76fad2c03dc3b1724acfb SHA512 aefe0c08b32ee8d31b32c4dbf3f20df922fe4403a0276678537ceecbca09fa2baf2d4fe7bd5d7216bc7a3afbea2854c2f1b0c8c27dd51d75639ab995815b68b2 MISC metadata.xml 1438 BLAKE2B 2cd891e631cb9ee0182c30d9aa8a9e69089f32fb12b44f8e4a62372e40db8f89a9701411dcb3bb86937d50e035452359cb95d2bbd5b4a74d2057cb77872196ad SHA512 72f2858c111b40de8ba9da3b5d52f673ce0847fd4036e1582dc9ce56432b3e08a61ef650fc253072789a6d00167c8312158d8be374dbbfbdd5473ab75cb447af diff --git a/games-engines/odamex/files/odamex-lto.patch b/games-engines/odamex/files/odamex-lto.patch new file mode 100644 index 000000000000..20d9d88c002b --- /dev/null +++ b/games-engines/odamex/files/odamex-lto.patch @@ -0,0 +1,41 @@ +https://github.com/odamex/odamex/pull/942 + +diff --git a/client/src/cl_parse.cpp b/client/src/cl_parse.cpp +index cdadbbdf2..e15c45edc 100644 +--- a/client/src/cl_parse.cpp ++++ b/client/src/cl_parse.cpp +@@ -2354,7 +2354,7 @@ static void CL_SectorProperties(const odaproto::svc::SectorProperties* msg) + break; + } + case SPC_Gravity: +- *(int*)§or->gravity = msg->sector().gravity(); ++ *§or->gravity = msg->sector().gravity(); + break; + case SPC_Panning: + sector->ceiling_xoffs = msg->sector().ceiling_offs().x(); +diff --git a/common/p_spec.cpp b/common/p_spec.cpp +index df1a42a6a..d0a5af419 100644 +--- a/common/p_spec.cpp ++++ b/common/p_spec.cpp +@@ -465,7 +465,7 @@ void DPusher::Serialize (FArchive &arc) + else + { + arc >> m_Type; +- arc.ReadObject((DObject*&)m_Source, DPusher::StaticType()); ++ arc.ReadObject((DObject*&)*m_Source, DPusher::StaticType()); + arc >> m_Xmag >> m_Ymag >> m_Magnitude >> m_Radius >> m_X >> m_Y >> m_Affectee; + } + } +diff --git a/odalpapi/net_io.cpp b/odalpapi/net_io.cpp +index d6dd666fe..16f136374 100644 +--- a/odalpapi/net_io.cpp ++++ b/odalpapi/net_io.cpp +@@ -194,7 +194,7 @@ void BufferedSocket::SetRemoteAddress(const string& Address, const uint16_t& Por + + m_RemoteAddress.sin_family = PF_INET; + m_RemoteAddress.sin_port = htons(Port); +- m_RemoteAddress.sin_addr.s_addr = *((unsigned long*)&(((sockaddr_in*)result->ai_addr)->sin_addr)); ++ m_RemoteAddress.sin_addr = ((sockaddr_in*)result->ai_addr)->sin_addr; + memset(m_RemoteAddress.sin_zero, '\0', sizeof m_RemoteAddress.sin_zero); + + freeaddrinfo(result); diff --git a/games-engines/odamex/files/odamex-odalaunch-prefix.patch b/games-engines/odamex/files/odamex-odalaunch-prefix.patch new file mode 100644 index 000000000000..cf293e60f9e1 --- /dev/null +++ b/games-engines/odamex/files/odamex-odalaunch-prefix.patch @@ -0,0 +1,64 @@ +From 04e38b9fcb8a71a7b0b1b5bc1c1f229f2ff7a0a8 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Mon, 18 Mar 2024 22:54:16 +0000 +Subject: [PATCH] Always define INSTALL_PREFIX to fix paths for odalaunch + +Without INSTALL_PREFIX, it was falling back to the current directory and +failing to launch the game. +--- + CMakeLists.txt | 5 +++++ + client/CMakeLists.txt | 5 ----- + server/CMakeLists.txt | 5 ----- + 3 files changed, 5 insertions(+), 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 147060cb1..97c447424 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,6 +26,11 @@ include(GNUInstallDirs OPTIONAL) + add_definitions(-DINSTALL_BINDIR="${CMAKE_INSTALL_BINDIR}") + add_definitions(-DINSTALL_DATADIR="${CMAKE_INSTALL_DATADIR}") + ++# Set up FHS installation path ++if(NOT APPLE AND NOT WIN32) ++ add_definitions(-DINSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}") ++endif() ++ + if(WIN32) + set(USE_INTERNAL_LIBS 1) + else() +diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt +index 56caf04f8..0559564c7 100644 +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -128,11 +128,6 @@ if(APPLE) + ${AUDIOUNIT_LIBRARY}) + endif() + +-# Set up FHS installation path +-if(NOT APPLE AND NOT WIN32) +- add_definitions(-DINSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}") +-endif() +- + # Client target + if(TARGET SDL2::SDL2 OR TARGET SDL::SDL) + +diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt +index e5b54d8de..9afc6c2c6 100644 +--- a/server/CMakeLists.txt ++++ b/server/CMakeLists.txt +@@ -37,11 +37,6 @@ if(WIN32 AND NOT MSVC) + add_definitions(-DWINVER=0x0500) + endif() + +-# Set up FHS installation path +-if(NOT APPLE AND NOT WIN32) +- add_definitions(-DINSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}") +-endif() +- + add_executable(odasrv + ${COMMON_SOURCES} ${SERVER_SOURCES} ${SERVER_WIN32_SOURCES}) + odamex_target_settings(odasrv) +-- +2.43.2 + diff --git a/games-engines/odamex/odamex-10.4.0-r1.ebuild b/games-engines/odamex/odamex-10.4.0-r1.ebuild deleted file mode 100644 index db3f6bd5532a..000000000000 --- a/games-engines/odamex/odamex-10.4.0-r1.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -WX_GTK_VER="3.2-gtk3" -inherit cmake desktop prefix wxwidgets xdg - -DESCRIPTION="Online multiplayer free software engine for DOOM" -HOMEPAGE="https://odamex.net/" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${PN}-src-${PV}.tar.gz" - -LICENSE="GPL-2+ MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" -IUSE="+client hidpi master +odalaunch portmidi server upnp X" -REQUIRED_USE="|| ( client master server )" - -# protobuf is still bundled. Unfortunately an old version is required for C++98 -# compatibility. We could use C++11, but upstream is concerned about using a -# completely different protobuf version on a multiplayer-focused engine. - -RDEPEND=" - client? ( - media-libs/libpng:0= - media-libs/libsdl2[joystick,sound,video] - media-libs/sdl2-mixer - net-misc/curl - !hidpi? ( x11-libs/fltk:1 ) - portmidi? ( media-libs/portmidi ) - X? ( x11-libs/libX11 ) - ) - odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) - server? ( - dev-libs/jsoncpp:= - upnp? ( net-libs/miniupnpc:= ) - )" -DEPEND="${RDEPEND}" -BDEPEND="games-util/deutex" - -S="${WORKDIR}/${PN}-src-${PV}" - -PATCHES=( - "${FILESDIR}"/${PN}-10.3.0-unbundle-fltk.patch - "${FILESDIR}"/${PN}-10.4.0-backport-pr928.patch -) - -src_prepare() { - rm -r libraries/miniupnp || die - hprefixify common/d_main.cpp - - use odalaunch && setup-wxwidgets - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DUSE_INTERNAL_FLTK=$(usex hidpi) - -DUSE_INTERNAL_JSONCPP=0 - -DUSE_INTERNAL_LIBS=0 - -DUSE_INTERNAL_MINIUPNP=0 - -DBUILD_CLIENT=$(usex client) - -DBUILD_LAUNCHER=$(usex odalaunch) - -DBUILD_MASTER=$(usex master) - -DBUILD_SERVER=$(usex server) - -DBUILD_OR_FAIL=1 - -DENABLE_PORTMIDI=$(usex portmidi) - -DUSE_MINIUPNP=$(usex upnp) - ) - use client && mycmakeargs+=(-DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X)) - - cmake_src_configure -} - -src_install() { - if use client ; then - for size in 96 128 256 512; do - newicon -s ${size} "${S}/media/icon_${PN}_${size}.png" "${PN}.png" - done - make_desktop_entry "${PN}" "Odamex" - - if use odalaunch ; then - for size in 96 128 256 512; do - newicon -s ${size} "${S}/media/icon_odalaunch_${size}.png" "odalaunch.png" - done - make_desktop_entry odalaunch "Odamex Launcher" odalaunch - fi - fi - - cmake_src_install -} diff --git a/games-engines/odamex/odamex-10.4.0-r2.ebuild b/games-engines/odamex/odamex-10.4.0-r2.ebuild new file mode 100644 index 000000000000..97ddf96efce4 --- /dev/null +++ b/games-engines/odamex/odamex-10.4.0-r2.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER="3.0-gtk3" # odalaunch crashes with 3.2. Check it before updating! +inherit cmake desktop prefix wxwidgets xdg + +DESCRIPTION="Online multiplayer free software engine for DOOM" +HOMEPAGE="https://odamex.net/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${PN}-src-${PV}.tar.gz" + +LICENSE="GPL-2+ MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="+client hidpi master +odalaunch portmidi server upnp X" +REQUIRED_USE="|| ( client master server )" + +# protobuf is still bundled. Unfortunately an old version is required for C++98 +# compatibility. We could use C++11, but upstream is concerned about using a +# completely different protobuf version on a multiplayer-focused engine. + +RDEPEND=" + client? ( + media-libs/libpng:0= + media-libs/libsdl2[joystick,sound,video] + media-libs/sdl2-mixer + net-misc/curl + !hidpi? ( x11-libs/fltk:1 ) + portmidi? ( media-libs/portmidi ) + X? ( x11-libs/libX11 ) + ) + odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) + server? ( + dev-libs/jsoncpp:= + upnp? ( net-libs/miniupnpc:= ) + )" +DEPEND="${RDEPEND}" +BDEPEND="games-util/deutex" + +S="${WORKDIR}/${PN}-src-${PV}" + +PATCHES=( + "${FILESDIR}"/${PN}-10.3.0-unbundle-fltk.patch + "${FILESDIR}"/${PN}-10.4.0-backport-pr928.patch + "${FILESDIR}"/${PN}-odalaunch-prefix.patch + "${FILESDIR}"/${PN}-lto.patch +) + +src_prepare() { + rm -r libraries/miniupnp || die + hprefixify common/d_main.cpp + + use odalaunch && setup-wxwidgets + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DUSE_INTERNAL_FLTK=$(usex hidpi) + -DUSE_INTERNAL_JSONCPP=0 + -DUSE_INTERNAL_LIBS=0 + -DUSE_INTERNAL_MINIUPNP=0 + -DBUILD_CLIENT=$(usex client) + -DBUILD_LAUNCHER=$(usex odalaunch) + -DBUILD_MASTER=$(usex master) + -DBUILD_SERVER=$(usex server) + -DBUILD_OR_FAIL=1 + -DENABLE_PORTMIDI=$(usex portmidi) + -DUSE_MINIUPNP=$(usex upnp) + ) + use client && mycmakeargs+=(-DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X)) + + cmake_src_configure +} + +src_install() { + if use client ; then + for size in 96 128 256 512; do + newicon -s ${size} "${S}/media/icon_${PN}_${size}.png" "${PN}.png" + done + make_desktop_entry "${PN}" "Odamex" + + if use odalaunch ; then + for size in 96 128 256 512; do + newicon -s ${size} "${S}/media/icon_odalaunch_${size}.png" "odalaunch.png" + done + make_desktop_entry odalaunch "Odamex Launcher" odalaunch + fi + fi + + cmake_src_install +} -- cgit v1.2.3