blob: 52dc3f093e2eaa55dd79830caf98d0c58d06df97 (
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
|
# Maintainer:
# Contributor: Jonathan Knapp <jaknapp8+aur@gmail.com>
# Contributor: Dmytro Meleshko <dmytro.meleshko@gmail.com>
# Contributor: farseerfc <farseerfc@archlinuxcn.org>
# Contributor: refujee <gmail.com: refujee>
# Contributor: sausageandeggs <archlinux.us: sausageandeggs>
# Contributor: Jesse Jaara <gmail.com: jesse.jaara>
# Select version of Lua. Possible values are luajit, lua51, lua52 and an empty
# string to disable Lua support. luajit is used in the official builds.
: ${_lua=luajit}
: ${_branch=master}
_appexe="powder-toy"
_appid="uk.co.powdertoy.tpt"
_appvendor="powdertoy"
## links
# http://powdertoy.co.uk/
# https://github.com/ThePowderToy/The-Powder-Toy
_pkgname="powder-toy"
pkgname="$_pkgname-git"
pkgver=98.2.365.r43.g6179a73
pkgrel=1
pkgdesc="Desktop version of the classic falling sand physics sandbox, simulates air pressure, velocity & heat!"
url="https://github.com/ThePowderToy/The-Powder-Toy"
license=('GPL-3.0-or-later')
arch=('x86_64' 'i686')
depends=(
"$_lua"
bzip2
curl
fftw
glibc
hicolor-icon-theme
jsoncpp
libpng
sdl2
)
makedepends=(
git
meson
)
provides=("$_pkgname=${pkgver%%.r*}")
conflicts=("$_pkgname")
source=("$_pkgname"::"git+$url.git#branch=$_branch")
sha256sums=('SKIP')
pkgver() {
cd "$_pkgname"
git describe --tags --long --abbrev=7 --match='v[0-9]*' --exclude='*[A-Za-z][A-Za-z]*' \
| sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
build() {
cd "$_pkgname"
local opt_lua opt_sse
case "$_lua" in
luajit) opt_lua=luajit ;;
lua51) opt_lua=lua5.1 ;;
lua52) opt_lua=lua5.2 ;;
*) opt_lua=none ;;
esac
if grep -q -i pni /proc/cpuinfo; then
opt_sse=sse3
elif grep -q -i sse2 /proc/cpuinfo; then
opt_sse=sse2
elif grep -q -i sse /proc/cpuinfo; then
opt_sse=sse
else
opt_sse=none
fi
local extra_flags=(
-Dignore_updates=true
-Dapp_exe="${_appexe}"
-Dapp_id="${_appid}"
-Dapp_vendor="${_appvendor}"
-Dlua="${opt_lua}"
-Dx86_sse="${opt_sse}"
)
echo "building ${pkgname} with the following extra flags: ${extra_flags[*]}"
arch-meson --buildtype=release build "${extra_flags[@]}"
meson compile -C build
}
package() {
cd "$_pkgname"
install -Dm755 "build/${_appexe}" "${pkgdir}/usr/bin/${_appexe}"
install -Dm644 "build/resources/powder.desktop" "${pkgdir}/usr/share/applications/${_appid}.desktop"
install -Dm644 "build/resources/appdata.xml" "${pkgdir}/usr/share/metainfo/${_appid}.appdata.xml"
install -Dm644 "resources/save.xml" "${pkgdir}/usr/share/mime/packages/${_appvendor}-save.xml"
install -Dm644 "resources/powder.man" "${pkgdir}/usr/share/man/man6/${_appexe}.6"
local theme_dir="${pkgdir}/usr/share/icons/hicolor" mimetype="application-vnd.powdertoy.save"
install -Dm644 "resources/icon_exe.svg" "${theme_dir}/scalable/apps/${_appvendor}-${_appexe}.svg"
install -Dm644 "resources/icon_cps.svg" "${theme_dir}/scalable/mimetypes/${mimetype}.svg"
install -Dm644 "resources/generated_icons/icon_exe.png" "${theme_dir}/256x256/apps/${_appvendor}-${_appexe}.png"
install -Dm644 "resources/generated_icons/icon_cps.png" "${theme_dir}/256x256/mimetypes/${mimetype}.png"
local icon_size
for icon_size in 16 32 48; do
install -Dm644 "resources/generated_icons/icon_exe_${icon_size}.png" \
"${theme_dir}/${icon_size}x${icon_size}/apps/${_appvendor}-${_appexe}.png"
install -Dm644 "resources/generated_icons/icon_cps_${icon_size}.png" \
"${theme_dir}/${icon_size}x${icon_size}/mimetypes/${mimetype}.png"
done
}
|