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>

Reply via email to