aboutsummaryrefslogtreecommitdiffstats
path: root/community/openrct2/APKBUILD
blob: 8da7f8d6990e5168662526736d0697e7a96f2486 (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
101
102
103
104
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=openrct2
pkgver=0.4.1
_pkgver_objects=1.2.7
_pkgver_title_sequences=0.4.0
_pkgver_replays=0.0.67
pkgrel=1
pkgdesc="Open-source re-implementation of Roller Coaster Tycoon 2"
arch="all !s390x" # Build fails on s390x
url="https://openrct2.io"
license="GPL-3.0-only"
depends="$pkgname-data"
makedepends="
	cmake
	curl-dev
	flac-dev
	fontconfig-dev
	fts-dev
	gtest-dev
	icu-dev
	jansson-dev
	libpng-dev
	libvorbis-dev
	libzip-dev
	mesa-dev
	ninja
	nlohmann-json
	sdl2-dev
	speexdsp-dev
	unzip
	"
install="$pkgname.post-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/openrct2/openrct2/archive/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
	Werror.patch
	"
subpackages="$pkgname-doc $pkgname-cli $pkgname-data::noarch"
case "$CARCH" in
	arm*) options="!check" ;; # https://github.com/OpenRCT2/OpenRCT2/issues/12727
	riscv64) options="textrels" ;;
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=RelWithDebInfo \
		-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 -E "replay_tests"
}


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

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

data() {
	amove usr/share/openrct2

	# 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"

	amove usr/bin/openrct2-cli
}
sha512sums="
795e94b025ebe8ce4386e59723e2442e950810652a1c95caa1e21a88bef5417c2cce18c93418788e75cd8e980ffda0dc73838693fbe2be108a4e269da9159f06  openrct2-0.4.1.tar.gz
fcfabb02fb7cb9dda7f73f8a24fb426e23b1ea4c417deacd7147e4d2e8942223e0cf9d9cc6ae371f7508e8d3b1f3161e05677a301a330ae265b6610e1c5da487  openrct2-0.4.0-title_sequences.zip
b94027944e8e82dc0ecd9f330c5cb707f07547a3d787e5a8251bba7c7528a5a15fc034e251dfe70ade397b1aa990c148aa7ccdf2f7e8964db36f143b38f1a4f5  openrct2-1.2.7-objects.zip
41745238b61128777ae4fee1ecb7e9284d84d9b420d653b5371d1349bd00473a98beeaa41688903081390ad38b693cd5e54d230bfc2c255beabbef93ec326f69  openrct2-0.0.67-replays.zip
cd39a38a59b8544d38895255e8719a8c1ca404d56073649c2434db5c4aa121d4f86460cb90e04d16d5da61dff95826de9a634d433087c08dcc4f2222208507b1  Werror.patch
"