-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
template
65 lines (60 loc) · 2.6 KB
/
template
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
# Template file for 'riot-desktop'
pkgname=riot-desktop
version=1.5.15
revision=1
archs="i686 x86_64"
wrksrc="riot-web-${version}"
conf_files="/etc/${pkgname}/config.json"
hostmakedepends="git yarn nodejs rust cargo python sqlcipher-devel curl"
depends="c-ares ffmpeg gtk+3 http-parser libevent libxslt minizip nss re2 snappy"
short_desc="Glossy Matrix collaboration client, desktop version"
maintainer="Orphaned <orphan@voidlinux.org>"
license="Apache-2.0"
homepage="https://riot.im"
distfiles="https://github.com/vector-im/riot-web/archive/v${version}.tar.gz"
checksum="3d5512f842fa436aef00b1b1f1c5ced4a4f1adc5cc1bcfddbc77573387f9cc42"
nocross=yes
nostrip=yes
shlib_provides="libGLVESv2.so"
case "$XBPS_TARGET_MACHINE" in
i686*) broken="/void-packages/srcpkgs/riot-desktop/template: line 20: 390 Segmentation fault" ;;
esac
pre_build() {
# This section is borrowed from the Arch PKGBUILD
sed -i 's@https://riot.im/download/desktop/update/@null@g' electron_app/riot.im/config.json
sed -i 's/"target": "deb"/"target": "dir"/g' package.json
yarn install
# Add the matrix-seshat package (which is needed for search in E2E encrypted
# rooms) as well as the electron-build-env package, which gets used later to
# rebuild the native libraries against electron’s version of node.
# See here for more information:
# https://github.com/vector-im/riot-web/blob/develop/docs/native-node-modules.md#adding-seshat-for-search-in-e2e-encrypted-rooms
cd electron_app
yarn add matrix-seshat
yarn add electron-build-env
# Finally also enable the event indexing feature in the config.
sed -i 's/"features": {/"features": {\n "feature_event_indexing": "enable",/' riot.im/config.json
}
do_build() {
# This is also borrowed from the Arch PKGBUILD
cd electron_app
# Recompile matrix-seshat
yarn run electron-build-env -- --electron 7 neon build matrix-seshat --release
cd ..
# Do the actual build
yarn build:electron:linux
}
do_install() {
vmkdir usr/lib/riot-desktop
vmkdir etc/riot-desktop
vcopy electron_app/dist/linux-unpacked/* /usr/lib/riot-desktop
vinstall config.sample.json 664 /etc/riot-desktop/ config.json
ln -s /etc/riot-desktop/config.json $DESTDIR/usr/lib/riot-desktop/resources/webapp
vmkdir usr/bin
ln -s /usr/lib/riot-desktop/riot-web $DESTDIR/usr/bin/riot-desktop
vinstall ${FILESDIR}/riot-desktop.desktop 644 /usr/share/applications/ riot-desktop.desktop
vinstall res/themes/riot/img/logos/riot-im-logo.svg 644 /usr/share/icons/hicolor/scalable/apps/ riot.svg
for i in 16 24 48 64 96 128 256 512; do
vinstall electron_app/build/icons/${i}x${i}.png 644 /usr/share/icons/hicolor/${i}x${i}/apps/ riot.png
done
}