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} +}