commit:     6b4865a1287c56951646a800bec27e406d0e6e49
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 12 20:55:52 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 12 21:06:34 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b4865a1

games-fps/worldofpadman: update EAPI 7 -> 8, fix build issues, style

Closes: https://bugs.gentoo.org/921029
Closes: https://bugs.gentoo.org/944329
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 games-fps/worldofpadman/Manifest                   |   1 +
 .../files/worldofpadman-1.6-c23.patch              |  75 +++++++++++++++
 .../worldofpadman/worldofpadman-1.6-r4.ebuild      | 105 +++++++++++++++++++++
 3 files changed, 181 insertions(+)

diff --git a/games-fps/worldofpadman/Manifest b/games-fps/worldofpadman/Manifest
index 9422ff6081dc..180e0ba9fd81 100644
--- a/games-fps/worldofpadman/Manifest
+++ b/games-fps/worldofpadman/Manifest
@@ -1,2 +1,3 @@
 DIST wop-1.5-unified.zip 947290087 BLAKE2B 
5fb87cde661882fc095376012d9aca134d6399b4cedd4f3c78b739dd19e126360070278045d74c3318306e17490338111b8621e1c543b46e6bbecfbcd3658675
 SHA512 
fea0207efadf15afab7001227e27126aef4a673bd478dccb513c3011d0811074b2788083862f07e2f02f1a80ccb57a45ff64de8de155d8f8f7f1ab53ecf2402b
 DIST wop-1.5.x-to-1.6-patch-unified.zip 122204892 BLAKE2B 
a0f9feb04a15ec04dd64dbacdf5a158738d625651b2293bc8b3740067e849f33cdd144bce6afd11914524d89fe4bcfd48dbcbc455e51017b1216439e9bae484a
 SHA512 
a45018bd79e9e23c57bcaf692fa14c323671103558caad6acb794c2990cc5fe9cc8bdbe6a6c8254c4560d81eb59f5e3b9a6800a61b21a15870c4439f7179d936
+DIST worldofpadman-1.6-bison-3.patch.xz 14284 BLAKE2B 
9083243d12f59067c796c466e98061f601cf8fd07b9dd12718fd22ff1a9694fb57f2c55e204cddbd035209c9b7526f5b7297e53f742cf01a19a3cd0df491c5a8
 SHA512 
a8d54ed6041a3907e9d5fa2c61046e33022a1a80e10bf18db2140d8dfab42173f2fbdebcadf707f81d21395a574e68a20829170ca2067f1434874ea5856e4cce

diff --git a/games-fps/worldofpadman/files/worldofpadman-1.6-c23.patch 
b/games-fps/worldofpadman/files/worldofpadman-1.6-c23.patch
new file mode 100644
index 000000000000..b060afcf1641
--- /dev/null
+++ b/games-fps/worldofpadman/files/worldofpadman-1.6-c23.patch
@@ -0,0 +1,75 @@
+From 5604ddf69b47e314150191c56a04b7009d885160 Mon Sep 17 00:00:00 2001
+From: Tim Angus <[email protected]>
+Date: Sat, 8 Mar 2025 13:00:48 +0000
+Subject: [PATCH] Rename LCC constexpr function to constantexpr, avoiding C23
+ keyword clash
+
+fixes #349
+---
+ code/tools/lcc/src/c.h    | 2 +-
+ code/tools/lcc/src/init.c | 2 +-
+ code/tools/lcc/src/simp.c | 4 ++--
+ code/tools/lcc/src/stmt.c | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/code/tools/lcc/src/c.h b/code/tools/lcc/src/c.h
+index d8560a020..2260141e3 100644
+--- a/code/tools/lcc/src/c.h
++++ b/code/tools/lcc/src/c.h
+@@ -529,7 +529,7 @@ extern int process(char *);
+ extern int findfunc(char *, char *);
+ extern int findcount(char *, int, int);
+ 
+-extern Tree constexpr(int);
++extern Tree constantexpr(int);
+ extern int intexpr(int, int);
+ extern Tree simplify(int, Type, Tree, Tree);
+ extern int ispow2(unsigned long u);
+diff --git a/code/tools/lcc/src/init.c b/code/tools/lcc/src/init.c
+index 64d73d319..972abf530 100644
+--- a/code/tools/lcc/src/init.c
++++ b/code/tools/lcc/src/init.c
+@@ -190,7 +190,7 @@ static int initstruct(int len, Type ty, int lev) {
+       return n;
+ }
+ 
+-/* initializer - constexpr | { constexpr ( , constexpr )* [ , ] } */
++/* initializer - constantexpr | { constantexpr ( , constantexpr )* [ , ] } */
+ Type initializer(Type ty, int lev) {
+       int n = 0;
+       Tree e;
+diff --git a/code/tools/lcc/src/simp.c b/code/tools/lcc/src/simp.c
+index 9f4e3ecc3..50e83e484 100644
+--- a/code/tools/lcc/src/simp.c
++++ b/code/tools/lcc/src/simp.c
+@@ -167,7 +167,7 @@ static int subi(long x, long y, long min, long max, int 
needconst) {
+ static int subd(double x, double y, double min, double max, int needconst) {
+       return addd(x, -y, min, max, needconst);
+ }
+-Tree constexpr(int tok) {
++Tree constantexpr(int tok) {
+       Tree p;
+ 
+       needconst++;
+@@ -177,7 +177,7 @@ Tree constexpr(int tok) {
+ }
+ 
+ int intexpr(int tok, int n) {
+-      Tree p = constexpr(tok);
++      Tree p = constantexpr(tok);
+ 
+       needconst++;
+       if (p->op == CNST + I || p->op == CNST + U)
+diff --git a/code/tools/lcc/src/stmt.c b/code/tools/lcc/src/stmt.c
+index fe83e21f8..a65efc0ec 100644
+--- a/code/tools/lcc/src/stmt.c
++++ b/code/tools/lcc/src/stmt.c
+@@ -119,7 +119,7 @@
+                               static char stop[] = { IF, ID, 0 };
+                               Tree p;
+                               t = gettok();
+-                              p = constexpr(0);
++                              p = constantexpr(0);
+                               if (generic(p->op) == CNST && isint(p->type)) {
+                                       if (swp) {
+                                               needconst++;

diff --git a/games-fps/worldofpadman/worldofpadman-1.6-r4.ebuild 
b/games-fps/worldofpadman/worldofpadman-1.6-r4.ebuild
new file mode 100644
index 000000000000..f3d6af6b0180
--- /dev/null
+++ b/games-fps/worldofpadman/worldofpadman-1.6-r4.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop
+
+DESCRIPTION="Cartoon style multiplayer first-person shooter"
+HOMEPAGE="https://worldofpadman.net/";
+SRC_URI="https://downloads.sourceforge.net/${PN}/wop-1.5-unified.zip
+       
https://downloads.sourceforge.net/${PN}/wop-1.5.x-to-1.6-patch-unified.zip
+       https://dev.gentoo.org/~asturm/distfiles/${P}-bison-3.patch.xz";
+S="${WORKDIR}/${P}_svn2178-src"
+
+LICENSE="GPL-2 worldofpadman"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+curl dedicated maps +openal +theora +vorbis"
+
+RDEPEND="
+       sys-libs/zlib
+       !dedicated? (
+               media-libs/libjpeg-turbo
+               media-libs/libsdl[joystick,opengl,video,X]
+               >=media-libs/speex-1.2.0
+               media-libs/speexdsp
+               virtual/glu
+               virtual/opengl
+               curl? ( net-misc/curl )
+               openal? ( media-libs/openal )
+               theora? (
+                       media-libs/libogg
+                       media-libs/libtheora:=
+               )
+               vorbis? ( media-libs/libvorbis )
+       )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+
+DOCS=( id-readme.txt IOQ3-README voip-readme.txt 
../XTRAS/{changelog.txt,sounds_readme.txt} )
+
+PATCHES=(
+       "${FILESDIR}"/${P}-gentoo.patch
+       "${WORKDIR}"/${P}-bison-3.patch # bug 921029, in 1.6.1
+       "${FILESDIR}"/${P}-c23.patch # bug 944329, git main
+)
+
+src_unpack() {
+       unpack ${A}
+       unzip XTRAS/"editing files"/${P}-src.zip
+}
+
+src_prepare() {
+       default
+       sed -i \
+               -e 's:JPEG_LIB_VERSION < 80:JPEG_LIB_VERSION < 62:' \
+               code/renderer/tr_image_jpg.c || die #479652
+}
+
+src_compile() {
+       local arch
+
+       if use amd64 ; then
+               arch=x86_64
+       elif use x86 ; then
+               arch=i386
+       fi
+
+       local myemakeargs=(
+               V=1
+               ARCH=${arch}
+               BUILD_CLIENT=$(use dedicated && echo 0)
+               DEFAULT_BASEDIR=/usr/share/${PN}
+               OPTIMIZE=
+               USE_CURL=$(usex curl 1 0)
+               USE_CURL_DLOPEN=0
+               USE_OPENAL=$(usex openal 1 0)
+               USE_OPENAL_DLOPEN=0
+               USE_CODEC_VORBIS=$(usex vorbis 1 0)
+               USE_CIN_THEORA=$(usex theora 1 0)
+               USE_RENDERER_DLOPEN=0
+               USE_INTERNAL_ZLIB=0
+               USE_INTERNAL_JPEG=0
+               USE_INTERNAL_SPEEX=0
+       )
+
+       emake ${myemakeargs[@]}
+}
+
+src_install() {
+       newbin build/release-*/wopded.* ${PN}-ded
+
+       if ! use dedicated ; then
+               newbin build/release-*/wop.* ${PN}
+               newicon misc/quake3.png ${PN}.png
+               make_desktop_entry ${PN} "World of Padman"
+       fi
+
+       insinto /usr/share/${PN}
+       doins -r ../wop
+
+       local HTML_DOCS=( ../XTRAS/{readme,readme.html} )
+       einstalldocs
+}

Reply via email to