summaryrefslogtreecommitdiff
path: root/gui-libs
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-07-29 03:04:48 -0500
committerroot <root@alpha.trunkmasters.com>2026-07-29 03:04:48 -0500
commit8087a9548fbac1dade3245660600d025f43d6732 (patch)
treeeefc08102e8c2e47dfb50e2cf621eb07d283e5c8 /gui-libs
parenta0e0a56dbeec1a3cf0f82d55d0bd7540943daf84 (diff)
downloadbaldeagleos-repo-8087a9548fbac1dade3245660600d025f43d6732.tar.gz
baldeagleos-repo-8087a9548fbac1dade3245660600d025f43d6732.tar.xz
baldeagleos-repo-8087a9548fbac1dade3245660600d025f43d6732.zip
Adding metadata
Diffstat (limited to 'gui-libs')
-rw-r--r--gui-libs/xdg-desktop-portal-hyprland/files/xdg-desktop-portal-hyprland-1.4.0-fix-cpuloop.patch44
-rw-r--r--gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-1.4.0-r1.ebuild76
2 files changed, 120 insertions, 0 deletions
diff --git a/gui-libs/xdg-desktop-portal-hyprland/files/xdg-desktop-portal-hyprland-1.4.0-fix-cpuloop.patch b/gui-libs/xdg-desktop-portal-hyprland/files/xdg-desktop-portal-hyprland-1.4.0-fix-cpuloop.patch
new file mode 100644
index 000000000000..96d3e1d70ec1
--- /dev/null
+++ b/gui-libs/xdg-desktop-portal-hyprland/files/xdg-desktop-portal-hyprland-1.4.0-fix-cpuloop.patch
@@ -0,0 +1,44 @@
+From 34fb22b162cf78d97c39804da1e647297121b7e4 Mon Sep 17 00:00:00 2001
+From: Vaxry <vaxry@vaxry.net>
+Date: Thu, 23 Jul 2026 19:23:26 +0200
+Subject: [PATCH] core: fix loop hangup detection
+
+---
+ src/core/PortalManager.cpp | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/src/core/PortalManager.cpp b/src/core/PortalManager.cpp
+index fe5a27d..5dc98d4 100644
+--- a/src/core/PortalManager.cpp
++++ b/src/core/PortalManager.cpp
+@@ -349,13 +349,16 @@ void CPortalManager::startEventLoop() {
+ if (ret < 0) {
+ Debug::log(CRIT, "[core] Polling fds failed with {}", strerror(errno));
+ g_pPortalManager->terminate();
++ break;
+ }
+
+- for (size_t i = 0; i < 3; ++i) {
+- if (m_sEventLoopInternals.pollFds.data()->revents & POLLHUP) {
+- Debug::log(CRIT, "[core] Disconnected from pollfd id {}", i);
+- g_pPortalManager->terminate();
+- }
++ for (size_t i = 0; i < m_sEventLoopInternals.pollFds.size(); ++i) {
++ if (!(m_sEventLoopInternals.pollFds[i].revents & (POLLHUP | POLLERR | POLLNVAL)))
++ continue;
++
++ Debug::log(CRIT, "[core] Disconnected from pollfd id {}", i);
++ g_pPortalManager->terminate();
++ break;
+ }
+
+ if (m_bTerminate)
+@@ -557,7 +560,7 @@ void CPortalManager::addTimer(const CTimer& timer) {
+ }
+
+ void CPortalManager::addFdToEventLoop(int fd, short events, std::function<void()> callback) {
+- m_sEventLoopInternals.pollFds.emplace_back(pollfd{.fd = fd, .events = POLLIN});
++ m_sEventLoopInternals.pollFds.emplace_back(pollfd{.fd = fd, .events = events});
+
+ if (callback == nullptr)
+ return;
diff --git a/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-1.4.0-r1.ebuild b/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-1.4.0-r1.ebuild
new file mode 100644
index 000000000000..f8aec80da120
--- /dev/null
+++ b/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-1.4.0-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="xdg-desktop-portal backend for Hyprland"
+HOMEPAGE="https://github.com/hyprwm/xdg-desktop-portal-hyprland"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/hyprwm/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="elogind systemd"
+REQUIRED_USE="?? ( elogind systemd )"
+
+DEPEND="
+ >=dev-cpp/sdbus-c++-2.0.0
+ dev-libs/hyprlang:=
+ dev-libs/inih
+ dev-libs/wayland
+ dev-qt/qtbase:6[gui,widgets]
+ dev-qt/qtwayland:6
+ gui-libs/hyprutils:=
+ media-libs/mesa
+ >=media-video/pipewire-1.2.0:=
+ x11-libs/libdrm
+ || (
+ sys-libs/basu
+ elogind? ( >=sys-auth/elogind-237 )
+ systemd? ( >=sys-apps/systemd-237 )
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+ sys-apps/xdg-desktop-portal
+"
+
+BDEPEND="
+ dev-libs/hyprland-protocols
+ >=dev-libs/wayland-protocols-1.24
+ >=dev-util/hyprwayland-scanner-0.4.2
+ virtual/pkgconfig
+ || ( >=sys-devel/gcc-14:* >=llvm-core/clang-17:* )
+"
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if tc-is-gcc && ver_test $(gcc-version) -lt 14 ; then
+ eerror "XDPH needs >=gcc-14 or >=clang-17 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile XDPH!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 17 ; then
+ eerror "XDPH needs >=gcc-14 or >=clang-17 to compile."
+ eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
+ die "Clang version is too old to compile XDPH!"
+ fi
+}
+
+src_prepare() {
+ sed -i "/add_compile_options(-O3)/d" "${S}/CMakeLists.txt" || die
+ cmake_src_prepare
+}
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-cpuloop.patch"
+)