commit:     4ed90d44b0784eb5f344b1a2cfa5613509f8aa9b
Author:     dsaf <ghostyn678+git <AT> gmail <DOT> com>
AuthorDate: Mon Mar  9 23:32:53 2026 +0000
Commit:     dsaf <ghostyn678+git <AT> gmail <DOT> com>
CommitDate: Mon Mar  9 23:32:53 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4ed90d44

gui-apps/quickshell: remake use flags, add 0.2.1-r1, drop 0.2.1

* Missing USE flags were added and others merged (i.e. Hyprland)
* Add myself as a maintainer

Signed-off-by: dsaf <ghostyn678+git <AT> gmail.com>

 gui-apps/quickshell/metadata.xml                   | 13 +++--
 ...ell-0.2.1.ebuild => quickshell-0.2.1-r1.ebuild} | 56 +++++++++++++++-------
 gui-apps/quickshell/quickshell-9999.ebuild         | 54 +++++++++++++++------
 3 files changed, 86 insertions(+), 37 deletions(-)

diff --git a/gui-apps/quickshell/metadata.xml b/gui-apps/quickshell/metadata.xml
index fc4338c216..f995d3bfd8 100644
--- a/gui-apps/quickshell/metadata.xml
+++ b/gui-apps/quickshell/metadata.xml
@@ -5,13 +5,16 @@
                <email>[email protected]</email>
                <name>Maxwell Blake</name>
        </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>dsaf</name>
+       </maintainer>
        <longdescription>
                Quickshell is a toolkit for building status bars, widgets, 
lockscreens,
                and other desktop components using QtQuick. It can be used 
alongside
-               your wayland compositor or window manager to build a complete 
desktop environment. 
+               your wayland compositor or window manager to build a complete 
desktop environment.
        </longdescription>
        <use>
-               <flag name="breakpad">Enable Google's 
<pkg>dev-util/breakpad</pkg> crash reporter</flag>
                <flag name="sockets">Enable Unix Sockets (WARNING: Disabling is 
unsafe!)</flag>
                <flag name="layer-shell">Enable wlroots layershell integration 
through the zwlr-layer-shell-v1 protocol</flag>
                <flag name="session-lock">Enable session lock support through 
the ext-session-lock-v1 protocol</flag>
@@ -23,11 +26,11 @@
                <flag name="pam">Enable <pkg>sys-libs/pam</pkg> integration for 
user authentication</flag>
                <flag name="polkit">Enable creating <pkg>sys-auth/polkit</pkg> 
agents that can prompt user for authentication</flag>
                <flag name="hyprland">Enable <pkg>gui-wm/hyprland</pkg> 
specific integrations</flag>
-               <flag name="hyprland-global-shortcuts">Enable creation of 
global shortcuts under <pkg>gui-wm/hyprland</pkg> through the 
hyprland-global-shortcuts-v1 protocol</flag>
-               <flag name="hyprland-focus-grab">Enables windows to grab focus 
on <pkg>gui-wm/hyprland</pkg> through the hyprland-focus-grab-v1 protocol</flag>
                <flag name="i3">Enable <pkg>x11-wm/i3</pkg> and 
<pkg>gui-wm/sway</pkg> specific features</flag>
-               <flag name="i3-ipc">Enable interfacing with 
<pkg>x11-wm/i3</pkg> and <pkg>gui-wm/sway</pkg>'s IPC</flag>
                <flag name="bluetooth">Enable Bluetooth integration using 
<pkg>net-wireless/bluez</pkg></flag>
+               <flag name="greetd">Enable <pkg>gui-libs/greetd</pkg> 
integration</flag>
+               <flag name="network">Enable Network integration using 
<pkg>net-misc/networkmanager</pkg></flag>
+               <flag name="notifications">Enable notifications service 
integration</flag>
        </use>
        <upstream>
                <doc>https://quickshell.org/about/</doc>

diff --git a/gui-apps/quickshell/quickshell-0.2.1.ebuild 
b/gui-apps/quickshell/quickshell-0.2.1-r1.ebuild
similarity index 61%
rename from gui-apps/quickshell/quickshell-0.2.1.ebuild
rename to gui-apps/quickshell/quickshell-0.2.1-r1.ebuild
index e3537919fb..257f51d00f 100644
--- a/gui-apps/quickshell/quickshell-0.2.1.ebuild
+++ b/gui-apps/quickshell/quickshell-0.2.1-r1.ebuild
@@ -20,15 +20,23 @@ fi
 
 LICENSE="LGPL-3"
 SLOT="0"
+
 # Upstream recommends leaving all build options enabled by default
 IUSE="
-       +breakpad +jemalloc +sockets +wayland +layer-shell
-       +session-lock +toplevel-management +screencopy +X
-       +pipewire +tray +mpris +pam +polkit +hyprland
-       +hyprland-global-shortcuts +hyprland-focus-grab
-       +i3 +i3-ipc +bluetooth
+       +jemalloc +sockets
+       +wayland +layer-shell +session-lock +toplevel-management
+       +hyprland +screencopy
+       +X +i3
+       +tray +pipewire +mpris +pam +greetd +upower +notifications
+       +bluetooth +breakpad
+"
+REQUIRED_USE="
+       layer-shell?         ( wayland )
+       session-lock?        ( wayland )
+       toplevel-management? ( wayland )
+       hyprland?            ( wayland )
+       screencopy?          ( wayland )
 "
-REQUIRED_USE="screencopy? ( toplevel-management )"
 
 RDEPEND="
        dev-qt/qtbase:6=[dbus]
@@ -46,17 +54,15 @@ RDEPEND="
        X? ( x11-libs/libxcb )
        pipewire? ( media-video/pipewire )
        pam? ( sys-libs/pam )
-       polkit? (
-               sys-auth/polkit
-               dev-libs/glib
-       )
        bluetooth? ( net-wireless/bluez )
 "
 DEPEND="${RDEPEND}"
 BDEPEND="
        virtual/pkgconfig
        dev-cpp/cli11
+       dev-util/spirv-tools
        dev-qt/qtshadertools:6
+       screencopy? ( dev-util/vulkan-headers )
        breakpad? ( dev-util/breakpad )
        wayland? (
                dev-util/wayland-scanner
@@ -65,6 +71,13 @@ BDEPEND="
 "
 
 src_configure() {
+       # hyprland controls all Hyprland sub-features as a group.
+       # i3 controls I3/Sway IPC.
+       # screencopy controls all screencopy backends (icc, wlr, 
hyprland-toplevel).
+       local _hyprland=$(usex hyprland ON OFF)
+       local _screencopy=$(usex screencopy ON OFF)
+       local _i3=$(usex i3 ON OFF)
+
        local mycmakeargs=(
                -DCMAKE_BUILD_TYPE=Release
                -DDISTRIBUTOR="${BRANDING_OS_NAME} GURU"
@@ -77,18 +90,25 @@ src_configure() {
                -DWAYLAND_WLR_LAYERSHELL=$(usex layer-shell ON OFF)
                -DWAYLAND_SESSION_LOCK=$(usex session-lock ON OFF)
                -DWAYLAND_TOPLEVEL_MANAGEMENT=$(usex toplevel-management ON OFF)
-               -DSCREENCOPY=$(usex screencopy ON OFF)
+               -DHYPRLAND=${_hyprland}
+               -DHYPRLAND_IPC=${_hyprland}
+               -DHYPRLAND_GLOBAL_SHORTCUTS=${_hyprland}
+               -DHYPRLAND_FOCUS_GRAB=${_hyprland}
+               -DHYPRLAND_SURFACE_EXTENSIONS=${_hyprland}
+               -DSCREENCOPY=${_screencopy}
+               -DSCREENCOPY_ICC=${_screencopy}
+               -DSCREENCOPY_WLR=${_screencopy}
+               -DSCREENCOPY_HYPRLAND_TOPLEVEL=${_screencopy}
                -DX11=$(usex X ON OFF)
-               -DSERVICE_PIPEWIRE=$(usex pipewire ON OFF)
+               -DI3=${_i3}
+               -DI3_IPC=${_i3}
                -DSERVICE_STATUS_NOTIFIER=$(usex tray ON OFF)
+               -DSERVICE_PIPEWIRE=$(usex pipewire ON OFF)
                -DSERVICE_MPRIS=$(usex mpris ON OFF)
                -DSERVICE_PAM=$(usex pam ON OFF)
-               -DSERVICE_POLKIT=$(usex polkit ON OFF)
-               -DHYPRLAND=$(usex hyprland ON OFF)
-               -DHYPRLAND_GLOBAL_SHORTCUTS=$(usex hyprland-global-shortcuts)
-               -DHYPRLAND_FOCUS_GRAB=$(usex hyprland-focus-grab)
-               -DI3=$(usex i3 ON OFF)
-               -DI3_IPC=$(usex i3-ipc ON OFF)
+               -DSERVICE_GREETD=$(usex greetd ON OFF)
+               -DSERVICE_UPOWER=$(usex upower ON OFF)
+               -DSERVICE_NOTIFICATIONS=$(usex notifications ON OFF)
                -DBLUETOOTH=$(usex bluetooth ON OFF)
        )
        cmake_src_configure

diff --git a/gui-apps/quickshell/quickshell-9999.ebuild 
b/gui-apps/quickshell/quickshell-9999.ebuild
index 6c54ac13f1..111ab001b9 100644
--- a/gui-apps/quickshell/quickshell-9999.ebuild
+++ b/gui-apps/quickshell/quickshell-9999.ebuild
@@ -20,16 +20,23 @@ LICENSE="LGPL-3"
 SLOT="0"
 # Upstream recommends leaving all build options enabled by default
 IUSE="
-       +jemalloc +sockets +wayland +layer-shell
-       +session-lock +toplevel-management +screencopy +X
-       +pipewire +tray +mpris +pam +polkit +hyprland
-       +hyprland-global-shortcuts +hyprland-focus-grab
-       +i3 +i3-ipc +bluetooth
+       +jemalloc +sockets
+       +wayland +layer-shell +session-lock +toplevel-management
+       +hyprland +screencopy
+       +X +i3
+       +tray +pipewire +mpris +pam +polkit +greetd +upower +notifications
+       +bluetooth +network
+"
+REQUIRED_USE="
+       layer-shell?         ( wayland )
+       session-lock?        ( wayland )
+       toplevel-management? ( wayland )
+       hyprland?            ( wayland )
+       screencopy?          ( wayland )
 "
-REQUIRED_USE="screencopy? ( toplevel-management )"
 
 RDEPEND="
-       dev-qt/qtbase:6=[dbus]
+       dev-qt/qtbase:6=[dbus,vulkan]
        dev-qt/qtsvg:6=
        dev-qt/qtdeclarative:6=
        jemalloc? ( dev-libs/jemalloc )
@@ -49,12 +56,15 @@ RDEPEND="
                dev-libs/glib
        )
        bluetooth? ( net-wireless/bluez )
+       network? ( net-misc/networkmanager )
 "
 DEPEND="${RDEPEND}"
 BDEPEND="
        virtual/pkgconfig
        dev-cpp/cli11
+       dev-util/spirv-tools
        dev-qt/qtshadertools:6
+       screencopy? ( dev-util/vulkan-headers )
        wayland? (
                dev-util/wayland-scanner
                dev-libs/wayland-protocols
@@ -67,6 +77,13 @@ src_configure() {
        append-flags -fno-strict-aliasing
        filter-lto
 
+       # hyprland controls all Hyprland sub-features as a group.
+       # i3 controls I3/Sway IPC.
+       # screencopy controls all screencopy backends (icc, wlr, 
hyprland-toplevel).
+       local _hyprland=$(usex hyprland ON OFF)
+       local _screencopy=$(usex screencopy ON OFF)
+       local _i3=$(usex i3 ON OFF)
+
        local mycmakeargs=(
                -DCMAKE_BUILD_TYPE=Release
                -DDISTRIBUTOR="${BRANDING_OS_NAME} GURU"
@@ -78,19 +95,28 @@ src_configure() {
                -DWAYLAND_WLR_LAYERSHELL=$(usex layer-shell ON OFF)
                -DWAYLAND_SESSION_LOCK=$(usex session-lock ON OFF)
                -DWAYLAND_TOPLEVEL_MANAGEMENT=$(usex toplevel-management ON OFF)
-               -DSCREENCOPY=$(usex screencopy ON OFF)
+               -DHYPRLAND=${_hyprland}
+               -DHYPRLAND_IPC=${_hyprland}
+               -DHYPRLAND_GLOBAL_SHORTCUTS=${_hyprland}
+               -DHYPRLAND_FOCUS_GRAB=${_hyprland}
+               -DHYPRLAND_SURFACE_EXTENSIONS=${_hyprland}
+               -DSCREENCOPY=${_screencopy}
+               -DSCREENCOPY_ICC=${_screencopy}
+               -DSCREENCOPY_WLR=${_screencopy}
+               -DSCREENCOPY_HYPRLAND_TOPLEVEL=${_screencopy}
                -DX11=$(usex X ON OFF)
-               -DSERVICE_PIPEWIRE=$(usex pipewire ON OFF)
+               -DI3=${_i3}
+               -DI3_IPC=${_i3}
                -DSERVICE_STATUS_NOTIFIER=$(usex tray ON OFF)
+               -DSERVICE_PIPEWIRE=$(usex pipewire ON OFF)
                -DSERVICE_MPRIS=$(usex mpris ON OFF)
                -DSERVICE_PAM=$(usex pam ON OFF)
                -DSERVICE_POLKIT=$(usex polkit ON OFF)
-               -DHYPRLAND=$(usex hyprland ON OFF)
-               -DHYPRLAND_GLOBAL_SHORTCUTS=$(usex hyprland-global-shortcuts)
-               -DHYPRLAND_FOCUS_GRAB=$(usex hyprland-focus-grab)
-               -DI3=$(usex i3 ON OFF)
-               -DI3_IPC=$(usex i3-ipc ON OFF)
+               -DSERVICE_GREETD=$(usex greetd ON OFF)
+               -DSERVICE_UPOWER=$(usex upower ON OFF)
+               -DSERVICE_NOTIFICATIONS=$(usex notifications ON OFF)
                -DBLUETOOTH=$(usex bluetooth ON OFF)
+               -DNETWORK=$(usex network ON OFF)
        )
        cmake_src_configure
 }

Reply via email to