blob: 25570faa604c9d88ea56e629649c2bc16aefa0c1 (
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
105
106
107
108
109
|
# Maintainer: dreieck
_gitname="toppler"
_pkgname="toppler-upstream-levels"
pkgname="${_pkgname}-git"
_pkgver=latest
pkgver=1.3+8.r542.20220323.c8bf02b
pkgrel=3
pkgdesc='Provides the upstream levels ("towers") of the game "toppler" as stand-alone mission files (one file mission per tower), to be played individually and to be loaded into the level editor.'
arch=(
'i686'
'x86_64'
)
url="https://gitlab.com/roever/toppler/"
license=('GPL-3.0-or-later')
depends=(
'sdl2_image'
)
makedepends=(
'git'
'libpng'
'sdl2_mixer'
'zlib'
)
optdepends=(
"toppler: To actually play the game."
)
provides=(
"toppler-levels=${pkgver}"
"${_pkgname}=${pkgver}"
)
conflicts=(
"${_pkgname}"
)
replaces=(
"toppler-levels-darcs"
"toppler-levels<=1.2+10+r531.20220201.8596a68"
)
source=(
"${_gitname}::git+https://gitlab.com/roever/toppler.git"
"fix-for-gcc14.patch"
)
sha256sums=(
'SKIP' # Upstream git source
'25753ed79c12e9635d5ef8cb3f1ec380998f5ccaec37818b056b0541c9cd4c9f' # fix-for-gcc14.patch
)
prepare() {
cd "${srcdir}/${_gitname}"
for _patch in "${srcdir}"/fix-for-gcc14.patch; do
printf '%s\n' " > Applying patch $(basename "${_patch}") ..."
patch -Np1 --follow-symlinks -i "${_patch}"
done
}
pkgver () {
cd "${srcdir}/${_gitname}"
_ver="$(git describe --tags | sed 's|^[vV]||' | sed 's|-[^-]*$||' | tr '-' '+')"
_rev="$(git rev-list --count HEAD)"
_date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")"
_hash="$(git rev-parse --short HEAD)"
if [ -z "${_ver}" ]; then
error "Version could not be determined."
return 1
else
printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
fi
}
build() {
cd "${srcdir}/${_gitname}"
# Build mission creator
make _build/tools/cremission
cd "${srcdir}/toppler/datafile/levels"
# Create single mission per tower -- to be able to play them directly.
find [a-zA-Z]* -maxdepth 0 -type d | while read _mission; do
find "${_mission}" -maxdepth 1 -mindepth 1 -type f | while read _tower; do
_towerfile="$(basename "${_tower}")"
_name="${_mission}: ${_towerfile}"
"${srcdir}/toppler/_build/tools/cremission" "${_name}" "${_mission}.${_towerfile}" 80 "${_mission}.${_towerfile}.info" "${_tower}"
done
done
}
package() {
cd "${srcdir}/${_gitname}/datafile/levels"
for _mission in *.ttm; do
install -D -m644 -v "${_mission}" "${pkgdir}/usr/share/toppler/${_mission}"
done
install -D -m755 -v "${srcdir}/toppler/_build/tools/cremission" "${pkgdir}/usr/share/doc/toppler/levels/cremission"
find [a-zA-Z]* -maxdepth 0 -type d | while read _mission; do
find "${_mission}" -maxdepth 1 -mindepth 1 -type f | while read _tower; do
install -D -m644 -v "${_tower}" "${pkgdir}/usr/share/doc/toppler/levels/${_mission}/$(basename ${_tower})"
done
done
for _docfile in key.txt; do
install -D -m644 -v "${_docfile}" "${pkgdir}/usr/share/doc/toppler/levels/${_docfile}"
done
install -D -v -m644 "${srcdir}/toppler/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING.GPL3.txt"
}
|