summaryrefslogtreecommitdiff
path: root/games-engines/odamex
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-19 01:54:17 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-19 01:54:17 +0000
commit89e7f1cd6dd17f245898939477ef38d45dd112b9 (patch)
tree6b02444048d0d92ccbf6f3e8c538c152f57086c2 /games-engines/odamex
parent1252b7a51c2cc6bd3a81830544cacce0aefc0bf1 (diff)
gentoo auto-resync : 19:12:2023 - 01:54:16
Diffstat (limited to 'games-engines/odamex')
-rw-r--r--games-engines/odamex/Manifest4
-rw-r--r--games-engines/odamex/files/odamex-10.4.0-backport-pr928.patch66
-rw-r--r--games-engines/odamex/odamex-10.4.0-r1.ebuild1
-rw-r--r--games-engines/odamex/odamex-10.4.0.ebuild87
4 files changed, 69 insertions, 89 deletions
diff --git a/games-engines/odamex/Manifest b/games-engines/odamex/Manifest
index f1932488abfd..c0f895fddf2f 100644
--- a/games-engines/odamex/Manifest
+++ b/games-engines/odamex/Manifest
@@ -1,5 +1,5 @@
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
DIST odamex-src-10.4.0.tar.gz 24233204 BLAKE2B 377f14db15a367db3e84267a1483d5e138291fcefe53c2d522d2767ddd4a804df7ab31726d8818497c1eed93e6f0658fa4f855b6f4b0610f378a4ef3aab180b6 SHA512 12c114181aaf50e8c1f8c04d6e252f422fe887b5dc0be21974f5c1ac6645e1988091af638eb68fb9667ec4c7c2bdd5bb49981546644c33e90c80a9baefe2c930
-EBUILD odamex-10.4.0-r1.ebuild 2282 BLAKE2B f9fa08e428e31fa400a258ded6413343fa9c54cab60d4899123c00e2a505dd036483182557ac5b853f6aca3804f9fe65ebd4c61a5287319ca3cfeb2537f1c7cc SHA512 029b559631cfd50442b23e8274cc437946ac60b29fe9aff50e59651cad80b1d51414340b73da44201bbbe2eed8ec5ec8530e9ecd1ab293aa8296a7cbe8ccdaaa
-EBUILD odamex-10.4.0.ebuild 2182 BLAKE2B 81af80e1d38971828369a1b67ace9761809205d0145862781542bfbbd4b615074d663e0c35fa2e5d567f6b67416a0775bca24cd27a41a47c45ca298fb2008555 SHA512 795b9e65dbaaac5dedb5bf39f0ee5022f724f47b52bef3999cdb78da069734c7915a7489a884e239f6c233c77a6541eecfb74bd027c7919edf8100c867953cb6
+EBUILD odamex-10.4.0-r1.ebuild 2331 BLAKE2B bdfbe799368797857fc071ef52dfec743fc06dcd1a99630e58bac36d9915a2cd13d436ce2917365cf63e77f0efce482b6976d803fe2f0f42aee81c6efff5a82c SHA512 ea8b2f456cc459932b9a304752c207c62194df5db1c183ce5b0180e5521bc843e4a8549071535b6a2e53dfa02a9d83d43967bd9981cfa92a42494236f7e77440
MISC metadata.xml 1438 BLAKE2B 2cd891e631cb9ee0182c30d9aa8a9e69089f32fb12b44f8e4a62372e40db8f89a9701411dcb3bb86937d50e035452359cb95d2bbd5b4a74d2057cb77872196ad SHA512 72f2858c111b40de8ba9da3b5d52f673ce0847fd4036e1582dc9ce56432b3e08a61ef650fc253072789a6d00167c8312158d8be374dbbfbdd5473ab75cb447af
diff --git a/games-engines/odamex/files/odamex-10.4.0-backport-pr928.patch b/games-engines/odamex/files/odamex-10.4.0-backport-pr928.patch
new file mode 100644
index 000000000000..7d6871847814
--- /dev/null
+++ b/games-engines/odamex/files/odamex-10.4.0-backport-pr928.patch
@@ -0,0 +1,66 @@
+https://bugs.gentoo.org/849866
+https://github.com/odamex/odamex/pull/928
+
+From b952137ac487a6558e1796c86d8fd55b8b3c9025 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Wed, 6 Dec 2023 01:01:29 -0500
+Subject: [PATCH] Fix auto-SIMD for i386+sse2, ppc+altivec
+
+Only Darwin ever used -faltivec, gcc uses -maltivec since at least 2007:
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30254#c1
+
+Similarly, recent versions of gcc define __APPLE_ALTIVEC__ for
+compatibility, so just unconditionally include altivec.h.
+
+Canonical way to enable specific extensions is e.g. -msse2, use that
+instead of optimizing for a specific CPU.
+
+Finally, cmake uses target_compile_options to add arbitrary flags.
+target_compile_definitions assumes you want a preprocessor definition,
+which was adding "-D-faltivec" to the command line which gcc doesn't
+like; this is what originally prompted this change.
+---
+ client/CMakeLists.txt | 11 +++++++----
+ client/src/r_drawt_altivec.cpp | 2 --
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index 646164916..56caf04f8 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -169,14 +169,17 @@ if(TARGET SDL2::SDL2 OR TARGET SDL::SDL)
+ message(STATUS "Default SIMD flags not touched for AMD64")
+ elseif(ODAMEX_TARGET_ARCH STREQUAL "i386")
+ if(NOT MSVC)
+- # Pentium M has SSE2.
+- target_compile_definitions(odamex PRIVATE -march=pentium-m)
++ target_compile_options(odamex PRIVATE -msse2)
+ else()
+- target_compile_definitions(odamex PRIVATE /arch:SSE2)
++ target_compile_options(odamex PRIVATE /arch:SSE2)
+ endif()
+ message(STATUS "Default SIMD flags set to SSE2")
+ elseif(ODAMEX_TARGET_ARCH MATCHES "ppc")
+- target_compile_definitions(odamex PRIVATE -faltivec)
++ if(APPLE)
++ target_compile_options(odamex PRIVATE -faltivec)
++ else()
++ target_compile_options(odamex PRIVATE -maltivec)
++ endif()
+ message(STATUS "Default SIMD flags set to AltiVec")
+ endif()
+ else()
+diff --git a/client/src/r_drawt_altivec.cpp b/client/src/r_drawt_altivec.cpp
+index eea758733..5a0cdf95e 100644
+--- a/client/src/r_drawt_altivec.cpp
++++ b/client/src/r_drawt_altivec.cpp
+@@ -36,9 +36,7 @@
+ #include "r_main.h"
+ #include "i_video.h"
+
+-#if !defined(__APPLE_ALTIVEC__)
+ #include <altivec.h>
+-#endif
+
+ #define ALTIVEC_ALIGNED(x) x __attribute__((aligned(16)))
+
diff --git a/games-engines/odamex/odamex-10.4.0-r1.ebuild b/games-engines/odamex/odamex-10.4.0-r1.ebuild
index cf946901e853..5a5077b6ca54 100644
--- a/games-engines/odamex/odamex-10.4.0-r1.ebuild
+++ b/games-engines/odamex/odamex-10.4.0-r1.ebuild
@@ -42,6 +42,7 @@ S="${WORKDIR}/${PN}-src-${PV}"
PATCHES=(
"${FILESDIR}"/${PN}-10.3.0-unbundle-fltk.patch
+ "${FILESDIR}"/${PN}-10.4.0-backport-pr928.patch
)
src_prepare() {
diff --git a/games-engines/odamex/odamex-10.4.0.ebuild b/games-engines/odamex/odamex-10.4.0.ebuild
deleted file mode 100644
index 594869339e54..000000000000
--- a/games-engines/odamex/odamex-10.4.0.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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="https://github.com/${PN}/${PN}/releases/download/${PV}/${PN}-src-${PV}.tar.gz"
-
-LICENSE="GPL-2+ MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~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
-)
-
-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
- 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
-}