blob: d9a805317ca8523f12ba8b1aece0e0275fa1b7d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit unpacker xdg-utils
DESCRIPTION="A glossy Matrix collaboration client for desktop"
HOMEPAGE="https://element.io"
SRC_URI="https://github.com/vector-im/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/vector-im/element-web/archive/v${PV}.tar.gz -> element-web-${PV}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+emoji"
RESTRICT="network-sandbox"
RDEPEND="app-accessibility/at-spi2-atk:2
app-crypt/libsecret
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/Element/chrome-sandbox
/opt/Element/element-desktop
/opt/Element/libEGL.so
/opt/Element/libGLESv2.so
/opt/Element/libffmpeg.so
/opt/Element/libvk_swiftshader.so
/opt/Element/swiftshader/libEGL.so
/opt/Element/swiftshader/libGLESv2.so"
ELEMENT_WEB_S="${WORKDIR}/element-web-${PV}"
src_prepare() {
default
pushd "${ELEMENT_WEB_S}" >/dev/null || die
yarn install || die
cp config.sample.json config.json || die
popd || die
yarn install || die
}
src_compile() {
pushd "${ELEMENT_WEB_S}" >/dev/null || die
yarn build || die
popd || die
ln -s "${ELEMENT_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/Element/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/Element/${PN} /usr/bin/${PN}
dosym ${PN} /usr/bin/riot-desktop
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
elog "Since upgrading Element 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
}
|