summaryrefslogtreecommitdiff
path: root/games-rpg
diff options
context:
space:
mode:
Diffstat (limited to 'games-rpg')
-rw-r--r--games-rpg/Manifest.gzbin8308 -> 8298 bytes
-rw-r--r--games-rpg/comi/Manifest2
-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/Manifest2
-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/Manifest13
-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
14 files changed, 156 insertions, 376 deletions
diff --git a/games-rpg/Manifest.gz b/games-rpg/Manifest.gz
index 1c91babb42e1..e0ef9b7de5f9 100644
--- a/games-rpg/Manifest.gz
+++ b/games-rpg/Manifest.gz
Binary files differ
diff --git a/games-rpg/comi/Manifest b/games-rpg/comi/Manifest
index 989da0e68dc0..c2d7f95ea912 100644
--- a/games-rpg/comi/Manifest
+++ b/games-rpg/comi/Manifest
@@ -1,3 +1,3 @@
DIST comi.jpg 5320 BLAKE2B 4729546c766536a5bb937c1e7eb3cd231ec44146fabda41326f5dbf0a3cb13b57f119a0d28283b1664bcd11ffb652606f0ee2f658d5a0701e5ad15f70a9e8b01 SHA512 b8042241b0badc6950cac8bf0eae7f5e138d5f3fc96f9d3a2108cd3bc69d972bbb12e8f3a416273f0763a1ecfee9b66daff69e211889cd93468439a3036817af
-EBUILD comi-1.ebuild 1482 BLAKE2B c74b762e179874a3d14cb0c917cdb6dc86a7cf4e712be69c41dac120aa947208ed083fa03097a8f9da2b89fc19e55fb30c524d6702248448660a50d30425bdbd SHA512 8144bf17c6ffb68cf504f20e7120968e4d29a87c871cc39ec92683f3077bca71890529d0a30d1307f53dd2a90e97349f4bdef67f6a130c9ac0f1c2c9eac6db20
+EBUILD comi-1-r1.ebuild 1480 BLAKE2B 0a8c56679a47c534d85ee3410fbabd58ee61ee6628e8f4ff3df285051193f9cea89e4609eadf93b3eef2a623ace9d66ea049ad654f2149c85aaa87d06f9a84bb SHA512 d09f17e69412068ee236db84708538003b22f57be9075dfb73901e54f84b8062148c9dc7f1a5b8ccaac112433f08238faeb49883575ef13d40e2d2bf5b52070c
MISC metadata.xml 254 BLAKE2B 4e6c8e1f126f76233a38aba6f5388488656795cb1d7d4767ccb1349772f5e78d59fc5663d4f1933dbe4633c2fbb90cd1d42d4b4d4f5ededc53653e7df13c7187 SHA512 2b82da849e3b0dec378f3fb497014f5d1dbc7aceb8a1f9d1638e83fe69448b1c5151eb4b1187154d828e4a296609ce5125b40977b2581d95b5588e353ca75135
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/Manifest b/games-rpg/queen/Manifest
index 4fa7f97a4243..c1aef1e95d62 100644
--- a/games-rpg/queen/Manifest
+++ b/games-rpg/queen/Manifest
@@ -6,5 +6,5 @@ DIST FOTAQ_Talkie-1.1.zip 33744817 BLAKE2B bd6edb28de6c4bede38b3d41365a27ba75373
DIST cat-queen.png 1099 BLAKE2B 4035d73ccecc0bf91c4411d6018682d11f3fb8a246718d3762b216d44e299e9c0f3c9325206e4ab2f454f3005af0197b027dbb85c6f772631c823ed032c6f040 SHA512 009f30e2f9abbc803cd47314d8ff53009898640c12a26cb155b7e0b29c0a2bdaa06cf97fca6ca6f8b428300d63ca8200f627695a3f0b71585374a4a2b63ed2df
DIST queen-readme.txt 5351 BLAKE2B 8b1859540668102a1ac25019f824084393440dee080528aa98a92b205bc8bdba45649c062d7ad88f3c82645e186ed98c4628719295d0d8efb8147c095166999a SHA512 ed2b5bc18896f9eeadea7526a70ad0a115bda229d1074d8c3a5a64228a7089cc20c6e296d82dc482634ab9bde06a07635d10ee68f47420f00625e0f5c29ef6ad
DIST queen.1.bz2 90404210 BLAKE2B d854e0d7b82cf06551ebef5dd8b44f99e4a924cdd5721894e1b09698e2bc790f591906bcaa5208e37f8f05773152c1da4edf3186080b5a1f279276b8dd112b45 SHA512 f931584c141403019dcd91c43c8610c23cf39b37272440517c75cd4946da005d7fabcdd76fce2ec7504f35ec02727bede7d6a98381bd4f0c6a8d65b3c4363278
-EBUILD queen-1-r1.ebuild 3362 BLAKE2B 0ffaa87e03305a55059dcc1b269d8ad623ef80a30205faf5a130fb113eea6a5e077820839fd26a13ad338abde43737bee26e24bc1965edb5d4d1616016971cee SHA512 6c74428f95e8ca63028e351aa038ddfb57948aa143465d25a84490d25eaec08edcdb824db5f37ae5d615f339d8ace25b60c5fc6d1706492662fcb9c7615358b3
+EBUILD queen-1-r2.ebuild 3362 BLAKE2B 4fbe79e5deefe8f07dd3cf4b9eedc61fe470bdce00fdd3aa7cd5b0b52380f923734738cb98c0a52b4b5222b5099a006102cf1ea15871e627792b3389a34d8f52 SHA512 30eb0d081b9408c38db89a5bb856f9e75bbdd127ed34643c9232db3c61af2d764163d2c67ef14c1fca2936112c9c5156993ce25698614ea001535a45eb2f9315
MISC metadata.xml 331 BLAKE2B 1c013d6bff1e0df9cf8fe372a2a4278d79ecf60099ad85cbcfc35533cceae2311b33c24aaaa54fd9e66d7615655519382c19d0355d6bd8ceeed10f2fda3a0b32 SHA512 12db2a1072a9831ca8d5b60a09056ce644baf84fd048ca0e0c1831f098bdb2e9f3575ef14d8ffff68d43326e3544d866f6d31aff2e6cb5d051c4c6406e04f6d3
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 fa64ea01b77a..13f914b7d52c 100644
--- a/games-rpg/xu4/Manifest
+++ b/games-rpg/xu4/Manifest
@@ -1,9 +1,6 @@
-AUX 0.9-savegame.patch 1716 BLAKE2B fc0fb7a9fac04bb9a386b52de0dc44719ad24f17b9cb086651803169a1a43a0a01129d3c5ecaad1bfa056355a488e9bbd743820b5a7716a3c599f63febb58c96 SHA512 b6484a2abc6b32933157cf3e7875d2863473bc863076efa3c4398dbd28cc037cbac2e376c5ce4bbd6c7fabdb2c0bc907be872e2167f6a00f4ca311ea8301ad77
-AUX xu4-0.9-ldflags.patch 1721 BLAKE2B 99181c971612b6ef1c929743612a0cbf8c0a7b90c4269dfe665e0909b3d1fcf7ae92a242b803474442e7f3aa7999799163089417e0a2efd4b22cc5a65420997d SHA512 1e0c3b8f6595f9b9f7fecda9264460cd67e289a7a0ba19fc181473546e3db4b2cadde825be46f27fdfec9b872fb6cb6ea8e474a890f25677b49b85093ffa957c
-AUX xu4-0.9-warnings.patch 454 BLAKE2B fb8c8b32013893e4db0aa7c20a39ceba9077b1fe64e10df5a4d0e2b7356bfedf9122a1d900b2527dc292054d827a1ed2237d16f18536045bc6113afb81c7189e SHA512 0a92b7510789a55c712f8d9a2130ac4d9cdf6e2403201c258d24c121fdae6e0d932504677715bea062652ee6aff7b27ec6419c578cb5fe56406b1965c387b361
-AUX xu4-0.9-zip.patch 4980 BLAKE2B 761a3251b23a22c3b1bc445a6cdc5a90f5ebe374dabd2ffebdf27c255250508db2010a514b256c07d8e94a6dfcf1fa50d4224b7d675360fa02e3394452453a44 SHA512 b531fd545f1827cff61eec4f5b60bb9b98e4b907c02a9477c269f75e3cccaf1741189abe47a1dcac6205c3fffadff7b13e57bfd80e2ac771f38546ef7c21a85c
+AUX 1.4-system-minizip.patch 2032 BLAKE2B 4048fcecbe2296d05a5602b8451d66c1a12f718709ca9d92f213c640d2cfaff997d91f98e7284da9267c8bf4c53d38899a7970b923f031b3b3bd519c256b94b4 SHA512 b0c487f5555a908bb486dca7a4886c74828c0bbf56954307515bd1e9bf655e6beeec3957d5859ab26223878fefa008d361a77702a3dcd8df3651ce9d1238c257
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
-EBUILD xu4-0.9-r1.ebuild 1730 BLAKE2B bf06a955a95a2231d68c01dff4b96b57f287e4956465b9050b4cacdf983ee813f1ea3792e59ee44d426fd987a52b7095a13a9b850e4eba8247ab99bef5d92917 SHA512 64448f61e89ffd23f223eaca3d37f07e11e1ffea20c775c6dce3bcac9c893330010f5dc005ea2d15a636bafd72212b369d836407cab1ff374f02871f184c65d1
-MISC metadata.xml 327 BLAKE2B 0263141d11243d3153061a3c49b6d7f373998798baa559cbcda22f2a13fb24835958a562d10f3de07a9a69fed3d04c33931341a3ac08b49ee8fa5bc02053a3f0 SHA512 62921e0f493336b542b6abebacb65e52fee1f1c27156f6aea8197ad30b5aff46df1eea15353c9cf6e5f2a4f6c98a876b8fff8799b2ba32c863d0027daa73f430
+DIST ultima4.zip 529099 BLAKE2B 62a7e6e05344d0c3496ee3240d6cd98c61f1ff8b8f5d869a8cecec8f786b76c8a42e1bef40fa63861d5652352c00ba67708e49b5e6c9ddfdebbb3ae47ae01e2e SHA512 efc65a53492c0f68c9e2f1507afed4da925992cdfec7a699095e6369725af8156331000c575778121e04ef6ca252af2eef97f8f7183b8378f22a4e7e509fb9a5
+DIST xu4-1.4.gh.tar.gz 8053080 BLAKE2B 3d098c426bce5b9e6c7665007388be9f189d2fc780b575fa586418e77196027f23092201bc566d41b1d9725180b85f1a7fcbb811a274c19f94d907adb6df4f43 SHA512 2061db91727fe372007c7a79c9f23f9bc78fcc6e1359e2e14ed2e7277e745e3e2a9a8fd7a16e7b42f8bd85ca692115ef22ba95122f8fbfe67c72c2cbed39c95b
+EBUILD xu4-1.4.ebuild 1470 BLAKE2B d5258b0538420fb1c6037db2770e370c960be88efbff2ce8b1b92ee2dd8257c7117a8fbfc6651a978baffb028b61a2cc92e9373dc164032e601d5591d5b89850 SHA512 5280a3eae01a82a5af48dec1d5aa09fed9d9faf9d72b42fbad7ed731beae6ce59e87cc4f71b001634575d042bee16a856925cd05385e4f7ab1116000d4cd34b2
+MISC metadata.xml 380 BLAKE2B 65d2fee26c17071008bb1b02ab8101239735c241e4c90dcd84b0f3fe920696b14be733a10a45681706146fc4edb6df044d5b646070c6ca739257db081b771f4f SHA512 28f0cea0923a1c0f1b9800ad5eaac3af5c5fc393d6ac1580516b89d9d108638e07a8b07d18572fd21ed9149a6899f8fbb05a5e18cd999bd1a08fd8398f9171f5
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"
+}