summaryrefslogtreecommitdiff
blob: 548f740b0c951ebded32fef961c3a85bb077f98d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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
}