diff options
author | Azamat H. Hackimov <azamat.hackimov@gmail.com> | 2024-07-19 19:32:33 +0300 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2024-07-20 14:22:22 +0300 |
commit | 4a75069241b2f2430afa5bb7026be6dfd693307f (patch) | |
tree | a5679c5ba228df8128b986093a53ea3459c744aa /games-rpg | |
parent | dev-libs/boron: drop 2.0.8 (diff) | |
download | gentoo-4a75069241b2f2430afa5bb7026be6dfd693307f.tar.gz gentoo-4a75069241b2f2430afa5bb7026be6dfd693307f.tar.bz2 gentoo-4a75069241b2f2430afa5bb7026be6dfd693307f.zip |
games-rpg/xu4: add 1.4
Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com>
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'games-rpg')
-rw-r--r-- | games-rpg/xu4/Manifest | 1 | ||||
-rw-r--r-- | games-rpg/xu4/files/1.4-system-minizip.patch | 82 | ||||
-rw-r--r-- | games-rpg/xu4/xu4-1.4.ebuild | 61 |
3 files changed, 144 insertions, 0 deletions
diff --git a/games-rpg/xu4/Manifest b/games-rpg/xu4/Manifest index 95756c6ba909..52b7db3c1478 100644 --- a/games-rpg/xu4/Manifest +++ b/games-rpg/xu4/Manifest @@ -1,3 +1,4 @@ DIST u4upgrad.zip 632072 BLAKE2B 3691f1cbac940021ef6043dd5e2ee26dcee5f8d7181ed525179211a6984f5ab498b84533d28146129c3e747f0af8946f7d691b7cb817a5a4ecb39e71e2df7b9a SHA512 4832d8cfd266d3ccc5eab5184bd2b6b9acd4c0203478873fb5e11704d95104dd9285a7752bad77f873d4f8603673184ae9421964509b948ec69944a4ceadd083 DIST ultima4.zip 529099 BLAKE2B 62a7e6e05344d0c3496ee3240d6cd98c61f1ff8b8f5d869a8cecec8f786b76c8a42e1bef40fa63861d5652352c00ba67708e49b5e6c9ddfdebbb3ae47ae01e2e SHA512 efc65a53492c0f68c9e2f1507afed4da925992cdfec7a699095e6369725af8156331000c575778121e04ef6ca252af2eef97f8f7183b8378f22a4e7e509fb9a5 DIST xu4-1.2.1.gh.tar.gz 8031041 BLAKE2B 54c75d1752bc7a5cf59724e2e97ccfed23b8edf8351b6ccf9ca4f967145bbbb897e06337c107ffe09af5094f2f112094cd60485d9957abac6e61a3e40dd6731e SHA512 ffdfcb9f323b4f3ff664b146b485085dd96fce756682392695e8a25f636c70d6b2d945b65f861a58fd1a47653a788869aa3085be8e1bcc702814fb220cfdeb3e +DIST xu4-1.4.gh.tar.gz 8053080 BLAKE2B 3d098c426bce5b9e6c7665007388be9f189d2fc780b575fa586418e77196027f23092201bc566d41b1d9725180b85f1a7fcbb811a274c19f94d907adb6df4f43 SHA512 2061db91727fe372007c7a79c9f23f9bc78fcc6e1359e2e14ed2e7277e745e3e2a9a8fd7a16e7b42f8bd85ca692115ef22ba95122f8fbfe67c72c2cbed39c95b 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/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" +} |