games-fps/gzdoom: Version bump to 4.14.1

Closes: https://bugs.gentoo.org/938158
Closes: https://bugs.gentoo.org/949070
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
This commit is contained in:
James Le Cuirot
2025-03-09 22:40:11 +00:00
parent ed0146261a
commit b4b104c868
3 changed files with 297 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST gzdoom-4.12.2.tar.gz 25910359 BLAKE2B 3f456136cfc161d67451d8bf1f359d748d6f30f4461a3bff4ab6b02fd949e4057dcbee79eae9ebc0566e33d2f1f3f42add18417b1932e3bccf8b4d5cae9b9a38 SHA512 1e9f34af0d5bf9f3797e0cfef01f993c0b8a742ba0af53b4b13cbce9ecefa15f22949bdbbba5a09e890a01dc32af81806fcb6fc632e0dc9261494580782a5007
DIST gzdoom-4.14.1.tar.gz 25970736 BLAKE2B 49012b47288d6d4ad0806abb6b33ed2a9dbb3fffbf65135b4c37f6c7d48bf7943a81a718ab91b787b07e4d0a42853e2a21c8a3c05693e7979d42bf812a46d864 SHA512 43589366d3311ca55e595852c526eeaf24a89decb7a029ddc4363019a61459a8da7d5ca43f1edffe9bfd44189af40fec40351857956d78b57d8db920a1a84a92

View File

@@ -0,0 +1,196 @@
From 71f121fe54b16f1e4b3022825dcda3cddc12e6cb Mon Sep 17 00:00:00 2001
From: James Le Cuirot <chewi@gentoo.org>
Date: Sun, 9 Mar 2025 12:34:44 +0000
Subject: [PATCH] Fix building with GCC 15
---
libraries/ZWidget/include/zwidget/window/window.h | 1 +
src/common/utility/r_memory.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/libraries/ZWidget/include/zwidget/window/window.h b/libraries/ZWidget/include/zwidget/window/window.h
index 0539f773f..4cdb748d8 100644
--- a/libraries/ZWidget/include/zwidget/window/window.h
+++ b/libraries/ZWidget/include/zwidget/window/window.h
@@ -1,5 +1,6 @@
#pragma once
+#include <cstdint>
#include <memory>
#include <string>
#include <functional>
diff --git a/src/common/utility/r_memory.h b/src/common/utility/r_memory.h
index d9db538ca..41abe0be5 100644
--- a/src/common/utility/r_memory.h
+++ b/src/common/utility/r_memory.h
@@ -1,5 +1,6 @@
#pragma once
+#include <cstdint>
#include <memory>
#include <vector>
--
2.48.1
From 4e0e0db076d661695ae4051c06f4a784757e1db3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 9 Mar 2025 16:54:41 -0300
Subject: [PATCH 1/2] remove K&R C function declaration bullshit from lemon.c
should be enough to fix GCC15 compilation without fucking up size_t/etc
---
tools/lemon/lemon.c | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/tools/lemon/lemon.c b/tools/lemon/lemon.c
index bdc004a17db..e5fd16905a6 100644
--- a/tools/lemon/lemon.c
+++ b/tools/lemon/lemon.c
@@ -53,7 +53,7 @@ extern int access(char *path, int mode);
#endif
static int showPrecedenceConflict = 0;
-static void *msort(void *list, void *next, int (*cmp)());
+static void *msort(void *list, void *next, int (*cmp)(void*, void*));
/*
** Compilers are getting increasingly pedantic about type conversions
@@ -359,7 +359,7 @@ struct symbol **Symbol_arrayof(void);
/* Routines to manage the state table */
-int Configcmp(const char *, const char *);
+int Configcmp(void *, void *);
struct state *State_new(void);
void State_init(void);
int State_insert(struct state *, struct config *);
@@ -403,10 +403,10 @@ static struct action *Action_new(void){
** positive if the first action is less than, equal to, or greater than
** the first
*/
-static int actioncmp(ap1,ap2)
-struct action *ap1;
-struct action *ap2;
+static int actioncmp(void *_ap1,void *_ap2)
{
+ struct action * ap1 = (struct action *)_ap1;
+ struct action * ap2 = (struct action *)_ap2;
int rc;
rc = ap1->sp->index - ap2->sp->index;
if( rc==0 ){
@@ -1757,9 +1757,9 @@ int main(int argc, char **argv)
** The "next" pointers for elements in the lists a and b are
** changed.
*/
-static void *merge(void *a,void *b,int (*cmp)(),size_t offset)
+static void *merge(void *a,void *b,int (*cmp)(void *a, void *b),size_t offset)
{
- char *ptr, *head;
+ void *ptr, *head;
if( a==0 ){
head = b;
@@ -1805,11 +1805,11 @@ static void *merge(void *a,void *b,int (*cmp)(),size_t offset)
** The "next" pointers for elements in list are changed.
*/
#define LISTSIZE 30
-static void *msort(void *list,void *next,int (*cmp)())
+static void *msort(void *list,void *next,int (*cmp)(void*, void*))
{
size_t offset;
- char *ep;
- char *set[LISTSIZE];
+ void *ep;
+ void *set[LISTSIZE];
int i;
offset = (size_t)next - (size_t)list;
for(i=0; i<LISTSIZE; i++) set[i] = 0;
@@ -2714,9 +2714,7 @@ static void preprocess_input(char *z){
}
}
-int strip_crlf(filebuf, filesize)
-char *filebuf;
-int filesize;
+int strip_crlf(char *filebuf, int filesize)
{
int i, j;
@@ -5136,10 +5134,10 @@ struct symbol **Symbol_arrayof()
}
/* Compare two configurations */
-int Configcmp(const char *_a,const char *_b)
+int Configcmp(void *_a,void *_b)
{
- const struct config *a = (struct config *) _a;
- const struct config *b = (struct config *) _b;
+ const struct config *a = (const struct config *) _a;
+ const struct config *b = (const struct config *) _b;
int x;
x = a->rp->index - b->rp->index;
if( x==0 ) x = a->dot - b->dot;
@@ -5147,8 +5145,10 @@ int Configcmp(const char *_a,const char *_b)
}
/* Compare two states */
-PRIVATE int statecmp(struct config *a, struct config *b)
+PRIVATE int statecmp(void *_a, void *_b)
{
+ const struct config *a = (const struct config *) _a;
+ const struct config *b = (const struct config *) _b;
int rc;
for(rc=0; rc==0 && a && b; a=a->bp, b=b->bp){
rc = a->rp->index - b->rp->index;
@@ -5377,7 +5377,7 @@ int Configtable_insert(struct config *data)
h = ph & (x4a->size-1);
np = x4a->ht[h];
while( np ){
- if( Configcmp((const char *) np->data,(const char *) data)==0 ){
+ if( Configcmp(np->data, data)==0 ){
/* An existing entry with the same key is found. */
/* Fail because overwrite is not allows. */
return 0;
@@ -5430,7 +5430,7 @@ struct config *Configtable_find(struct config *key)
h = confighash(key) & (x4a->size-1);
np = x4a->ht[h];
while( np ){
- if( Configcmp((const char *) np->data,(const char *) key)==0 ) break;
+ if( Configcmp(np->data,key)==0 ) break;
np = np->next;
}
return np ? np->data : 0;
From c9d21a11be721e69b9180b97b203b1fa25324c59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 9 Mar 2025 16:57:28 -0300
Subject: [PATCH 2/2] fix non-void forward declarations as well
---
tools/lemon/lemon.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tools/lemon/lemon.c b/tools/lemon/lemon.c
index e5fd16905a6..45f458d726f 100644
--- a/tools/lemon/lemon.c
+++ b/tools/lemon/lemon.c
@@ -72,12 +72,12 @@ static struct action *Action_new(void);
static struct action *Action_sort(struct action *);
/********** From the file "build.h" ************************************/
-void FindRulePrecedences();
-void FindFirstSets();
-void FindStates();
-void FindLinks();
-void FindFollowSets();
-void FindActions();
+void FindRulePrecedences(struct lemon *xp);
+void FindFirstSets(struct lemon *lemp);
+void FindStates(struct lemon *lemp);
+void FindLinks(struct lemon *lemp);
+void FindFollowSets(struct lemon *lemp);
+void FindActions(struct lemon *lemp);
/********* From the file "configlist.h" *********************************/
void Configlist_init(void);

View File

@@ -0,0 +1,100 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop xdg flag-o-matic
DESCRIPTION="A modder-friendly OpenGL source port based on the DOOM engine"
HOMEPAGE="https://zdoom.org"
SRC_URI="https://github.com/coelckers/${PN}/archive/g${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-g${PV}"
LICENSE="Apache-2.0 BSD BZIP2 GPL-3 LGPL-2.1+ LGPL-3 MIT
non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist WidePix )"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64"
IUSE="debug gles2 gtk +non-free openmp +swr telemetry vulkan"
DEPEND="
app-arch/bzip2
media-libs/libjpeg-turbo:0=
media-libs/libsdl2[gles2?,opengl,vulkan?]
media-libs/libvpx:=
media-libs/libwebp
media-libs/openal
>=media-libs/zmusic-1.1.14
sys-libs/zlib
gtk? ( x11-libs/gtk+:3 )"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-4.7.1-Introduce-the-BUILD_NONFREE-option.patch
"${FILESDIR}"/${P}-gcc15.patch
)
src_prepare() {
rm -rf docs/licenses || die
rm -rf libraries/{bzip2,jpeg,zlib} || die
if ! use non-free ; then
rm -rf wadsrc_bm wadsrc_extra wadsrc_widepix || die
fi
{
echo "// 0"
echo "// The above line prevents UpdateRevision.cmake from replacing this file."
echo "// This file was generated by the Gentoo ebuild."
echo
echo "#define GIT_DESCRIPTION \"g${PV}\""
echo "#define GIT_HASH \"0\""
echo "#define GIT_TIME \"\""
} > "${S}/src/gitinfo.h" || die
cmake_src_prepare
}
src_configure() {
# https://bugs.gentoo.org/858749
filter-lto
append-flags -fno-strict-aliasing
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
-DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}"
-DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom"
-DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom"
-DDYN_OPENAL=OFF
-DNO_GTK="$(usex !gtk)"
-DNO_OPENAL=OFF
-DHAVE_VULKAN="$(usex vulkan)"
-DHAVE_GLES2="$(usex gles2)"
-DNO_OPENMP="$(usex !openmp)"
-DZDOOM_ENABLE_SWR="$(usex swr)"
-DBUILD_NONFREE="$(usex non-free)"
)
use debug || append-cppflags -DNDEBUG
use telemetry || append-cppflags -DNO_SEND_STATS
cmake_src_configure
}
src_install() {
newicon src/posix/zdoom.xpm "${PN}.xpm"
make_desktop_entry "${PN}" "GZDoom" "${PN}" "Game;ActionGame"
cmake_src_install
}
pkg_postinst() {
xdg_pkg_postinst
if ! use non-free ; then
ewarn
ewarn "GZDoom installed without non-free components."
ewarn "Note: The non-free game_support.pk3 file is needed to play"
ewarn " games natively supported by GZDoom."
ewarn "A list of games natively supported by GZDoom is available"
ewarn "on the ZDoom wiki: https://zdoom.org/wiki/IWAD"
ewarn
fi
}