aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/riot-desktop/riot-desktop-1.6.8.ebuild')
-rw-r--r--net-im/riot-desktop/riot-desktop-1.6.8.ebuild116
1 files changed, 116 insertions, 0 deletions
diff --git a/net-im/riot-desktop/riot-desktop-1.6.8.ebuild b/net-im/riot-desktop/riot-desktop-1.6.8.ebuild
new file mode 100644
index 0000000..f6b486f
--- /dev/null
+++ b/net-im/riot-desktop/riot-desktop-1.6.8.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A glossy Matrix collaboration client for desktop"
+HOMEPAGE="https://riot.im"
+
+inherit unpacker xdg-utils
+
+SRC_URI="https://github.com/vector-im/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/vector-im/riot-web/archive/v${PV}.tar.gz -> riot-web-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+emoji"
+REQUIRED_USE=""
+
+RESTRICT="network-sandbox"
+
+RDEPEND="app-accessibility/at-spi2-atk:2
+ dev-db/sqlcipher
+ dev-libs/atk
+ dev-libs/expat
+ dev-libs/nspr
+ dev-libs/nss
+ >=net-libs/nodejs-12.14.0
+ net-print/cups
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libxcb
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libXScrnSaver
+ x11-libs/pango
+ emoji? ( media-fonts/noto-emoji )"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-apps/yarn
+ virtual/rust"
+
+QA_PREBUILT="
+ /opt/Riot/chrome-sandbox
+ /opt/Riot/riot-desktop
+ /opt/Riot/libEGL.so
+ /opt/Riot/libGLESv2.so
+ /opt/Riot/libffmpeg.so
+ /opt/Riot/libvk_swiftshader.so
+ /opt/Riot/swiftshader/libEGL.so
+ /opt/Riot/swiftshader/libGLESv2.so"
+
+RIOT_WEB_S="${WORKDIR}/riot-web-${PV}"
+
+src_prepare() {
+ default
+ pushd "${RIOT_WEB_S}" >/dev/null || die
+ yarn install || die
+ cp config.sample.json config.json || die
+
+ popd || die
+ yarn install || die
+}
+
+src_compile() {
+ pushd "${RIOT_WEB_S}" >/dev/null || die
+ yarn build || die
+
+ popd || die
+ ln -s "${RIOT_WEB_S}"/webapp ./ || die
+ yarn build:native || die
+ yarn build || die
+}
+
+src_install() {
+ unpack dist/${PN}_${PV}_amd64.deb
+ tar -xvf data.tar.xz || die
+
+ ./node_modules/asar/bin/asar.js p webapp opt/Riot/resources/webapp.asar || die
+ mv usr/share/doc/${PN} usr/share/doc/${PF} || die
+ gunzip usr/share/doc/${PF}/changelog.gz || die
+
+ insinto /
+ doins -r usr
+ doins -r opt
+ local f
+ for f in ${QA_PREBUILT}; do
+ fperms +x "${f}"
+ done
+ dosym ../../opt/Riot/${PN} /usr/bin/${PN}
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+
+ elog "Since upgrading Riot to Electron 8 it uses StatusNotifierItem"
+ elog "for displaying the tray icon."
+ elog "Some popular status bars do not support the new API."
+ elog
+ elog "If you have problems with showing the tray icon, consider installing"
+ elog "x11-misc/snixembed."
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}