summaryrefslogtreecommitdiff
path: root/games-rpg/xu4
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-rpg/xu4
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-rpg/xu4')
-rw-r--r--games-rpg/xu4/Manifest9
-rw-r--r--games-rpg/xu4/files/0.9-savegame.patch76
-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.xml11
-rw-r--r--games-rpg/xu4/xu4-0.9-r1.ebuild75
7 files changed, 376 insertions, 0 deletions
diff --git a/games-rpg/xu4/Manifest b/games-rpg/xu4/Manifest
new file mode 100644
index 000000000000..bfb57e535012
--- /dev/null
+++ b/games-rpg/xu4/Manifest
@@ -0,0 +1,9 @@
+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
+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 1664 BLAKE2B b6cdc4c4b22521b2a8892b55965aa5daa74a2654c58aeb718372dc1bfd27eb9d036ba5c855947dc0d911a1bfacf8c5ff4922524e0912e6b4ce64eedc8a2f2cd2 SHA512 558b73be5403e28590790461f416cd7179dd57ea6303a5cc55de678eaefb9bb40f394a04bc1e836219f165eb172f6fddff15213fb17b344ff52032c635bb12c1
+MISC metadata.xml 326 BLAKE2B c34bb1f21e6b7a60bb30b7bb3196af118f53137fcfd6508c3bc84c6abd1f62d53c1f43e72a1816c86f982f6f49b7dfa774647d1f42fc6ab696479b1ad645f9a9 SHA512 cdeb23df21e2a0ad4994adffe0ecf7fdca9fb886b6afc13483a80ffd481c9a031c2039894c86693b1ecf9652f882c2816e7091a3d6dd9ad76013b563e8780ec3
diff --git a/games-rpg/xu4/files/0.9-savegame.patch b/games-rpg/xu4/files/0.9-savegame.patch
new file mode 100644
index 000000000000..96d16360f37c
--- /dev/null
+++ b/games-rpg/xu4/files/0.9-savegame.patch
@@ -0,0 +1,76 @@
+--- 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/xu4-0.9-ldflags.patch b/games-rpg/xu4/files/xu4-0.9-ldflags.patch
new file mode 100644
index 000000000000..7f1e5cd922d7
--- /dev/null
+++ b/games-rpg/xu4/files/xu4-0.9-ldflags.patch
@@ -0,0 +1,35 @@
+--- 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
new file mode 100644
index 000000000000..e52b610e61d4
--- /dev/null
+++ b/games-rpg/xu4/files/xu4-0.9-warnings.patch
@@ -0,0 +1,26 @@
+--- 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
new file mode 100644
index 000000000000..a8d2c58971c9
--- /dev/null
+++ b/games-rpg/xu4/files/xu4-0.9-zip.patch
@@ -0,0 +1,144 @@
+--- 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
new file mode 100644
index 000000000000..4bc2f4a79c26
--- /dev/null
+++ b/games-rpg/xu4/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <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
new file mode 100644
index 000000000000..69fd4ed87d0b
--- /dev/null
+++ b/games-rpg/xu4/xu4-0.9-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils
+
+DESCRIPTION="A remake of the computer game Ultima IV"
+HOMEPAGE="http://xu4.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xu4/${P}.tar.gz
+ mirror://sourceforge/xu4/ultima4-1.01.zip
+ mirror://sourceforge/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
+
+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
+}
+
+PATCHES=(
+ "${FILESDIR}/${P}-ldflags.patch"
+ "${FILESDIR}/${PV}-savegame.patch"
+ "${FILESDIR}/${P}-warnings.patch"
+ "${FILESDIR}/${P}-zip.patch"
+)
+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
+}
+
+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
+}