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.
118 lines
2.5 KiB
118 lines
2.5 KiB
4 years ago
|
# 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
|
||
|
}
|