commit:     7821e90fb49645eeab586fb06534c96088bb382b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 12 07:07:53 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 12 07:07:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7821e90f

games-arcade/xgalaga: update EAPI 7 -> 8, C23 fix, -Wreturn-type fix

Thanks to Erik Zeek for the C23 fix.

Closes: https://bugs.gentoo.org/943793
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../xgalaga/files/xgalaga-2.1.1.0-c23.patch        | 24 ++++++++
 .../files/xgalaga-2.1.1.0-return-type.patch        | 23 +++++++
 games-arcade/xgalaga/xgalaga-2.1.1.0-r3.ebuild     | 71 ++++++++++++++++++++++
 3 files changed, 118 insertions(+)

diff --git a/games-arcade/xgalaga/files/xgalaga-2.1.1.0-c23.patch 
b/games-arcade/xgalaga/files/xgalaga-2.1.1.0-c23.patch
new file mode 100644
index 000000000000..d0a10e983984
--- /dev/null
+++ b/games-arcade/xgalaga/files/xgalaga-2.1.1.0-c23.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/943793
+--- a/libsprite/data.c
++++ b/libsprite/data.c
+@@ -79,9 +79,6 @@ W_Font  W_HighlightFont = (W_Font) & two, W_UnderlineFont = 
(W_Font) & three;
+ W_Color W_White = WHITE, W_Black = BLACK, W_Red = RED, W_Green = GREEN;
+ W_Color W_Yellow = YELLOW, W_Cyan = CYAN, W_Grey = LIGHT_GREY, W_DarkGrey = 
DARK_GREY;
+ int     W_Textwidth, W_Textheight, W_BigTextwidth, W_BigTextheight;
+-#ifndef strdup
+-char   *strdup();
+-#endif
+ int     W_in_message = 0;     /* jfy -- for Jerry's warp message hack */
+ 
+ #ifdef RJC
+--- a/xgal.sndsrv.linux.c
++++ b/xgal.sndsrv.linux.c
+@@ -49,7 +49,7 @@ int fragsize;
+ 
+ 
+ /* Terminate: Signal Handler */
+-void quit ()
++void quit (int n)
+ {
+   exit (0);
+ }

diff --git a/games-arcade/xgalaga/files/xgalaga-2.1.1.0-return-type.patch 
b/games-arcade/xgalaga/files/xgalaga-2.1.1.0-return-type.patch
new file mode 100644
index 000000000000..2e379ee3cd74
--- /dev/null
+++ b/games-arcade/xgalaga/files/xgalaga-2.1.1.0-return-type.patch
@@ -0,0 +1,23 @@
+--- a/title.c
++++ b/title.c
+@@ -108,7 +108,7 @@ static void show_help()
+               top+150, W_Cyan);
+ }
+ 
+-int read_credits()
++void read_credits()
+ {
+     int hsf;
+     int i,j,l,lines;
+@@ -117,9 +117,9 @@ int read_credits()
+ 
+     j = 0; lines = 0;
+     chFBuf = (char *) malloc (8000+1);
+-    if (chFBuf == 0) return (-1);
++    if (chFBuf == 0) return;
+     gchLBuf = (char *) malloc (LINESIZE+1);
+-    if (gchLBuf == 0) return (-2);
++    if (gchLBuf == 0) return;
+     hsf = open (CREDITSFILE, O_RDONLY);
+     if ( hsf > 0 ) 
+     {

diff --git a/games-arcade/xgalaga/xgalaga-2.1.1.0-r3.ebuild 
b/games-arcade/xgalaga/xgalaga-2.1.1.0-r3.ebuild
new file mode 100644
index 000000000000..a463f80abd32
--- /dev/null
+++ b/games-arcade/xgalaga/xgalaga-2.1.1.0-r3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop
+
+DESCRIPTION="Clone of the classic game Galaga for the X Window System"
+HOMEPAGE="https://sourceforge.net/projects/xgalaga";
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+       x11-libs/libX11
+       x11-libs/libXmu
+       x11-libs/libXpm
+       x11-libs/libXext
+       x11-libs/libXt
+"
+DEPEND="
+       ${RDEPEND}
+       x11-base/xorg-proto
+"
+RDEPEND+=" acct-group/gamestat"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.1.1.0-respect-AR.patch
+       "${FILESDIR}"/${PN}-2.1.1.0-function-and-ints.patch
+       "${FILESDIR}"/${PN}-2.1.1.0-c23.patch
+       "${FILESDIR}"/${PN}-2.1.1.0-return-type.patch
+)
+
+src_prepare() {
+       default
+
+       eautoreconf
+
+       sed -i \
+               -e "/LEVELDIR\|SOUNDDIR/ s:prefix:datadir/${PN}:" \
+               -e "/\/scores/ s:prefix:localstatedir/${PN}:" \
+               configure || die "sed configure failed"
+
+       sed -i \
+               -e "/SOUNDDEFS/ s:(SOUNDSRVDIR):(SOUNDSRVDIR)/bin:" \
+               -e 's:make ;:$(MAKE) ;:' \
+               Makefile.in || die "sed Makefile.in failed"
+}
+
+src_install() {
+       dobin xgalaga xgal.sndsrv.oss xgalaga-hyperspace
+       dodoc README README.SOUND CHANGES
+       newman xgalaga.6x xgalaga.6
+
+       insinto /usr/share/${PN}/sounds
+       doins sounds/*.raw
+
+       insinto /usr/share/${PN}/levels
+       doins levels/*.xgl
+
+       make_desktop_entry ${PN} XGalaga
+
+       dodir /var/games/${PN}
+       touch "${ED}"/var/games/${PN}/scores || die
+
+       fperms -R 660 /var/games/${PN}
+       fowners -R root:gamestat /var/games/${PN} 
/usr/bin/{xgalaga,xgal.sndsrv.oss,xgalaga-hyperspace}
+       fperms g+s /usr/bin/{xgalaga,xgal.sndsrv.oss,xgalaga-hyperspace}
+}

Reply via email to