aboutsummaryrefslogtreecommitdiffstats
path: root/community/openrct2/APKBUILD
blob: 5ff6db861ed0e72f434a60faff441661a3aec5e2 (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=openrct2
pkgver=0.3.1
_pkgver_objects=1.0.17
_pkgver_title_sequences=0.1.2c
_pkgver_replays=0.0.18
pkgrel=0
pkgdesc="Open-source re-implementation of Roller Coaster Tycoon 2"
arch="all !s390x !mips !mips64" # Build fails on s390x
url="https://openrct2.io"
license="GPL-3.0-only"
depends="$pkgname-data"
makedepends="
	cmake
	ninja
	jansson-dev
	libzip-dev
	libpng-dev
	speexdsp-dev
	fontconfig-dev
	curl-dev
	icu-dev
	sdl2-dev
	mesa-dev
	fts-dev
	duktape-dev
	gtest-dev
	unzip
	nlohmann-json
	"
install="$pkgname.post-install"
source="https://github.com/openrct2/openrct2/archive/v$pkgver/openrct2-v$pkgver.tar.gz
	$pkgname-$_pkgver_title_sequences-title_sequences.zip::https://github.com/OpenRCT2/title-sequences/releases/download/v$_pkgver_title_sequences/title-sequences.zip
	$pkgname-$_pkgver_objects-objects.zip::https://github.com/OpenRCT2/objects/releases/download/v$_pkgver_objects/objects.zip
	$pkgname-$_pkgver_replays-replays.zip::https://github.com/OpenRCT2/replays/releases/download/v$_pkgver_replays/replays.zip
	"
subpackages="$pkgname-doc $pkgname-cli $pkgname-data::noarch"
case "$CARCH" in
	armv7|armhf) options="!check" ;; # https://github.com/OpenRCT2/OpenRCT2/issues/12727
esac
builddir="$srcdir/OpenRCT2-$pkgver"

prepare() {
	default_prepare

	mkdir -p data/title data/object testdata/replays
	unzip "$srcdir"/$pkgname-$_pkgver_title_sequences-title_sequences.zip -d data/title
	unzip "$srcdir"/$pkgname-$_pkgver_objects-objects.zip -d data/object
	unzip "$srcdir"/$pkgname-$_pkgver_replays-replays.zip -d testdata/replays
}

build() {
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=ON \
		-DWITH_TESTS=ON \
		-DSYSTEM_GTEST=ON \
		-DDOWNLOAD_TITLE_SEQUENCES=OFF \
		-DDOWNLOAD_OBJECTS=OFF \
		-DDOWNLOAD_REPLAYS=OFF \
		-DDISABLE_GOOGLE_BENCHMARK=ON # Not packaged in Alpine
	cmake --build build
}

check() {
	ln -s "$builddir"/data build/data
	cd build
	CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}


package() {
	DESTDIR="$pkgdir" cmake --build build --target install

	install -d "$pkgdir"/usr/share/openrct2
}

data() {
	mkdir -p "$subpkgdir"/usr/share/openrct2

	mv "$pkgdir"/usr/share/openrct2 \
		"$subpkgdir"/usr/share/
	# https://github.com/OpenRCT2/OpenRCT2/issues/12716
	mv "$subpkgdir"/usr/share/openrct2/title \
		"$subpkgdir"/usr/share/openrct2/sequence
}

cli() {
	depends="openrct2-data"
	install="$subpkgname.post-install"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/openrct2-cli "$subpkgdir"/usr/bin/openrct2-cli
}
sha512sums="2a6027a28a26d9770a759296cfcf38290b44b90483113e93b8762403e1043dbe88c6666245155b4c7fc9d9122f44705b718cdc8dbc7b9d3888dc9036fd5928a1  openrct2-v0.3.1.tar.gz
0e544d236d5f6ac7f68d75ba1f56f043c76c77676cbb92e6fdbf68a6ae2dc6c41dbdad6083ceec36b2f774bcdd99f64f28de73b208d6a39a8218a9e95502d46e  openrct2-0.1.2c-title_sequences.zip
3de4d2a58dbbf17d30296829edc520b089bb98457e5569578491f0750a95b172326bea6f153d4dcc2152736a32b2401d15c6cfa49ae3e95ec13bfcee24af2a5b  openrct2-1.0.17-objects.zip
5012f63c1b203e348e58168dedcbca3b170339dd65f4b63cbd31b145fc9b50160c2fb17b4e7e72972a1de807dffe82b846f360dfa16e5d5992d21d9fdbb3f948  openrct2-0.0.18-replays.zip"