gui-apps/noctalia-qs: add 0.0.10

Signed-off-by: dsaf <ghostyn678+git@gmail.com>
This commit is contained in:
dsaf
2026-03-23 19:25:42 -03:00
parent f37ccdf7d1
commit f73b5dff3d
4 changed files with 196 additions and 62 deletions

View File

@@ -1,2 +1,3 @@
DIST noctalia-qs-0.0.10.tar.gz 508009 BLAKE2B a138e267016d9ff30a73ae45671a6b32c3b45f83428c84e457c4ea4ffed7d3c249bbf9558c4bf15fc974dbe123b1c1dfb0c1bb28fc60340048e80585c53593f1 SHA512 01f88e466a8bc19a04f48afef73e4536333b3ad0493e51b9a01ca5e41708b9e90eae2ca6a8c53eac204d00c6dfd34ba25f45e8e9bf135761396b94d1ab9933c0
DIST noctalia-qs-0.0.8.tar.gz 505340 BLAKE2B db1b6f8d3e1adfd3ea6aaae7402579c659ac78d007ac2c125537703be1409087f3f357414f098f9c60055972069493bab7b2254a81d6a02ab9f99f1f9febaee3 SHA512 2202435f6b455afa26e6cc4b73f02db461dc95445a64d80a523f3a8cc4f1e3c1e1c0fb07989b74fd06520d79ea55f1a3ab2dc95cf6820a5551bc4420ec920d9d
DIST noctalia-qs-0.0.9.tar.gz 510170 BLAKE2B c430ec923919858b381c6111d03e8e1233900d2fea79f60fd13cdaaaa5e3254ff0c332989948fa8ac33311e95b32bc7e5af87714c03da28b8c736be16e4daade SHA512 48f4ffda4cc2229890ac07a68661ff2e78e13d48ff0c195aead8fe475b8af49486cfd7fb33c5f3bb855b72cbe87a70a6a90abb70c80b72195318a5061cedad03

View File

@@ -11,24 +11,28 @@
It serves as the shell framework powering Noctalia Shell.
</longdescription>
<use>
<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>
<flag name="toplevel-management">Enable management of windows through zwlr-foreign-toplevel-management-v1 protocol</flag>
<flag name="screencopy">Enable streaming video from monitors and toplevel windows through various protocols</flag>
<flag name="pipewire">Enable viewing and management of <pkg>media-video/pipewire</pkg> nodes</flag>
<flag name="tray">Enable system tray support using the status notifier dbus protocol</flag>
<flag name="mpris">Enable access to MPRIS compatible media players using its dbus protocol</flag>
<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="bluetooth">Enable Bluetooth integration using <pkg>net-wireless/bluez</pkg></flag>
<flag name="dwl">Enable <pkg>gui-wm/dwl</pkg> specific integrations</flag>
<flag name="greetd">Enable <pkg>gui-libs/greetd</pkg> integration</flag>
<flag name="hyprland">Enable <pkg>gui-wm/hyprland</pkg> specific integrations</flag>
<flag name="i3">Enable <pkg>x11-wm/i3</pkg> and <pkg>gui-wm/sway</pkg> specific features</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="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> as the memory allocator for improved performance</flag>
<flag name="layer-shell">Enable wlroots layershell integration through the zwlr-layer-shell-v1 protocol</flag>
<flag name="mpris">Enable access to MPRIS compatible media players using its dbus protocol</flag>
<flag name="network">Enable Network integration using <pkg>net-misc/networkmanager</pkg></flag>
<flag name="niri">Enable <pkg>gui-wm/niri</pkg> specific integrations via its IPC protocol</flag>
<flag name="notifications">Enable notifications service integration</flag>
<flag name="pam">Enable <pkg>sys-libs/pam</pkg> integration for user authentication</flag>
<flag name="pipewire">Enable viewing and management of <pkg>media-video/pipewire</pkg> nodes</flag>
<flag name="polkit">Enable creating <pkg>sys-auth/polkit</pkg> agents that can prompt user for authentication</flag>
<flag name="screencopy">Enable streaming video from monitors and toplevel windows through various protocols</flag>
<flag name="session-lock">Enable session lock support through the ext-session-lock-v1 protocol</flag>
<flag name="sockets">Enable Unix Sockets (WARNING: Disabling is unsafe!)</flag>
<flag name="toplevel-management">Enable management of windows through zwlr-foreign-toplevel-management-v1 protocol</flag>
<flag name="tray">Enable system tray support using the status notifier dbus protocol</flag>
<flag name="upower">Enable power management integration via <pkg>sys-power/upower</pkg></flag>
</use>
<upstream>
<remote-id type="github">noctalia-dev/noctalia-qs</remote-id>
</upstream>
</pkgmetadata>
</pkgmetadata>

View File

@@ -0,0 +1,127 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit branding cmake
GIT_REVISION=12dba9653ae2c0dd24bf2633e2572a8093b0df5e
DESCRIPTION="Toolkit for building desktop widgets using QtQuick"
HOMEPAGE="https://quickshell.org/"
if [[ "${PV}" = *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/noctalia-dev/noctalia-qs.git"
else
SRC_URI="https://github.com/noctalia-dev/noctalia-qs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
# Upstream recommends leaving all build options enabled by default
IUSE="
+bluetooth +dwl +greetd +hyprland +i3 +jemalloc +layer-shell
+mpris +network +niri +notifications +pam +pipewire +polkit
+screencopy +session-lock +sockets +tray +toplevel-management
+upower +wayland +X
"
REQUIRED_USE="
hyprland? ( wayland )
layer-shell? ( wayland )
niri? ( wayland )
screencopy? ( wayland )
session-lock? ( wayland )
toplevel-management? ( wayland )
"
RDEPEND="
!gui-apps/quickshell
dev-qt/qtbase:6=[dbus,vulkan]
dev-qt/qtdeclarative:6=
dev-qt/qtsvg:6=
bluetooth? ( net-wireless/bluez )
jemalloc? ( dev-libs/jemalloc )
network? ( net-misc/networkmanager )
pam? ( sys-libs/pam )
pipewire? ( media-video/pipewire )
polkit? (
dev-libs/glib
sys-auth/polkit
)
screencopy? (
media-libs/mesa
x11-libs/libdrm
)
wayland? (
dev-libs/wayland
dev-qt/qtwayland:6=
)
X? ( x11-libs/libxcb )
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-cpp/cli11
dev-qt/qtshadertools:6
dev-util/spirv-tools
virtual/pkgconfig
screencopy? ( dev-util/vulkan-headers )
wayland? (
dev-libs/wayland-protocols
dev-util/wayland-scanner
)
"
DOCS=( README.md changelog/ )
src_configure() {
# hyprland controls all Hyprland sub-features as a group.
# i3 controls I3/Sway IPC.
# niri controls Niri IPC.
# screencopy controls all screencopy backends (icc, wlr, hyprland-toplevel).
local _hyprland=$(usex hyprland)
local _i3=$(usex i3)
local _niri=$(usex niri)
local _screencopy=$(usex screencopy)
local mycmakeargs=(
-DDISTRIBUTOR="${BRANDING_OS_NAME} GURU"
-DINSTALL_QML_PREFIX="$(get_libdir)/qt6/qml"
-DGIT_REVISION=${GIT_REVISION}
-DCRASH_HANDLER=no # dev-cpp/cpptrace::gentoo does not have required use flags
-DBLUETOOTH=$(usex bluetooth)
-DDWL=$(usex dwl)
-DHYPRLAND=${_hyprland}
-DHYPRLAND_FOCUS_GRAB=${_hyprland}
-DHYPRLAND_GLOBAL_SHORTCUTS=${_hyprland}
-DHYPRLAND_IPC=${_hyprland}
-DHYPRLAND_SURFACE_EXTENSIONS=${_hyprland}
-DI3=${_i3}
-DI3_IPC=${_i3}
-DNETWORK=$(usex network)
-DNIRI=${_niri}
-DNIRI_IPC=${_niri}
-DSCREENCOPY=${_screencopy}
-DSCREENCOPY_HYPRLAND_TOPLEVEL=${_screencopy}
-DSCREENCOPY_ICC=${_screencopy}
-DSCREENCOPY_WLR=${_screencopy}
-DSERVICE_GREETD=$(usex greetd)
-DSERVICE_MPRIS=$(usex mpris)
-DSERVICE_NOTIFICATIONS=$(usex notifications)
-DSERVICE_PAM=$(usex pam)
-DSERVICE_PIPEWIRE=$(usex pipewire)
-DSERVICE_POLKIT=$(usex polkit)
-DSERVICE_STATUS_NOTIFIER=$(usex tray)
-DSERVICE_UPOWER=$(usex upower)
-DSOCKETS=$(usex sockets)
-DUSE_JEMALLOC=$(usex jemalloc)
-DWAYLAND=$(usex wayland)
-DWAYLAND_SESSION_LOCK=$(usex session-lock)
-DWAYLAND_TOPLEVEL_MANAGEMENT=$(usex toplevel-management)
-DWAYLAND_WLR_LAYERSHELL=$(usex layer-shell)
-DX11=$(usex X)
)
cmake_src_configure
}

View File

@@ -21,56 +21,54 @@ SLOT="0"
# Upstream recommends leaving all build options enabled by default
IUSE="
+jemalloc +sockets
+wayland +layer-shell +session-lock +toplevel-management
+hyprland +screencopy
+X +i3
+tray +pipewire +mpris +pam +polkit +greetd +upower +notifications
+bluetooth +network
lto
+bluetooth +dwl +greetd +hyprland +i3 +jemalloc +layer-shell
+mpris +network +niri +notifications +pam +pipewire +polkit
+screencopy +session-lock +sockets +tray +toplevel-management
+upower +wayland +X
"
REQUIRED_USE="
hyprland? ( wayland )
layer-shell? ( wayland )
niri? ( wayland )
screencopy? ( wayland )
session-lock? ( wayland )
toplevel-management? ( wayland )
hyprland? ( wayland )
screencopy? ( wayland )
"
RDEPEND="
!gui-apps/quickshell
dev-qt/qtbase:6=[dbus,vulkan]
dev-qt/qtsvg:6=
dev-qt/qtdeclarative:6=
dev-qt/qtsvg:6=
bluetooth? ( net-wireless/bluez )
jemalloc? ( dev-libs/jemalloc )
network? ( net-misc/networkmanager )
pam? ( sys-libs/pam )
pipewire? ( media-video/pipewire )
polkit? (
dev-libs/glib
sys-auth/polkit
)
screencopy? (
media-libs/mesa
x11-libs/libdrm
)
wayland? (
dev-libs/wayland
dev-qt/qtwayland:6=
)
screencopy? (
x11-libs/libdrm
media-libs/mesa
)
X? ( x11-libs/libxcb )
pipewire? ( media-video/pipewire )
pam? ( sys-libs/pam )
polkit? (
sys-auth/polkit
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
dev-util/spirv-tools
virtual/pkgconfig
screencopy? ( dev-util/vulkan-headers )
wayland? (
dev-util/wayland-scanner
dev-libs/wayland-protocols
dev-util/wayland-scanner
)
"
@@ -79,45 +77,49 @@ DOCS=( README.md changelog/ )
src_configure() {
# hyprland controls all Hyprland sub-features as a group.
# i3 controls I3/Sway IPC.
# niri controls Niri IPC.
# screencopy controls all screencopy backends (icc, wlr, hyprland-toplevel).
local _hyprland=$(usex hyprland)
local _screencopy=$(usex screencopy)
local _i3=$(usex i3)
local _niri=$(usex niri)
local _screencopy=$(usex screencopy)
local mycmakeargs=(
-DDISTRIBUTOR="${BRANDING_OS_NAME} GURU"
-DINSTALL_QML_PREFIX="$(get_libdir)/qt6/qml"
-DGIT_REVISION=${EGIT_COMMIT}
-DCRASH_HANDLER=no # dev-cpp/cpptrace::gentoo does not have required use flags
-DUSE_JEMALLOC=$(usex jemalloc)
-DSOCKETS=$(usex sockets)
-DWAYLAND=$(usex wayland)
-DWAYLAND_WLR_LAYERSHELL=$(usex layer-shell)
-DWAYLAND_SESSION_LOCK=$(usex session-lock)
-DWAYLAND_TOPLEVEL_MANAGEMENT=$(usex toplevel-management)
-DBLUETOOTH=$(usex bluetooth)
-DDWL=$(usex dwl)
-DHYPRLAND=${_hyprland}
-DHYPRLAND_IPC=${_hyprland}
-DHYPRLAND_GLOBAL_SHORTCUTS=${_hyprland}
-DHYPRLAND_FOCUS_GRAB=${_hyprland}
-DHYPRLAND_GLOBAL_SHORTCUTS=${_hyprland}
-DHYPRLAND_IPC=${_hyprland}
-DHYPRLAND_SURFACE_EXTENSIONS=${_hyprland}
-DSCREENCOPY=${_screencopy}
-DSCREENCOPY_ICC=${_screencopy}
-DSCREENCOPY_WLR=${_screencopy}
-DSCREENCOPY_HYPRLAND_TOPLEVEL=${_screencopy}
-DX11=$(usex X)
-DI3=${_i3}
-DI3_IPC=${_i3}
-DSERVICE_STATUS_NOTIFIER=$(usex tray)
-DSERVICE_PIPEWIRE=$(usex pipewire)
-DSERVICE_MPRIS=$(usex mpris)
-DSERVICE_PAM=$(usex pam)
-DSERVICE_POLKIT=$(usex polkit)
-DSERVICE_GREETD=$(usex greetd)
-DSERVICE_UPOWER=$(usex upower)
-DSERVICE_NOTIFICATIONS=$(usex notifications)
-DBLUETOOTH=$(usex bluetooth)
-DNETWORK=$(usex network)
-DLTO=$(usex lto)
-DNIRI=${_niri}
-DNIRI_IPC=${_niri}
-DSCREENCOPY=${_screencopy}
-DSCREENCOPY_HYPRLAND_TOPLEVEL=${_screencopy}
-DSCREENCOPY_ICC=${_screencopy}
-DSCREENCOPY_WLR=${_screencopy}
-DSERVICE_GREETD=$(usex greetd)
-DSERVICE_MPRIS=$(usex mpris)
-DSERVICE_NOTIFICATIONS=$(usex notifications)
-DSERVICE_PAM=$(usex pam)
-DSERVICE_PIPEWIRE=$(usex pipewire)
-DSERVICE_POLKIT=$(usex polkit)
-DSERVICE_STATUS_NOTIFIER=$(usex tray)
-DSERVICE_UPOWER=$(usex upower)
-DSOCKETS=$(usex sockets)
-DUSE_JEMALLOC=$(usex jemalloc)
-DWAYLAND=$(usex wayland)
-DWAYLAND_SESSION_LOCK=$(usex session-lock)
-DWAYLAND_TOPLEVEL_MANAGEMENT=$(usex toplevel-management)
-DWAYLAND_WLR_LAYERSHELL=$(usex layer-shell)
-DX11=$(usex X)
)
cmake_src_configure
}