# Template file for 'element-desktop'
pkgname=element-desktop
version=1.7.4
revision=3
wrksrc="element-web-${version}"
conf_files="/etc/${pkgname}/config.json"
hostmakedepends="git yarn nodejs rust cargo python sqlcipher-devel curl libappindicator-devel libnotify-devel pkg-config"
makedepends="libsecret-devel"
depends="c-ares ffmpeg gtk+3 http-parser libevent libxslt minizip nss re2 snappy sqlcipher electron9"
short_desc="Glossy Matrix collaboration client, desktop version"
maintainer="projectmoon <projectmoon@agnos.is>"
license="Apache-2.0"
homepage="https://element.io"
distfiles="https://github.com/vector-im/element-desktop/archive/v${version}.tar.gz>element-desktop.tar.gz https://github.com/vector-im/element-web/archive/v${version}.tar.gz>element-web.tar.gz"
checksum="e9f5855e432841aa503f3a2e85073c466992e1a28b697b21cb370485c6c4aa35
 96b38a348bc7ba1530171aa730f8a02a469fb5e57e524034ebd2768ed21f1c97"
nocross=yes

pre_build() {
	# Build dependencies for riot-web
	yarn install

	# Build dependencies and alterations for element-desktop
	cd ../element-desktop-${version}
	# Disable auto-updating
	sed -i 's@https://packages.riot.im/desktop/update/@null@g' element.io/release/config.json
	sed -i 's/"target": "deb"/"target": "dir"/g' package.json
	yarn install
}

do_build() {
	yarn build
	cd ../element-desktop-${version}
	yarn run build:native
	yarn run build
}

do_install() {
	vmkdir usr/lib/element-desktop
	vmkdir etc/element-desktop
	case "$XBPS_TARGET_MACHINE" in
		i686*) vcopy ../element-desktop-${version}/dist/linux-ia32-unpacked/resources /usr/lib/element-desktop/resources;;
		*) vcopy ../element-desktop-${version}/dist/linux-unpacked/resources /usr/lib/element-desktop/resources
	esac
	vinstall config.sample.json 644 /etc/element-desktop/ config.json
	vcopy webapp /usr/lib/element-desktop/resources
	ln -s /etc/element-desktop/config.json $DESTDIR/usr/lib/element-desktop/resources/webapp/config.json

	vbin ${FILESDIR}/element-desktop
	ln -s element-desktop $DESTDIR/usr/bin/riot-desktop
	vinstall ${FILESDIR}/element-desktop.desktop 644 /usr/share/applications/ element-desktop.desktop
	vinstall webapp/themes/element/img/logos/element-logo.svg 644 /usr/share/icons/hicolor/scalable/apps/ element.svg

	for i in 16 24 48 64 96 128 256 512; do
		vinstall ../element-desktop-${version}/build/icons/${i}x${i}.png 644 /usr/share/icons/hicolor/${i}x${i}/apps/ element.png
	done
}

riot-desktop_package() {
	depends="element-desktop"
	short_desc+=" (transitional dummy package)"
	build_style=meta
}
