diff --git a/net-im/equibop-bin/Manifest b/net-im/equibop-bin/Manifest index 22d6763..89d7c9e 100644 --- a/net-im/equibop-bin/Manifest +++ b/net-im/equibop-bin/Manifest @@ -1,2 +1,4 @@ DIST equibop_3.1.6_amd64.deb 161105846 BLAKE2B d67dee0568a1b57012e55569c66b0f2fb19e07278433a1b2c16407c2065c26924cefe22036fee05cf5b0f1feddaddfc0a1bd08c3608de4f524a5235b613d182d SHA512 28c480f3f95a7a146416f13b9efd6989ec175823c55f9d7da47ece5d70aa7d35fbf7f13e81bccd10df3fc405e3960b7048235be3a4712ef7b45ece3b3de28ad0 DIST equibop_3.1.6_arm64.deb 153728354 BLAKE2B 998338b53b085d470f5cf47d0a95a816c15a34dbec9da855a7bb64ed82e1e7c5e7217f18f40a83848212c35eff99b5d36e8e15ca7d35b442f5afa9c27c8f348f SHA512 e83d992f44b61e7314eedc0b68d7b9155879340371f7bf942293f149c4fc7de80ef708c072aa39cd88c3989d9f5ce0ab44cbe9de5772a0fadb021b44d05a9c4b +DIST equibop_3.1.7_amd64.deb 180355744 BLAKE2B d65ff2703624b9213cf0af3ce21159bd1c38ca978841af96a28430543b62098a67d56673787d42dc2f5a260554ad4e03f9ede12f2e658509e21baf3591204d62 SHA512 4c324ae7c67a2a2a0f09c48c3b9ce7cf316a297e78380f5315f5c63e920e763d720b6d75f76b3a37989615ec73260160f130ecd6673ede8ff42aa28f58a62657 +DIST equibop_3.1.7_arm64.deb 172746404 BLAKE2B cb296261ea8e754fabbec96a51bb5830f0fbf4f180aaed720905f4694f57f919562556d9f39a4e035bef76a8f65d70e4f2578f9ad5f79e687a1cbed033e20f15 SHA512 2cb66ff01b5c62b572f1e1da5ea60f886e054d6482071b296055e8d84251cf2434afbc203275955a8249dbf56bdbd938a0ed6f673caf90880c4f2c62aa111d96 diff --git a/net-im/equibop-bin/equibop-bin-3.1.7.ebuild b/net-im/equibop-bin/equibop-bin-3.1.7.ebuild new file mode 100644 index 0000000..39c8881 --- /dev/null +++ b/net-im/equibop-bin/equibop-bin-3.1.7.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 +} +