From 913d97e13cffb9540c83e491ca58bd10b6d2cb32 Mon Sep 17 00:00:00 2001 From: kisukalat Date: Sat, 24 Jan 2026 03:10:51 +0200 Subject: [PATCH] Initial commit --- metadata/layout.conf | 3 + net-im/equibop-bin/Manifest | 2 + net-im/equibop-bin/equibop-bin-3.1.6.ebuild | 156 ++++++++++++++++++++ net-im/equibop-bin/files/launcher.sh | 22 +++ profiles/eapi | 1 + profiles/repo_name | 1 + 6 files changed, 185 insertions(+) create mode 100644 metadata/layout.conf create mode 100644 net-im/equibop-bin/Manifest create mode 100644 net-im/equibop-bin/equibop-bin-3.1.6.ebuild create mode 100644 net-im/equibop-bin/files/launcher.sh create mode 100644 profiles/eapi create mode 100644 profiles/repo_name diff --git a/metadata/layout.conf b/metadata/layout.conf new file mode 100644 index 0000000..20fcfea --- /dev/null +++ b/metadata/layout.conf @@ -0,0 +1,3 @@ +masters = gentoo +thin-manifests = true +sign-manifests = false diff --git a/net-im/equibop-bin/Manifest b/net-im/equibop-bin/Manifest new file mode 100644 index 0000000..22d6763 --- /dev/null +++ b/net-im/equibop-bin/Manifest @@ -0,0 +1,2 @@ +DIST equibop_3.1.6_amd64.deb 161105846 BLAKE2B d67dee0568a1b57012e55569c66b0f2fb19e07278433a1b2c16407c2065c26924cefe22036fee05cf5b0f1feddaddfc0a1bd08c3608de4f524a5235b613d182d SHA512 28c480f3f95a7a146416f13b9efd6989ec175823c55f9d7da47ece5d70aa7d35fbf7f13e81bccd10df3fc405e3960b7048235be3a4712ef7b45ece3b3de28ad0 +DIST equibop_3.1.6_arm64.deb 153728354 BLAKE2B 998338b53b085d470f5cf47d0a95a816c15a34dbec9da855a7bb64ed82e1e7c5e7217f18f40a83848212c35eff99b5d36e8e15ca7d35b442f5afa9c27c8f348f SHA512 e83d992f44b61e7314eedc0b68d7b9155879340371f7bf942293f149c4fc7de80ef708c072aa39cd88c3989d9f5ce0ab44cbe9de5772a0fadb021b44d05a9c4b diff --git a/net-im/equibop-bin/equibop-bin-3.1.6.ebuild b/net-im/equibop-bin/equibop-bin-3.1.6.ebuild new file mode 100644 index 0000000..39c8881 --- /dev/null +++ b/net-im/equibop-bin/equibop-bin-3.1.6.ebuild @@ -0,0 +1,156 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS=" + af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi + hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv + sw ta te th tr uk ur vi zh-CN zh-TW +" + +inherit chromium-2 desktop linux-info optfeature unpacker xdg + +DESCRIPTION="Discord Desktop with Equicord preinstalled" +HOMEPAGE="https://github.com/Equicord/Equibop" +SRC_URI=" + amd64? ( https://github.com/Equicord/Equibop/releases/download/v${PV}/equibop_${PV}_amd64.deb ) + arm64? ( https://github.com/Equicord/Equibop/releases/download/v${PV}/equibop_${PV}_arm64.deb ) +" +S="${WORKDIR}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm64" +IUSE="+seccomp wayland" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/fontconfig + media-libs/mesa[gbm(+)] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXScrnSaver + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + sys-libs/glibc +" + +DESTDIR="/opt/equibop" + +QA_PREBUILT="*" + +CONFIG_CHECK="~USER_NS" + +src_configure() { + default + chromium_suid_sandbox_check_kernel_config +} + +src_prepare() { + default + + # Remove post-install scripts + rm -f opt/Equibop/postinst.sh opt/Equibop/resources/apparmor-profile || + die "removal of unneeded post-install scripts failed" + + # Cleanup languages + pushd "opt/Equibop/locales/" >/dev/null || die "location change for language cleanup failed" + chromium_remove_language_paks + popd >/dev/null || die "location reset for language cleanup failed" + + # Fix .desktop exec location + sed --in-place --expression "s:/opt/Equibop/equibop:equibop:g" \ + usr/share/applications/equibop.desktop || + die "fixing of exec location on .desktop failed" + + # Update exec location in launcher + sed --expression "s:@@DESTDIR@@:${DESTDIR}:" \ + "${FILESDIR}/launcher.sh" > "${T}/launcher.sh" || die "updating of exec location in launcher failed" + + # USE seccomp in launcher + if use seccomp; then + sed --in-place --expression '/^EBUILD_SECCOMP=/s/false/true/' \ + "${T}/launcher.sh" || die "sed failed for seccomp" + fi + + # USE wayland in launcher + if use wayland; then + sed --in-place --expression '/^EBUILD_WAYLAND=/s/false/true/' \ + "${T}/launcher.sh" || die "sed failed for wayland" + fi +} + +src_install() { + doicon usr/share/icons/hicolor/scalable/apps/equibop.svg + + # Install .desktop file + domenu usr/share/applications/equibop.desktop + + exeinto "${DESTDIR}" + + doexe opt/Equibop/equibop opt/Equibop/chrome-sandbox \ + opt/Equibop/libEGL.so opt/Equibop/libffmpeg.so \ + opt/Equibop/libGLESv2.so opt/Equibop/libvk_swiftshader.so + + insinto "${DESTDIR}" + doins opt/Equibop/chrome_100_percent.pak opt/Equibop/chrome_200_percent.pak \ + opt/Equibop/icudtl.dat opt/Equibop/resources.pak \ + opt/Equibop/snapshot_blob.bin opt/Equibop/v8_context_snapshot.bin \ + opt/Equibop/vk_swiftshader_icd.json + + # Install vulkan library if present + [[ -f opt/Equibop/libvulkan.so.1 ]] && doexe opt/Equibop/libvulkan.so.1 + + insopts -m0755 + doins -r opt/Equibop/locales opt/Equibop/resources + + # Chrome-sandbox requires the setuid bit to be specifically set. + # see https://github.com/electron/electron/issues/17972 + fowners root "${DESTDIR}/chrome-sandbox" + fperms 4711 "${DESTDIR}/chrome-sandbox" + + # Crashpad is included in the package once in a while and when it does, it must be installed. + # See #903616 and #890595 + [[ -x opt/Equibop/chrome_crashpad_handler ]] && doins opt/Equibop/chrome_crashpad_handler + + exeinto "/usr/bin" + newexe "${T}/launcher.sh" "equibop" || die "failing to install launcher" +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Install the following packages for additional support:" + optfeature "screenshare audio support (Equibop feature)" media-video/pipewire + optfeature "legacy sound support" media-sound/pulseaudio media-sound/apulse[sdk] + optfeature "emoji support" media-fonts/noto-emoji + optfeature "password storage" app-crypt/libsecret gnome-base/gnome-keyring + + if has_version kde-plasma/kwin[-screencast] && use wayland; then + einfo " " + einfo "When using KWin on Wayland, the kde-plasma/kwin[screencast] USE flag" + einfo "must be enabled for screensharing." + einfo " " + fi +} + diff --git a/net-im/equibop-bin/files/launcher.sh b/net-im/equibop-bin/files/launcher.sh new file mode 100644 index 0000000..aaa28bb --- /dev/null +++ b/net-im/equibop-bin/files/launcher.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +declare -a equibop_flags + +# Variables set during ebuild configuration +EBUILD_SECCOMP=false +EBUILD_WAYLAND=false + +# Seccomp sandbox +"${EBUILD_SECCOMP}" || equibop_flags+=( --disable-seccomp-filter-sandbox ) + +# Wayland support +if "${EBUILD_WAYLAND}" && [[ -n "${WAYLAND_DISPLAY}" ]]; then + equibop_flags+=( + --enable-features=UseOzonePlatform + --ozone-platform=wayland + --enable-wayland-ime + ) +fi + +exec @@DESTDIR@@/equibop "${equibop_flags[@]}" "$@" + diff --git a/profiles/eapi b/profiles/eapi new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/profiles/eapi @@ -0,0 +1 @@ +8 diff --git a/profiles/repo_name b/profiles/repo_name new file mode 100644 index 0000000..84e12bc --- /dev/null +++ b/profiles/repo_name @@ -0,0 +1 @@ +kisulay