summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-rpg')
-rw-r--r--games-rpg/comi/comi-1-r1.ebuild (renamed from games-rpg/comi/comi-1.ebuild)8
-rw-r--r--games-rpg/queen/queen-1-r2.ebuild (renamed from games-rpg/queen/queen-1-r1.ebuild)6
-rw-r--r--games-rpg/xu4/Manifest4
-rw-r--r--games-rpg/xu4/files/0.9-savegame.patch76
-rw-r--r--games-rpg/xu4/files/1.4-system-minizip.patch82
-rw-r--r--games-rpg/xu4/files/xu4-0.9-ldflags.patch35
-rw-r--r--games-rpg/xu4/files/xu4-0.9-warnings.patch26
-rw-r--r--games-rpg/xu4/files/xu4-0.9-zip.patch144
-rw-r--r--games-rpg/xu4/metadata.xml1
-rw-r--r--games-rpg/xu4/xu4-0.9-r1.ebuild76
-rw-r--r--games-rpg/xu4/xu4-1.4.ebuild61
11 files changed, 151 insertions, 368 deletions
diff --git a/games-rpg/comi/comi-1.ebuild b/games-rpg/comi/comi-1-r1.ebuild
index 010c9faf988d..bd971f07ce5d 100644
--- a/games-rpg/comi/comi-1.ebuild
+++ b/games-rpg/comi/comi-1-r1.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit cdrom estack desktop wrapper xdg
DESCRIPTION="The Curse of Monkey Island, the third game in the series"
HOMEPAGE="https://en.wikipedia.org/wiki/The_Curse_of_Monkey_Island"
SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${PN}.jpg"
-
+S="${WORKDIR}"
LICENSE="comi"
SLOT="0"
KEYWORDS="~amd64 ~x86"
@@ -17,8 +17,6 @@ RESTRICT="bindist"
RDEPEND=">=games-engines/scummvm-0.4.0"
-S="${WORKDIR}"
-
dotar() {
cd "${CDROM_ABSMATCH%/*}" || die
eshopts_push -s nocaseglob nullglob
diff --git a/games-rpg/queen/queen-1-r1.ebuild b/games-rpg/queen/queen-1-r2.ebuild
index f30eb3407a26..a434b74e7a33 100644
--- a/games-rpg/queen/queen-1-r1.ebuild
+++ b/games-rpg/queen/queen-1-r2.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit desktop wrapper
@@ -34,7 +34,7 @@ SRC_URI="
l10n_it? ( ${SF_BASE_URL}${FILE_IT} )
http://www.scummvm.org/images/cat-queen.png
"
-
+S="${WORKDIR}"
LICENSE="queen"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
@@ -56,8 +56,6 @@ DEPEND="${RDEPEND}
l10n_it? ( app-arch/unzip )
"
-S=${WORKDIR}
-
src_unpack() {
if use l10n_de ; then
mkdir de
diff --git a/games-rpg/xu4/Manifest b/games-rpg/xu4/Manifest
index 9ee8e5493222..41735b7c63e1 100644
--- a/games-rpg/xu4/Manifest
+++ b/games-rpg/xu4/Manifest
@@ -1,3 +1,3 @@
DIST u4upgrad.zip 632072 BLAKE2B 3691f1cbac940021ef6043dd5e2ee26dcee5f8d7181ed525179211a6984f5ab498b84533d28146129c3e747f0af8946f7d691b7cb817a5a4ecb39e71e2df7b9a SHA512 4832d8cfd266d3ccc5eab5184bd2b6b9acd4c0203478873fb5e11704d95104dd9285a7752bad77f873d4f8603673184ae9421964509b948ec69944a4ceadd083
-DIST ultima4-1.01.zip 537487 BLAKE2B 9af5c934e57d3b0151a575efc3ed34fa25f81ed2c43e2cb95ee200afb1b2f49365634199e066787de3d20c4c97903f918de2a4d4f2e9aeeb361ee585e59fbbc1 SHA512 c86c29d51e21b93992316552fbaaec948e7e8048fea484f003f43ac82211f82fa587fb15db991cddf744f2c3ff0fc4d411cd51cc7650e13a5b520c4dc620518c
-DIST xu4-0.9.tar.gz 320090 BLAKE2B 298a97edd2c42edcc2f63ec99656e76f3c541fce13f01a0767f02f63223e0d842a33ee1012742b7cd5bdefa7c66cddba6799130f539a8bb306c87ece8585ea62 SHA512 6c0b27472074d96a5f76e024c800bed89c57c29dbd760278c819ad8b024362480bda5f1584eb9fe64fd6f6cae0b3b8d8571c8cf533f25b842471803acd7cea8d
+DIST ultima4.zip 529099 BLAKE2B 62a7e6e05344d0c3496ee3240d6cd98c61f1ff8b8f5d869a8cecec8f786b76c8a42e1bef40fa63861d5652352c00ba67708e49b5e6c9ddfdebbb3ae47ae01e2e SHA512 efc65a53492c0f68c9e2f1507afed4da925992cdfec7a699095e6369725af8156331000c575778121e04ef6ca252af2eef97f8f7183b8378f22a4e7e509fb9a5
+DIST xu4-1.4.gh.tar.gz 8053080 BLAKE2B 3d098c426bce5b9e6c7665007388be9f189d2fc780b575fa586418e77196027f23092201bc566d41b1d9725180b85f1a7fcbb811a274c19f94d907adb6df4f43 SHA512 2061db91727fe372007c7a79c9f23f9bc78fcc6e1359e2e14ed2e7277e745e3e2a9a8fd7a16e7b42f8bd85ca692115ef22ba95122f8fbfe67c72c2cbed39c95b
diff --git a/games-rpg/xu4/files/0.9-savegame.patch b/games-rpg/xu4/files/0.9-savegame.patch
deleted file mode 100644
index 96d16360f37c..000000000000
--- a/games-rpg/xu4/files/0.9-savegame.patch
+++ /dev/null
@@ -1,76 +0,0 @@
---- a/src/savegame.c.
-+++ b/src/savegame.c
-@@ -21,23 +21,24 @@
- char *partySavFilename() {
- char *fname;
-
--#if defined(MACOSX)
- char *home;
-
- home = getenv("HOME");
- if (home && home[0]) {
- fname = (char *) malloc(strlen(home) +
-+#if defined(MACOSX)
- strlen(MACOSX_USER_FILES_PATH) +
-+#endif
-+strlen("/.u4/") +
- strlen(PARTY_SAV_BASE_FILENAME) + 2);
- strcpy(fname, home);
-+#if defined(MACOSX)
- strcat(fname, MACOSX_USER_FILES_PATH);
-- strcat(fname, "/");
-+#endif
-+ strcat(fname, "/.u4/");
- strcat(fname, PARTY_SAV_BASE_FILENAME);
- } else
- fname = strdup(PARTY_SAV_BASE_FILENAME);
--#else
-- fname = strdup(PARTY_SAV_BASE_FILENAME);
--#endif
-
- return fname;
- }
-@@ -45,24 +45,24 @@
- char *monstersSavFilename() {
- char *fname;
-
--#if defined(MACOSX)
- char *home;
-
- home = getenv("HOME");
- if (home && home[0]) {
- fname = (char *) malloc(strlen(home) +
-+#if defined(MACOSX)
- strlen(MACOSX_USER_FILES_PATH) +
-+#endif
-+strlen("/.u4/") +
- strlen(MONSTERS_SAV_BASE_FILENAME) + 2);
- strcpy(fname, home);
-+#if defined(MACOSX)
- strcat(fname, MACOSX_USER_FILES_PATH);
-- strcat(fname, "/");
-+#endif
-+ strcat(fname, "/.u4/");
- strcat(fname, MONSTERS_SAV_BASE_FILENAME);
- } else
- fname = strdup(MONSTERS_SAV_BASE_FILENAME);
--#else
-- fname = strdup(MONSTERS_SAV_BASE_FILENAME);
--#endif
--
- return fname;
- }
-
---- a/src/u4.c
-+++ b/src/u4.c
-@@ -38,6 +38,10 @@
- osxInit(argv[0]);
- #endif
-
-+ if (getenv("HOME")) {
-+ chdir(getenv("HOME"));
-+ mkdir(".u4", 0777);
-+ }
- settingsRead();
-
- for (i = 1; i < (unsigned int)argc; i++) {
diff --git a/games-rpg/xu4/files/1.4-system-minizip.patch b/games-rpg/xu4/files/1.4-system-minizip.patch
new file mode 100644
index 000000000000..ed30687e7b4c
--- /dev/null
+++ b/games-rpg/xu4/files/1.4-system-minizip.patch
@@ -0,0 +1,82 @@
+From bce27acd4063d43da601e0a7a85b35fab69cf4bd Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Fri, 28 Apr 2023 16:30:40 +0300
+Subject: [PATCH] Switch to external zlib minizip library
+
+Bundled unzip.[ch] uses deprecated zlib macros and fails to compile.
+Additionaly added pkg-config calls to use system libraries and includes.
+
+https://github.com/xu4-engine/u4/pull/16
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -8,11 +8,13 @@ UI ?= glv
+ GPU ?= scale
+ SOUND=faun
+
++PKG_CONFIG ?= pkg-config
++
+ ifeq ($(UI), allegro)
+ ifeq ($(SOUND),allegro)
+- UILIBS=-lallegro_acodec -lallegro_audio -lallegro
++ UILIBS=$(shell ${PKG_CONFIG} --libs allegro-5 allegro_acodec-5 allegro_audio-5)
+ else
+- UILIBS=-lallegro
++ UILIBS=$(shell ${PKG_CONFIG} --libs allegro-5)
+ endif
+ endif
+
+@@ -37,23 +39,25 @@ endif
+ UILIBS+=-lboron
+ #endif
+
+-CXXFLAGS=-Wall -I. -Isupport $(UIFLAGS) -DVERSION=\"$(VERSION)\"
++CXXFLAGS+=-Wall -I. -Isupport $(UIFLAGS) -DVERSION=\"$(VERSION)\"
+ #CXXFLAGS+=-rdynamic -DHAVE_BACKTRACE=1 -DHAVE_VARIADIC_MACROS=1
+
+ # Choose one of these for debug/release mode.
+ #CXXFLAGS+=-g -DDEBUG
+ CXXFLAGS+=-O3 -DNDEBUG
+
++CXXFLAGS+=$(shell ${PKG_CONFIG} --cflags minizip)
++
+ ifeq ($(UI), glv)
+ CXXFLAGS+=-Iglv/x11
+ GLV_SRC=glv/x11/glv.c
+-UILIBS+=-lXcursor -lX11
++UILIBS+=$(shell ${PKG_CONFIG} --libs xcursor x11)
+ CFLAGS=$(CXXFLAGS) -DUSE_CURSORS
+ else
+ CFLAGS=$(CXXFLAGS)
+ endif
+
+-LIBS=$(UILIBS) -lGL -lpng -lz
++LIBS=$(UILIBS) $(shell ${PKG_CONFIG} --libs gl libpng minizip zlib)
+
+ ifeq ($(STATIC_GCC_LIBS),true)
+ LDFLAGS+=-L. -static-libgcc
+--- a/src/Makefile.common
++++ b/src/Makefile.common
+@@ -9,7 +9,6 @@ CSRCS=\
+ support/notify.c \
+ support/stringTable.c \
+ support/txf_draw.c \
+- support/unzip.c \
+ $(NULL)
+
+ CXXSRCS=\
+--- a/src/u4file.cpp
++++ b/src/u4file.cpp
+@@ -6,9 +6,9 @@
+ #include <cstring>
+ #include <cstdlib>
+ #include <map>
++#include <unzip.h>
+
+ #include "u4file.h"
+-#include "unzip.h"
+ #include "debug.h"
+ #include "xu4.h"
+
+--
+2.39.2
+
diff --git a/games-rpg/xu4/files/xu4-0.9-ldflags.patch b/games-rpg/xu4/files/xu4-0.9-ldflags.patch
deleted file mode 100644
index 7f1e5cd922d7..000000000000
--- a/games-rpg/xu4/files/xu4-0.9-ldflags.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/src/Makefile.common
-+++ b/src/Makefile.common
-@@ -68,25 +68,25 @@
- mkutils:: dumpsavegame$(EXEEXT) lzwenc$(EXEEXT) lzwdec$(EXEEXT) rleenc$(EXEEXT) rledec$(EXEEXT) tlkconv$(EXEEXT)
-
- $(MAIN): $(OBJS)
-- $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
-+ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
-
- dumpsavegame$(EXEEXT) : util/dumpsavegame.o savegame.o io.o names.o
-- $(CC) $(CFLAGS) -o dumpsavegame util/dumpsavegame.o savegame.o io.o names.o
-+ $(CC) $(LDFLAGS) $(CFLAGS) -o dumpsavegame util/dumpsavegame.o savegame.o io.o names.o
-
- lzwenc$(EXEEXT) : util/lzwenc.o lzw/hash.o util/pngconv.o
-- $(CC) $(CFLAGS) -o lzwenc util/lzwenc.o lzw/hash.o util/pngconv.o -lpng -lz
-+ $(CC) $(LDFLAGS) $(CFLAGS) -o lzwenc util/lzwenc.o lzw/hash.o util/pngconv.o -lpng -lz
-
- lzwdec$(EXEEXT) : util/lzwdec.o lzw/lzw.o lzw/u4decode.o lzw/hash.o util/pngconv.o
-- $(CC) $(CFLAGS) -o lzwdec util/lzwdec.o lzw/lzw.o lzw/u4decode.o lzw/hash.o util/pngconv.o -lpng -lz
-+ $(CC) $(LDFLAGS) $(CFLAGS) -o lzwdec util/lzwdec.o lzw/lzw.o lzw/u4decode.o lzw/hash.o util/pngconv.o -lpng -lz
-
- rleenc$(EXEEXT) : util/rleenc.o util/pngconv.o
-- $(CC) $(CFLAGS) -o rleenc util/rleenc.o util/pngconv.o -lpng -lz
-+ $(CC) $(LDFLAGS) $(CFLAGS) -o rleenc util/rleenc.o util/pngconv.o -lpng -lz
-
- rledec$(EXEEXT) : util/rledec.o rle.o util/pngconv.o
-- $(CC) $(CFLAGS) -o rledec util/rledec.o rle.o util/pngconv.o -lpng -lz
-+ $(CC) $(LDFLAGS) $(CFLAGS) -o rledec util/rledec.o rle.o util/pngconv.o -lpng -lz
-
- tlkconv$(EXEEXT) : util/tlkconv.o
-- $(CC) $(CFLAGS) -o tlkconv util/tlkconv.o $(shell xml2-config --libs)
-+ $(CC) $(LDFLAGS) $(CFLAGS) -o tlkconv util/tlkconv.o $(shell xml2-config --libs)
-
- clean:: cleanutil
- rm -rf *~ */*~ $(OBJS) $(MAIN)
diff --git a/games-rpg/xu4/files/xu4-0.9-warnings.patch b/games-rpg/xu4/files/xu4-0.9-warnings.patch
deleted file mode 100644
index e52b610e61d4..000000000000
--- a/games-rpg/xu4/files/xu4-0.9-warnings.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/src/u4.c
-+++ b/src/u4.c
-@@ -3,6 +3,8 @@
- */
-
- #include <stdio.h>
-+#include <sys/stat.h>
-+#include <sys/types.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <string.h>
---- a/u4.desktop
-+++ b/u4.desktop
-@@ -1,9 +1,8 @@
- [Desktop Entry]
--Encoding=UTF-8
- Name=Ultima 4
- Comment=Ultima 4 (xu4)
- Exec=u4
--Icon=u4.png
--Terminal=0
-+Icon=u4
-+Terminal=false
- Type=Application
--Categories=Application;Game;RolePlaying;
-+Categories=Game;RolePlaying;
diff --git a/games-rpg/xu4/files/xu4-0.9-zip.patch b/games-rpg/xu4/files/xu4-0.9-zip.patch
deleted file mode 100644
index a8d2c58971c9..000000000000
--- a/games-rpg/xu4/files/xu4-0.9-zip.patch
+++ /dev/null
@@ -1,144 +0,0 @@
---- a/src/unzip.c
-+++ b/src/unzip.c
-@@ -493,7 +493,7 @@
- /*
- Get Info about the current file in the zipfile, with internal only info
- */
--local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file,
-+local int unzlocal_GetCurrentFileInfoInternal _Z_OF((unzFile file,
- unz_file_info *pfile_info,
- unz_file_info_internal
- *pfile_info_internal,
---- a/src/unzip.h
-+++ b/src/unzip.h
-@@ -8,7 +8,7 @@
- Encryption and multi volume ZipFile (span) are not supported.
- Old compressions used by old PKZip 1.x are not supported
-
-- THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
-+ THIS IS AN ALPHA VERSION. AT THIS STAGE _Z_OF DEVELOPPEMENT, SOMES API OR STRUCTURE
- CAN CHANGE IN FUTURE VERSION !!
- I WAIT FEEDBACK at mail info@winimage.com
- Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution
-@@ -111,7 +111,7 @@
- tm_unz tmu_date;
- } unz_file_info;
-
--extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
-+extern int ZEXPORT unzStringFileNameCompare _Z_OF ((const char* fileName1,
- const char* fileName2,
- int iCaseSensitivity));
- /*
-@@ -124,7 +124,7 @@
- */
-
-
--extern unzFile ZEXPORT unzOpen OF((const char *path));
-+extern unzFile ZEXPORT unzOpen _Z_OF((const char *path));
- /*
- Open a Zip file. path contain the full pathname (by example,
- on a Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer
-@@ -135,14 +135,14 @@
- of this unzip package.
- */
-
--extern int ZEXPORT unzClose OF((unzFile file));
-+extern int ZEXPORT unzClose _Z_OF((unzFile file));
- /*
- Close a ZipFile opened with unzipOpen.
- If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
- these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
- return UNZ_OK if there is no problem. */
-
--extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
-+extern int ZEXPORT unzGetGlobalInfo _Z_OF((unzFile file,
- unz_global_info *pglobal_info));
- /*
- Write info about the ZipFile in the *pglobal_info structure.
-@@ -150,7 +150,7 @@
- return UNZ_OK if there is no problem. */
-
-
--extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
-+extern int ZEXPORT unzGetGlobalComment _Z_OF((unzFile file,
- char *szComment,
- uLong uSizeBuf));
- /*
-@@ -163,20 +163,20 @@
- /***************************************************************************/
- /* Unzip package allow you browse the directory of the zipfile */
-
--extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
-+extern int ZEXPORT unzGoToFirstFile _Z_OF((unzFile file));
- /*
- Set the current file of the zipfile to the first file.
- return UNZ_OK if there is no problem
- */
-
--extern int ZEXPORT unzGoToNextFile OF((unzFile file));
-+extern int ZEXPORT unzGoToNextFile _Z_OF((unzFile file));
- /*
- Set the current file of the zipfile to the next file.
- return UNZ_OK if there is no problem
- return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
- */
-
--extern int ZEXPORT unzLocateFile OF((unzFile file,
-+extern int ZEXPORT unzLocateFile _Z_OF((unzFile file,
- const char *szFileName,
- int iCaseSensitivity));
- /*
-@@ -189,7 +189,7 @@
- */
-
-
--extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
-+extern int ZEXPORT unzGetCurrentFileInfo _Z_OF((unzFile file,
- unz_file_info *pfile_info,
- char *szFileName,
- uLong fileNameBufferSize,
-@@ -215,20 +215,20 @@
- from it, and close it (you can close it before reading all the file)
- */
-
--extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
-+extern int ZEXPORT unzOpenCurrentFile _Z_OF((unzFile file));
- /*
- Open for reading data the current file in the zipfile.
- If there is no error, the return value is UNZ_OK.
- */
-
--extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
-+extern int ZEXPORT unzCloseCurrentFile _Z_OF((unzFile file));
- /*
- Close the file in zip opened with unzOpenCurrentFile
- Return UNZ_CRCERROR if all the file was read but the CRC is not good
- */
-
-
--extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
-+extern int ZEXPORT unzReadCurrentFile _Z_OF((unzFile file,
- voidp buf,
- unsigned len));
- /*
-@@ -242,17 +242,17 @@
- (UNZ_ERRNO for IO error, or zLib error for uncompress error)
- */
-
--extern z_off_t ZEXPORT unztell OF((unzFile file));
-+extern z_off_t ZEXPORT unztell _Z_OF((unzFile file));
- /*
- Give the current position in uncompressed data
- */
-
--extern int ZEXPORT unzeof OF((unzFile file));
-+extern int ZEXPORT unzeof _Z_OF((unzFile file));
- /*
- return 1 if the end of file was reached, 0 elsewhere
- */
-
--extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
-+extern int ZEXPORT unzGetLocalExtrafield _Z_OF((unzFile file,
- voidp buf,
- unsigned len));
- /*
diff --git a/games-rpg/xu4/metadata.xml b/games-rpg/xu4/metadata.xml
index f6c4eeb680aa..dfb64cd69633 100644
--- a/games-rpg/xu4/metadata.xml
+++ b/games-rpg/xu4/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Games Project</name>
</maintainer>
<upstream>
+ <remote-id type="github">xu4-engine/u4</remote-id>
<remote-id type="sourceforge">xu4</remote-id>
</upstream>
</pkgmetadata>
diff --git a/games-rpg/xu4/xu4-0.9-r1.ebuild b/games-rpg/xu4/xu4-0.9-r1.ebuild
deleted file mode 100644
index ce71208f5d6c..000000000000
--- a/games-rpg/xu4/xu4-0.9-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A remake of the computer game Ultima IV"
-HOMEPAGE="http://xu4.sourceforge.net/"
-SRC_URI="https://downloads.sourceforge.net/xu4/${P}.tar.gz
- https://downloads.sourceforge.net/xu4/ultima4-1.01.zip
- https://downloads.sourceforge.net/xu4/u4upgrad.zip"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="dev-libs/libxml2
- media-libs/libsdl[sound,video]
- media-libs/sdl-mixer[timidity]"
-DEPEND="${RDEPEND}
- app-arch/unzip"
-
-S=${WORKDIR}/u4
-
-PATCHES=(
- "${FILESDIR}/${P}-ldflags.patch"
- "${FILESDIR}/${PV}-savegame.patch"
- "${FILESDIR}/${P}-warnings.patch"
-)
-
-src_unpack() {
- # xu4 will read the data files right out of the zip files
- # but we want the docs from the original.
- unpack ${P}.tar.gz
- cp "${DISTDIR}"/{ultima4-1.01.zip,u4upgrad.zip} . || die
- cd "${WORKDIR}" || die
- mv ultima4-1.01.zip ultima4.zip || die
- mkdir u4-dos || die
- cd u4-dos || die
- unzip -q ../ultima4.zip || die
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e "s:/usr/local/lib/u4:/usr/$(get_libdir)/u4:" src/u4file.c \
- || die
- sed -i \
- -e 's:-Wall:$(E_CFLAGS):' src/Makefile \
- || die
-
- has_version "<sys-libs/zlib-1.3" && eapply "${FILESDIR}/${P}-zip.patch"
-}
-
-src_compile() {
- emake -C src \
- DEBUGCFLAGS= \
- E_CFLAGS="${CFLAGS}" \
- bindir="/usr/bin" \
- datadir="/usr/share" \
- libdir="/usr/$(get_libdir)"
-}
-
-src_install() {
- emake -C src \
- DEBUGCFLAGS= \
- E_CFLAGS="${CFLAGS}" \
- bindir="${D}/usr/bin" \
- datadir="${D}/usr/share" \
- libdir="${D}/usr/$(get_libdir)" \
- install
- dodoc AUTHORS README doc/*txt "${WORKDIR}/u4-dos/ULTIMA4/"*TXT
- insinto "/usr/$(get_libdir)/u4"
- doins "${WORKDIR}/"*zip
-}
diff --git a/games-rpg/xu4/xu4-1.4.ebuild b/games-rpg/xu4/xu4-1.4.ebuild
new file mode 100644
index 000000000000..be0cd21ecb06
--- /dev/null
+++ b/games-rpg/xu4/xu4-1.4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A remake of the computer game Ultima IV"
+HOMEPAGE="https://xu4.sourceforge.net/"
+SRC_URI="https://github.com/xu4-engine/u4/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ https://ultima.thatfleminggent.com/ultima4.zip
+ https://downloads.sourceforge.net/xu4/u4upgrad.zip"
+S="${WORKDIR}/u4-${PV}/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-libs/boron
+ media-libs/allegro:5[opengl]
+ media-libs/faun
+ media-libs/libglvnd
+ media-libs/libpng:=
+ sys-libs/zlib:=[minizip]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}/1.4-system-minizip.patch"
+)
+
+src_unpack() {
+ # xu4 will read the data files right out of the zip files
+ # but we want the docs from the original.
+ unpack ${P}.gh.tar.gz
+ unpack ultima4.zip
+ # Place zips where make install expects them
+ cp "${DISTDIR}/ultima4.zip" "${DISTDIR}/u4upgrad.zip" "${S}" || die
+}
+
+src_prepare() {
+ default
+
+ # rm as part of using system minizip patch
+ rm -f src/unzip.{c,h} || die
+ sed -i -e '/CXXFLAGS+=-O3 -DNDEBUG/d' src/Makefile || die
+ # Don't strip executable
+ sed -i -e 's:-s src/xu4:src/xu4:g' Makefile || die
+}
+
+src_configure() {
+ # custom configure
+ ./configure --allegro || die
+}
+
+src_install() {
+ emake DESTDIR="${D}/usr" install
+ dodoc AUTHORS README.md doc/*.txt "${WORKDIR}"/*.txt
+ insinto "/usr/share/xu4"
+ doins "${DISTDIR}/ultima4.zip"
+}