diff options
Diffstat (limited to 'net-im/element-desktop/element-desktop-1.12.6.ebuild')
| -rw-r--r-- | net-im/element-desktop/element-desktop-1.12.6.ebuild | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/net-im/element-desktop/element-desktop-1.12.6.ebuild b/net-im/element-desktop/element-desktop-1.12.6.ebuild new file mode 100644 index 000000000000..a207e1e2a67a --- /dev/null +++ b/net-im/element-desktop/element-desktop-1.12.6.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit unpacker rust xdg + +DESCRIPTION="A glossy Matrix collaboration client for desktop" +HOMEPAGE="https://element.io" +SRC_URI="https://github.com/element-hq/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/element-hq/element-web/archive/v${PV}.tar.gz -> element-web-${PV}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+emoji keyring" + +RESTRICT="network-sandbox" #The setup script needs internet connection, including for yarn install + +RDEPEND=" + !net-im/element-desktop-bin + >=app-accessibility/at-spi2-core-2.46.0 + app-crypt/libsecret + dev-db/sqlcipher + dev-libs/expat + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa + net-libs/nodejs + net-print/cups + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libdrm + 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 + >=net-libs/nodejs-22.18.0 +" + +QA_PREBUILT=" + opt/Element/resources/app.asar.unpacked/node_modules/keytar-forked/build/Release/keytar.node + opt/Element/chrome-sandbox + opt/Element/libEGL.so + opt/Element/chrome_crashpad_handler + opt/Element/resources/app.asar.unpacked/node_modules/matrix-seshat/index.node + opt/Element/element-desktop + opt/Element/libffmpeg.so + opt/Element/libvulkan.so.1 + opt/Element/libGLESv2.so + opt/Element/libvk_swiftshader.so +" + +ELEMENT_WEB_S="${WORKDIR}/element-web-${PV}" + +pkg_setup() { + rust_pkg_setup +} + +src_prepare() { + default + pushd "${ELEMENT_WEB_S}" >/dev/null || die + yarn install || die + cp config.sample.json config.json || die + popd >/dev/null || die + + yarn install || die +} + +src_compile() { + pushd "${ELEMENT_WEB_S}" >/dev/null || die + yarn build || die + popd >/dev/null || die + + ln -s "${ELEMENT_WEB_S}"/webapp ./ || die + yarn build:native || die + # Use sed to temporarily fix upstream bug in app-builder-lib https://github.com/electron-userland/electron-builder/issues/9355 + sed -i 's/else if (isCi) {/else if (isCi.isCI) {/' node_modules/app-builder-lib/out/publish/PublishManager.js || die + yarn build || die +} + +src_install() { + unpack dist/${PN}_${PV}_amd64.deb + tar -xvf data.tar.xz || die + + ./node_modules/@electron/universal/node_modules/@electron/asar/bin/asar.js p webapp opt/Element/resources/webapp.asar || die + mv -n 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 + fperms u+s /opt/Element/chrome-sandbox + + dosym ../../opt/Element/${PN} /usr/bin/${PN} + dosym ${PN} /usr/bin/riot-desktop +} |
