You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-overlay/net-im/riot-desktop/riot-desktop-1.6.2.ebuild

118 lines
2.5 KiB

# 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/crashpad_handler
/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
}