commit: 5aead5db63a4f88677b0a400b6003dded3468bb8 Author: Filip Kszczot <filip <AT> kszczot <DOT> pl> AuthorDate: Fri Nov 21 18:04:19 2025 +0000 Commit: Haelwenn Monnier <contact <AT> hacktivis <DOT> me> CommitDate: Fri Nov 21 18:04:19 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=5aead5db
net-im/element-desktop: new package, add 1.12.3 Signed-off-by: Filip Kszczot <filip <AT> kszczot.pl> net-im/element-desktop/Manifest | 2 + .../element-desktop/element-desktop-1.12.3.ebuild | 114 +++++++++++++++++++++ net-im/element-desktop/metadata.xml | 15 +++ 3 files changed, 131 insertions(+) diff --git a/net-im/element-desktop/Manifest b/net-im/element-desktop/Manifest new file mode 100644 index 0000000000..3dbf34c223 --- /dev/null +++ b/net-im/element-desktop/Manifest @@ -0,0 +1,2 @@ +DIST element-desktop-1.12.3.tar.gz 3155645 BLAKE2B 0bad577b47fd6b77ece3d6712170d7f2b765188d1b35e1cc0d627aa188494637267443963a4ea831fd7ac93046d6e9ae9cae8cd8a8d93147889df9983a11a60d SHA512 f302907165a35f4a4f069f5aec6bc28edeba3d09c75f483c818e3930ceb4e838e5bb91ad9d42019a11a661d6e656da3c1ff25507cbb281c69183aac7d499e882 +DIST element-web-1.12.3.tar.gz 24197114 BLAKE2B fc4d5789167d861be92c5600bbbf6965d55208f4654f6d219cc1360b56e33d7ded90ea5b8430abf195cb06fff5e5003c2116c47d78950cb3a4a4ba2af2091b7c SHA512 b845ff71ca39d7ae4dca9bb55e821bfdf911b12de5d012ba55d598f3287046fb2b525bce608925a9fa8fa7d39a4ceed9b4213d5d1c1d0c9e6b9b72154c9a35a5 diff --git a/net-im/element-desktop/element-desktop-1.12.3.ebuild b/net-im/element-desktop/element-desktop-1.12.3.ebuild new file mode 100644 index 0000000000..9ba6b200b4 --- /dev/null +++ b/net-im/element-desktop/element-desktop-1.12.3.ebuild @@ -0,0 +1,114 @@ +# 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" + +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" + +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 +} diff --git a/net-im/element-desktop/metadata.xml b/net-im/element-desktop/metadata.xml new file mode 100644 index 0000000000..d56de587fe --- /dev/null +++ b/net-im/element-desktop/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Filip Kszczot</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/element-hq/element-web/issues</bugs-to> + <remote-id type="github">element-hq/element-web</remote-id> + </upstream> + <use> + <flag name="emoji">Use <pkg>media-fonts/noto-emoji</pkg> for displaying emoji</flag> + </use> +</pkgmetadata>
