# Template file for 'Rocket.Chat-Desktop'
pkgname=Rocket.Chat-Desktop
version=3.8.7
revision=3
_electron_ver=19
hostmakedepends="yarn nodejs python3 pkg-config app-builder"
makedepends="electron${_electron_ver} libvips-devel"
depends="electron${_electron_ver}"
short_desc="Rocket.Chat Native Cross-Platform Desktop Application via Electron"
maintainer="John <me@johnnynator.dev>"
license="MIT"
homepage="https://rocket.chat/"
distfiles="https://github.com/RocketChat/Rocket.Chat.Electron/archive/${version}.tar.gz"
checksum=ac46390b4ae9e193efa92d5a38947c99fa94140604302b6850b9167e49eea453

export USE_SYSTEM_APP_BUILDER=true

do_configure() {
	# we can't make electron skip binary download as that fails in do_build
	# so instead, force a bogus architecture so it downloads its binary
	# artifact, it will use the system one later anyway
	# but this appears to fail on i686, so don't override there
	local carch=x64
	case "$XBPS_TARGET_MACHINE" in
		i686*) carch=ia32 ;;
	esac
	npm_config_arch=$carch \
		yarn upgrade electron@"$(</usr/lib/electron${_electron_ver}/version)" \
			--non-interactive
}

do_build() {
	export NODE_ENV=production
	export NODE_OPTIONS=--openssl-legacy-provider
	yarn build
	yarn run electron-builder --linux --x64 --dir \
		-c.electronDist=/usr/lib/electron${_electron_ver} \
		-c.electronVersion="$(</usr/lib/electron${_electron_ver}/version)"
}
do_install() {
	vinstall "${FILESDIR}/Rocket.Chat-Desktop.desktop" 644 usr/share/applications
	cat > Rocket.Chat-Desktop <<-EOF
	#!/bin/sh
	exec electron${_electron_ver} /usr/lib/Rocket.Chat-Desktop.asar "\$@"
	EOF
	vbin Rocket.Chat-Desktop
	vinstall build/icons/512x512.png 644 usr/share/icons/hicolor/512x512/apps Rocket.Chat-Desktop.png
	vlicense LICENSE
	vinstall "dist/linux-unpacked/resources/app.asar" 644 /usr/lib Rocket.Chat-Desktop.asar
}
