diff --git a/gui-apps/noctalia-qs/Manifest b/gui-apps/noctalia-qs/Manifest index 34dc1f18da..48f09f8855 100644 --- a/gui-apps/noctalia-qs/Manifest +++ b/gui-apps/noctalia-qs/Manifest @@ -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 diff --git a/gui-apps/noctalia-qs/metadata.xml b/gui-apps/noctalia-qs/metadata.xml index a1b3d2984f..f6a61600e7 100644 --- a/gui-apps/noctalia-qs/metadata.xml +++ b/gui-apps/noctalia-qs/metadata.xml @@ -11,24 +11,28 @@ It serves as the shell framework powering Noctalia Shell. - Enable Unix Sockets (WARNING: Disabling is unsafe!) - Enable wlroots layershell integration through the zwlr-layer-shell-v1 protocol - Enable session lock support through the ext-session-lock-v1 protocol - Enable management of windows through zwlr-foreign-toplevel-management-v1 protocol - Enable streaming video from monitors and toplevel windows through various protocols - Enable viewing and management of media-video/pipewire nodes - Enable system tray support using the status notifier dbus protocol - Enable access to MPRIS compatible media players using its dbus protocol - Enable sys-libs/pam integration for user authentication - Enable creating sys-auth/polkit agents that can prompt user for authentication + Enable Bluetooth integration using net-wireless/bluez + Enable gui-wm/dwl specific integrations + Enable gui-libs/greetd integration Enable gui-wm/hyprland specific integrations Enable x11-wm/i3 and gui-wm/sway specific features - Enable Bluetooth integration using net-wireless/bluez - Enable gui-libs/greetd integration + Use dev-libs/jemalloc as the memory allocator for improved performance + Enable wlroots layershell integration through the zwlr-layer-shell-v1 protocol + Enable access to MPRIS compatible media players using its dbus protocol Enable Network integration using net-misc/networkmanager + Enable gui-wm/niri specific integrations via its IPC protocol Enable notifications service integration + Enable sys-libs/pam integration for user authentication + Enable viewing and management of media-video/pipewire nodes + Enable creating sys-auth/polkit agents that can prompt user for authentication + Enable streaming video from monitors and toplevel windows through various protocols + Enable session lock support through the ext-session-lock-v1 protocol + Enable Unix Sockets (WARNING: Disabling is unsafe!) + Enable management of windows through zwlr-foreign-toplevel-management-v1 protocol + Enable system tray support using the status notifier dbus protocol + Enable power management integration via sys-power/upower noctalia-dev/noctalia-qs - + \ No newline at end of file diff --git a/gui-apps/noctalia-qs/noctalia-qs-0.0.10.ebuild b/gui-apps/noctalia-qs/noctalia-qs-0.0.10.ebuild new file mode 100644 index 0000000000..43d265549c --- /dev/null +++ b/gui-apps/noctalia-qs/noctalia-qs-0.0.10.ebuild @@ -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 +} diff --git a/gui-apps/noctalia-qs/noctalia-qs-9999.ebuild b/gui-apps/noctalia-qs/noctalia-qs-9999.ebuild index 7d432e9aa2..4d3c637f6f 100644 --- a/gui-apps/noctalia-qs/noctalia-qs-9999.ebuild +++ b/gui-apps/noctalia-qs/noctalia-qs-9999.ebuild @@ -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 }