blob: d3cc42c79cc244031b23bbc515475c2118c53b43 (
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
110
111
112
113
114
115
116
117
118
|
# Maintainer: dreieck
_pkgbase=toppler
_pkgname="${_pkgbase}-levels"
pkgname="${_pkgname}-darcs"
_pkgver=latest
pkgver=1.1.6+r37.d20121219
pkgrel=2
pkgdesc='Provides the levels ("towers") of the game "toppler" as stand-alone mission files (one file mission per tower).'
arch=('any')
url="http://toppler.sourceforge.net/"
license=('GPL')
depends=()
makedepends=(
'awk'
'darcs'
'sdl_mixer'
'zlib'
)
optdepends=(
"toppler: To actually play the game."
)
provides=("${_pkgname}=${pkgver}" "${_pkgname}-git=${pkgver}")
conflicts=("${_pkgname}" "${_pkgname}-git")
source=(
)
sha256sums=(
)
_darcs_src=(
"http://toppler.sourceforge.net/repos/toppler/" # Is needed for decl.o
"http://toppler.sourceforge.net/repos/levels/"
)
_configure_options=(
--prefix=/usr
--localstatedir=/usr/share
--enable-nls
--disable-rpath
)
prepare() {
cd "${srcdir}/"
msg2 "Checking out darcs sources. Need to do it in 'prepare()', since 'makepkg' does not know how to handle 'darcs' VCS. Also installs the levels, for reference."
for _src in "${_darcs_src[@]}"; do
msg2 "Checking out '${_src}' ..."
if [ -d "$(basename "${_src}")" ]; then
rm -Rf "$(basename "${_src}")"
fi
darcs clone --set-scripts-executable --lazy "${_src}"
done
}
pkgver() {
cd "${srcdir}/levels"
_ver="$(< "${srcdir}/toppler/VERSION")"
_rev="$(darcs log --all --number --no-summary --reverse | head -n1 | awk '{print $1}' | tr -d ':')"
_date="$(date -d "$(darcs log --no-summary --last=1 --machine-readable | grep -E '^Date:' | head -n 1 | sed -E 's|^Date:[[:space:]]*||')" '+%Y%m%d')"
if [ -z ${_ver} ]; then
printf '%s\n' "Error in 'pkgver()': Could not determine version."
return 1
fi
if [ -z ${_rev} ]; then
printf '%s\n' "Error in 'pkgver()': Could not determine commit count."
return 1
fi
if [ -z ${_date} ]; then
printf '%s\n' "Error in 'pkgver()': Could not determine latest commit date."
return 1
fi
printf '%s' "${_ver}+r${_rev}.d${_date}"
}
build() {
cd "${srcdir}/toppler"
# Build "toppler" in order to get 'decl.o'
./autogen.sh "${_configure_options}"
./configure "${_configure_options}"
make toppler
cd "${srcdir}/levels"
# Create mission creator
make cremission
# 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
_name="${_mission}: $(basename "${_tower}")"
./cremission "${_name}" 80 "${_tower}"
mv ~/.toppler/"${_name}".ttm .
done
done
}
package() {
cd "${srcdir}/levels"
# FIXME: Currently, missions created by `cremission` are broken, so do not install them.
#for _mission in *.ttm; do
# install -D -m644 -v "${_mission}" "${pkgdir}/usr/share/toppler/${_mission}"
#done
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/${_pkgbase}/levels/${_mission}/$(basename ${_tower})"
done
done
for _docfile in key.txt; do
install -D -m644 -v "${_docfile}" "${pkgdir}/usr/share/doc/${_pkgbase}/levels/${_docfile}"
done
}
|