# Template file for 'element-desktop' pkgname=element-desktop version=1.7.30 revision=1 wrksrc="element-web-${version}" conf_files="/etc/${pkgname}/config.json" hostmakedepends="git yarn nodejs rust cargo python3 curl sqlcipher-devel libappindicator-devel libnotify-devel pkg-config app-builder" makedepends="libsecret-devel" depends="c-ares ffmpeg gtk+3 http-parser libevent libxslt minizip nss re2 snappy sqlcipher electron12" short_desc="Glossy Matrix collaboration client, desktop version" maintainer="projectmoon " license="Apache-2.0" homepage="https://element.io" _ghpage="https://github.com/vector-im" _archive="archive/v${version}.tar.gz" distfiles="${_ghpage}/element-desktop/${_archive}>element-desktop.tar.gz ${_ghpage}/element-web/${_archive}>element-web.tar.gz" checksum="dfa46e98b52c20b431dc62be3c7dc3c960b1aba6d98af7e2aa0c06ce4e076c9e 86b07a8510cda86ce489b376b2069415579a3576100ddddd8ddcd1f2c29ac025" export USE_SYSTEM_APP_BUILDER=true pre_build() { # Build dependencies for element-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 # normally just "yarn run build" would be okay, but at least on ppc64 # we need to force x86_64 arch as electron-builder does not support # ppc64 and fails on arch detection; ARM is supported so just use build case "$XBPS_TARGET_MACHINE" in x86_64*|ppc64*) yarn run build64 ;; i686*) yarn run build32 ;; *) yarn run build ;; esac } 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 }