summaryrefslogtreecommitdiff
path: root/games-arcade/blobwars
diff options
context:
space:
mode:
Diffstat (limited to 'games-arcade/blobwars')
-rw-r--r--games-arcade/blobwars/Manifest5
-rw-r--r--games-arcade/blobwars/blobwars-2.00-r2.ebuild71
-rw-r--r--games-arcade/blobwars/files/blobwars-2.00-dont-override-strlcat.patch22
-rw-r--r--games-arcade/blobwars/files/blobwars-2.00-generic-name.patch12
-rw-r--r--games-arcade/blobwars/files/blobwars-2.00-time_t.patch15
-rw-r--r--games-arcade/blobwars/files/blobwars.appdata.xml29
6 files changed, 154 insertions, 0 deletions
diff --git a/games-arcade/blobwars/Manifest b/games-arcade/blobwars/Manifest
index d5d36a254f16..43a9642b65de 100644
--- a/games-arcade/blobwars/Manifest
+++ b/games-arcade/blobwars/Manifest
@@ -1,3 +1,8 @@
+AUX blobwars-2.00-dont-override-strlcat.patch 1248 BLAKE2B 53c38e57e93e7c587db305f6df45e63301110d2512bf26e03cd0299a0c6d238bf9fd8be2a3d3438b3ed3d33faee7cdf176551858046505852f2d6f09af13cc20 SHA512 c8acb477c6507a1b00a643396cf12dcfad67608e95e5cd2e3ed19505c03f237c3baf5872fbc5b83e32eb9970b2215839decb6cfcfa3eca0fb208d4f512af25d7
+AUX blobwars-2.00-generic-name.patch 384 BLAKE2B 0f92ee3bc72ee41253eb0a0dfbb8b9b835c2a1aacdc98539a40e4227d7eb661adc05440eb0d9c22d62a38899b3107f3de58939fc5a758bcc4a112ec85e20619a SHA512 1ca8dd6efd19a2ab66bc7a0f54d7c591729bee8d216ead8da8e96f8d8cef93700e4e4749ce6717d2caefad47491922aceeb18e7095484eaf55005138d72bb670
+AUX blobwars-2.00-time_t.patch 505 BLAKE2B 930f8a7f113a362a71e3f866fd8ec60f0d241c6a1f3ca62da7ccccb581375d5bbf4ec0affb9a91cb23353eb90d496998581f7ed2a299d44c4aafd288001c1586 SHA512 98d67a91d9c4a69cbb76485e3a54ddbfbcb5d96d39cd542d2d84f6ec24d3f782fce9ce28c6c374d6b52d6d75f61c2f01a93fb792ad5bb845c093fb9da063d410
+AUX blobwars.appdata.xml 1309 BLAKE2B e7e895ceb16fde8f906c607bc3c92e4370bb130e2dfa4901d0545e9b000697e481c875f565933510a954386bd7a62447454d98aee0cb5abf556f394fcd61b78b SHA512 842aeb4a0582586eee556d900088cc0a4d71e673eb6be1d04e53dd1283e085b2865133e2ee178a9f93896bf303a8b8fbd9e91cd3f2be1e74d3d2469f253d7f03
DIST blobwars-2.00.tar.gz 66982603 BLAKE2B 273b5eab5a569f7f4b78982499a85daf63e6fdfb7d4348290d64bbcbeb9be830bb7cf81a0a387df0daa176e7a2a82d62404e88c95f02d6af485bae054170ad38 SHA512 412afd029554e59e7947466f36b51ef863faf1712898397498d5497e9a38dced92777b7684c1fb231998d893a6ce2c435b8f4278429df41168385de8fa18725b
EBUILD blobwars-2.00-r1.ebuild 1623 BLAKE2B 3a371f9fdf92e74ce16a1015539cce3d54d9d04f101730f60955ea9ac969c3c9082d81a6c8fdb20971e191b770ea1c999487ae3cdfefbb34496cd0da53a8a7e9 SHA512 3583e0bf45ad89bf6d0daac4184d56f8faf01ea215a0d135cc03b62de52ba9be1ab5b9e798405415ab8b0b62e6df063eb0db2e0dd29bc3e63ae0e982945d233a
+EBUILD blobwars-2.00-r2.ebuild 1887 BLAKE2B 4f56821c5850ac0236cb219f31b49d9edcbaf0248925549ea9e5354abc4ad49f2170ed9a2751e62ec986122230c0a9eff4eb7b0534b3d5138f1d564f7ee82fd4 SHA512 9df7f968ff7e74ae673bf4285ae8294e679c1fd74602ef513cd3f4f7bdd7dd289982d660230167f676558ae17da2d7057407cea1a0b39d897fb4a60003cc095f
MISC metadata.xml 395 BLAKE2B e917b2ded38274b75b636586c23153b55501bc70ceeb66b0aea6d70bd8304d9f7ac12fbe3a4ba3d918b4178d0b4a0562e5cebd1588b021c3e08ae7c159f6a23b SHA512 e126781d4c4f2a42882691105c350194092e2786accf9a3d7d3d3222704d544e78258891802210826dea41e68824d1a2f351035b7de45ec2f3d0bb9a473f60a7
diff --git a/games-arcade/blobwars/blobwars-2.00-r2.ebuild b/games-arcade/blobwars/blobwars-2.00-r2.ebuild
new file mode 100644
index 000000000000..548f740b0c95
--- /dev/null
+++ b/games-arcade/blobwars/blobwars-2.00-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit xdg
+
+DESCRIPTION="Platform game about a blob and his quest to rescue MIAs from an alien invader"
+HOMEPAGE="https://sourceforge.net/projects/blobwars/ https://www.parallelrealities.co.uk/games/metalBlobSolid/ https://github.com/perpendicular-dimensions/blobwars"
+SRC_URI="https://downloads.sourceforge.net/blobwars/${P}.tar.gz"
+
+LICENSE="BSD CC-BY-SA-3.0 CC-BY-3.0 GPL-2 LGPL-2.1 fairuse public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ media-libs/libsdl2
+ media-libs/sdl2-mixer
+ media-libs/sdl2-ttf
+ media-libs/sdl2-image
+ media-libs/sdl2-net
+ sys-libs/zlib
+ virtual/libintl
+"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ # Stop providing/overriding strlcat and strlcpy to fix bug #831671
+ "${FILESDIR}"/${P}-dont-override-strlcat.patch
+
+ "${FILESDIR}"/${P}-generic-name.patch
+ "${FILESDIR}"/${P}-time_t.patch
+)
+
+src_prepare() {
+ default
+
+ # Fixes from Fedora and OpenSuSE
+ sed -i -e 's|$(PREFIX)/games|$(PREFIX)/bin|;
+ s|$(PREFIX)/share/games|$(PREFIX)/share|;
+ s| -Werror||;
+ s|$(CXX) $(LIBS) $(GAMEOBJS) -o $(PROG)|$(CXX) $(GAMEOBJS) $(LIBS) -o $(PROG)|;
+ s|$(CXX) $(LIBS) $(PAKOBJS) -o pak|$(CXX) $(PAKOBJS) $(LIBS) -o pak|;
+ s|$(CXX) $(LIBS) $(MAPOBJS) -o mapeditor|$(CXX) $(MAPOBJS) $(LIBS) -o mapeditor|' \
+ Makefile || die
+ sed -i -e 's|gzclose(pak)|gzclose((gzFile)pak)|;
+ s|gzclose(fp)|gzclose((gzFile)fp)|' src/pak.cpp || die
+}
+
+src_compile() {
+ # USEPAK=1 breaks music
+ emake \
+ RELEASE="1" \
+ USEPAK="0"
+}
+
+src_install() {
+ emake \
+ BINDIR="/usr/bin/" \
+ USEPAK="0" \
+ DESTDIR="${D}" \
+ DOCDIR="/usr/share/doc/${PF}/html/" \
+ install
+
+ mv -vf \
+ "${D}"/usr/share/doc/${PF}/html/{changes,hacking,porting,readme} \
+ "${D}"/usr/share/doc/${PF}/
+
+ insinto /usr/share/metainfo
+ doins "${FILESDIR}"/${PN}.appdata.xml
+}
diff --git a/games-arcade/blobwars/files/blobwars-2.00-dont-override-strlcat.patch b/games-arcade/blobwars/files/blobwars-2.00-dont-override-strlcat.patch
new file mode 100644
index 000000000000..bcdec96f8e86
--- /dev/null
+++ b/games-arcade/blobwars/files/blobwars-2.00-dont-override-strlcat.patch
@@ -0,0 +1,22 @@
+Stop providing / overriding strlcat and strlcpy to fix the following compile errors:
+
+src/headers.h:60:20: error: ambiguating new declaration of 'void strlcat(char*, const char*, size_t)'
+ 60 | static inline void strlcat(char *dest, const char *src, size_t n) { strncat(dest, src, n - 1); }
+ | ^~~~~~~
+
+src/headers.h:61:20: error: ambiguating new declaration of 'void strlcpy(char*, const char*, size_t)'
+ 61 | static inline void strlcpy(char *dest, const char *src, size_t n) { strncpy(dest, src, n); dest[n - 1] = 0; }
+ | ^~~~~~~
+
+diff -up blobwars-2.00/src/headers.h~ blobwars-2.00/src/headers.h
+--- blobwars-2.00/src/headers.h 2015-11-21 23:18:19.000000000 +0100
++++ blobwars-2.00/src/headers.h 2023-07-28 22:25:36.655085088 +0200
+@@ -56,7 +56,7 @@ extern DECLSPEC int SDLCALL SDL_GetGamma
+ #define textdomain(x) while(false)
+ #endif
+
+-#if !defined(OpenBSD) && !defined(FreeBSD) && !defined(__APPLE__)
++#if 0 && !defined(OpenBSD) && !defined(FreeBSD) && !defined(__APPLE__)
+ static inline void strlcat(char *dest, const char *src, size_t n) { strncat(dest, src, n - 1); }
+ static inline void strlcpy(char *dest, const char *src, size_t n) { strncpy(dest, src, n); dest[n - 1] = 0; }
+ #endif
diff --git a/games-arcade/blobwars/files/blobwars-2.00-generic-name.patch b/games-arcade/blobwars/files/blobwars-2.00-generic-name.patch
new file mode 100644
index 000000000000..1e8ea6275e0b
--- /dev/null
+++ b/games-arcade/blobwars/files/blobwars-2.00-generic-name.patch
@@ -0,0 +1,12 @@
+--- a/icons/blobwars.desktop.orig 2011-04-17 16:56:56.000000000 +0200
++++ b/icons/blobwars.desktop 2015-06-26 13:15:44.459524513 +0200
+@@ -1,7 +1,8 @@
+ [Desktop Entry]
+ Encoding=UTF-8
+-Categories=Game;ActionGame;
++Categories=Game;ArcadeGame;
+ Name=Blob Wars : Metal Blob Solid
++GenericName=Blob Wars
+ Comment=Mission and Objective based 2D Platform Game
+ Icon=blobwars
+ Exec=blobwars
diff --git a/games-arcade/blobwars/files/blobwars-2.00-time_t.patch b/games-arcade/blobwars/files/blobwars-2.00-time_t.patch
new file mode 100644
index 000000000000..0b40eeaafcab
--- /dev/null
+++ b/games-arcade/blobwars/files/blobwars-2.00-time_t.patch
@@ -0,0 +1,15 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: fix FTBFS with 64-bit time_t on 32-bit architectures
+
+--- a/src/CReplayData.cpp
++++ b/src/CReplayData.cpp
+@@ -38,7 +38,8 @@ ReplayData::~ReplayData()
+
+ void ReplayData::printReplayInformation()
+ {
+- tm *timeinfo = localtime(&header.randomSeed);
++ time_t t = header.randomSeed;
++ tm *timeinfo = localtime(&t);
+ printf("Recorded on : %s", asctime(timeinfo));
+ printf("Map : %s\n", header.map);
+ printf("Score : %d\n", header.score);
diff --git a/games-arcade/blobwars/files/blobwars.appdata.xml b/games-arcade/blobwars/files/blobwars.appdata.xml
new file mode 100644
index 000000000000..4be64ae13457
--- /dev/null
+++ b/games-arcade/blobwars/files/blobwars.appdata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2014 Ryan Lerch <rlerch@redhat.com> -->
+
+<!-- HOUSEKEEPING, REMOVE THIS COMMENT WHEN THIS GOES UPSTREAM
+EmailAddress: hdegoede@redhat.com
+SentUpstream: 2014-09-18
+-->
+
+<application>
+ <id type="desktop">blobwars.desktop</id>
+ <metadata_license>CC0-1.0</metadata_license>
+ <summary>Mission and Objective based 2D Platform Game</summary>
+ <description>
+ <p>
+ Blob Wars: Metal Blob Solid is a 2D side scrolling platformer where you control
+ Bob, (a blob secret agent) through 25 missions to rescue other blobs and stop
+ the evil alien leader: Galdov.
+ </p>
+ </description>
+ <url type="homepage">http://www.parallelrealities.co.uk/p/blob-wars-metal-blob-solid.html</url>
+ <screenshots>
+ <screenshot type="default">http://3.bp.blogspot.com/-VGOFb5wKQkE/T4RuJznkWkI/AAAAAAAAA10/u1pyXxBa1yw/s1600/03.jpg</screenshot>
+ <screenshot>http://3.bp.blogspot.com/-oBB_IbOXWEI/T4RuI6G3Y5I/AAAAAAAAA1s/_Tb2v1YrINk/s1600/02.jpg</screenshot>
+ <screenshot>http://3.bp.blogspot.com/-s0v-Lr5WBa0/T4RuH7DbgKI/AAAAAAAAA1k/58HXOP40NIk/s1600/01.jpg</screenshot>
+ </screenshots>
+ <!-- FIXME: change this to an upstream email address for spec updates
+ <updatecontact>someone_who_cares@upstream_project.org</updatecontact>
+ -->
+</application>