blob: 4de81e57d3efe6975a5da7e1388bf851553f9295 (
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
|
# Maintainer: gardenapple <mailbox at appl garden>
# Contributor: kleintux <reg-archlinux AT klein DOT tuxli DOT ch>
pkgname=open-hexagon-git
pkgver=2.0.6.r468.g1e2cba71
_assetsver=1
pkgrel=1
epoch=1
pkgdesc='Challenging rhythm-based arcade game inspired by Super Hexagon'
url='https://openhexagon.org/'
arch=('any')
license=('custom:AFL-3.0' 'custom:non-free')
depends=('zenity' # for 'launcher' interface
'freetype2'
'glew'
'libsndfile'
'libx11'
'libxcursor'
'libxrandr'
'openal')
makedepends=('git'
'cmake'
'mesa')
optdepends=('steam: integration for those who own the game on Steam'
'discord: Discord Rich Presence support')
provides=('open-hexagon')
conflicts=('open-hexagon')
source=('git+https://github.com/SuperV1234/SSVOpenHexagon.git'
"open-hexagon-git-assets-$_assetsver.zip::https://github.com/SuperV1234/SSVOpenHexagonAssets/archive/master.zip"
'open-hexagon-git.install'
'open-hexagon'
'open-hexagon.desktop')
install="$pkgname.install"
sha512sums=('SKIP'
'5733647987d84887ce65717f8787629a4a4cf2de1af4ef15a06158988aa706e5392cae7b1ff3fd29e9387b9dc7dd1b35c6da059360a508c3e4746b66217631d2'
'445788e067bdc5e73f804189952495a4f086ac662e4e213528fc0e48dfee7ebb3200f51989100b1c1a3b29378c91a0b540300f17cd6ec087427973223919f0a4'
'79cdfbfe7a5a7963c7c21e8bf5815475afb8348c53b464d51bcc9ac14b8135d0c3608078a9db42046fbb8fab77d1341967821732b532b1e6ba2528e7ac066644'
'bc7d1e1a420a439283b4fcf2f06a8a50ca06d3934b79f6a93ff4ad4d269d6b246eb6a1824381c36bbb73fc7d24e9883281ab66eab05b2cc2fdbac3ed14a775d5')
_reponame="SSVOpenHexagon"
_assetsname="SSVOpenHexagonAssets-master"
pkgver() {
# Use the most recent un-annotated tag
cd "$srcdir/$_reponame"
git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
build() {
cd "$srcdir/$_reponame"
# Instructions from
# https://github.com/vittorioromeo/SSVOpenHexagon/wiki/Building-Instructions#arch-based
git submodule init
git submodule update
cd buildlx/
cmake ..
( # patch for latest GCC
cd _deps/sfml-src/include/SFML/
sed -i '1i #include <cstdint>' System/Utf.hpp System/String.hpp Network/Packet.hpp
)
make
mv SSVOpenHexagon ../_RELEASE
# Copy assets without overwriting
( yes n | cp -r -i "$srcdir/$_assetsname/_RELEASE/" "$srcdir/$_reponame/" 2> /dev/null ) || echo "Assets merged."
}
package() {
mkdir -p "$pkgdir/usr/lib"
cd "$srcdir/$_reponame"
cp -r "_RELEASE" "$pkgdir/usr/lib/open-hexagon"
install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/open-hexagon/"
# Install CMake-pulled dependencies
mkdir -p "$pkgdir/usr/lib/open-hexagon/_deps"
find buildlx/_deps/*-build/ \( -name '*.so.*' -o -name '*.so' \) \
-execdir mv -- '{}' "$pkgdir/usr/lib/open-hexagon/_deps" \;
cd "$pkgdir/usr/lib/open-hexagon"
# Move libraries to separate dir
rm -f *.bat *.dll *.lib
mv *.so _deps/
rm _deps/libz.so*
# Dirty hack to allow writing data to shared /var/ directory rather than current directory
# (also see .install file)
rm -rf Profiles Replays
mkdir -p "$pkgdir/var/lib/open-hexagon"
for i in config.json log.txt Profiles Replays; do
ln -sf "../../../var/lib/open-hexagon/$i"
done
# Misc. cleanup
mv "Assets/Open Hexagon Assets License.txt" "$pkgdir/usr/share/licenses/open-hexagon/"
install -Dm644 "luadocs.md" -t "$pkgdir/usr/share/doc/open-hexagon/"
rm luadocs.md *.sh users.json scores.json
# Executables
install -Dm755 "$srcdir/open-hexagon" -t "$pkgdir/usr/bin"
install -Dm644 "$srcdir/open-hexagon.desktop" -t "$pkgdir/usr/share/applications"
install -Dm644 "$srcdir/$_reponame/_RELEASE/Assets/icon.png" "$pkgdir/usr/share/pixmaps/open-hexagon.png"
}
|