commit:     ce4f14175faf626d426bbe914d1f058616fb801a
Author:     dsaf <ghostyn678+git <AT> gmail <DOT> com>
AuthorDate: Sun Mar  1 00:18:30 2026 +0000
Commit:     dsaf <ghostyn678+git <AT> gmail <DOT> com>
CommitDate: Sun Mar  1 00:18:44 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ce4f1417

gui-apps/noctalia-qs: new package, add 0.0.4, 9999

fork of gui-apps/quickshell

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

 gui-apps/noctalia-qs/Manifest                 |  1 +
 gui-apps/noctalia-qs/metadata.xml             | 35 ++++++++++
 gui-apps/noctalia-qs/noctalia-qs-0.0.4.ebuild | 93 +++++++++++++++++++++++++++
 gui-apps/noctalia-qs/noctalia-qs-9999.ebuild  | 93 +++++++++++++++++++++++++++
 4 files changed, 222 insertions(+)

diff --git a/gui-apps/noctalia-qs/Manifest b/gui-apps/noctalia-qs/Manifest
new file mode 100644
index 0000000000..8c212507a1
--- /dev/null
+++ b/gui-apps/noctalia-qs/Manifest
@@ -0,0 +1 @@
+DIST noctalia-qs-0.0.4.tar.gz 468461 BLAKE2B 
a73ba0b03b757317bfd9a7c6dd130452d0dde3e840b0510e1a482abc34ec9d26e91155e1d943cd793d847d1c7e646f6ed2dee592f0cd188ac9bb74bca843d5e1
 SHA512 
64430a0822b9fc03424972be7bc151ec2d80ff9829584bb1038c57567eb008ff8d6b8a8a24aa382f65d653391dea6328028b64f979d015b40b9c144b01680380

diff --git a/gui-apps/noctalia-qs/metadata.xml 
b/gui-apps/noctalia-qs/metadata.xml
new file mode 100644
index 0000000000..37ae06464f
--- /dev/null
+++ b/gui-apps/noctalia-qs/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>dsaf</name>
+       </maintainer>
+       <longdescription>
+               noctalia-qs is a custom fork of Quickshell 
+               - a flexible QtQuick-based desktop shell toolkit for Wayland. 
+               It serves as the shell framework powering Noctalia Shell. 
+       </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>
+               <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="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>
+       </use>
+       <upstream>
+               <remote-id type="github">noctalia-dev/noctalia-qs</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/gui-apps/noctalia-qs/noctalia-qs-0.0.4.ebuild 
b/gui-apps/noctalia-qs/noctalia-qs-0.0.4.ebuild
new file mode 100644
index 0000000000..729ad96fd6
--- /dev/null
+++ b/gui-apps/noctalia-qs/noctalia-qs-0.0.4.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+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="+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"
+REQUIRED_USE="screencopy? ( toplevel-management )"
+
+RDEPEND="
+       !gui-apps/quickshell
+       dev-qt/qtbase:6=[dbus]
+       dev-qt/qtsvg:6=
+       dev-qt/qtdeclarative:6=
+       jemalloc? ( dev-libs/jemalloc )
+       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 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+       dev-cpp/cli11
+       dev-qt/qtshadertools:6
+       breakpad? ( dev-util/breakpad )
+       wayland? (
+               dev-util/wayland-scanner
+               dev-libs/wayland-protocols
+       )
+"
+
+src_configure(){
+       # -Werror=strict-aliasing
+       # https://github.com/noctalia-dev/noctalia-qs/issues/2
+       append-flags -fno-strict-aliasing
+       filter-lto
+
+       mycmakeargs=(
+                       -DCMAKE_BUILD_TYPE=RelWithDebInfo
+                       -DDISTRIBUTOR="Gentoo GURU"
+                       -DINSTALL_QML_PREFIX="lib64/qt6/qml"
+                       -DCRASH_REPORTER=$(usex breakpad ON OFF)
+                       -DUSE_JEMALLOC=$(usex jemalloc ON OFF)
+                       -DSOCKETS=$(usex sockets ON OFF)
+                       -DWAYLAND=$(usex wayland ON OFF)
+                       -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)
+                       -DX11=$(usex X ON OFF)
+                       -DSERVICE_PIPEWIRE=$(usex pipewire ON OFF)
+                       -DSERVICE_STATUS_NOTIFIER=$(usex tray 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)
+                       -DBLUETOOTH=$(usex bluetooth ON OFF)
+               )
+               cmake_src_configure
+}

diff --git a/gui-apps/noctalia-qs/noctalia-qs-9999.ebuild 
b/gui-apps/noctalia-qs/noctalia-qs-9999.ebuild
new file mode 100644
index 0000000000..729ad96fd6
--- /dev/null
+++ b/gui-apps/noctalia-qs/noctalia-qs-9999.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+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="+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"
+REQUIRED_USE="screencopy? ( toplevel-management )"
+
+RDEPEND="
+       !gui-apps/quickshell
+       dev-qt/qtbase:6=[dbus]
+       dev-qt/qtsvg:6=
+       dev-qt/qtdeclarative:6=
+       jemalloc? ( dev-libs/jemalloc )
+       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 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+       dev-cpp/cli11
+       dev-qt/qtshadertools:6
+       breakpad? ( dev-util/breakpad )
+       wayland? (
+               dev-util/wayland-scanner
+               dev-libs/wayland-protocols
+       )
+"
+
+src_configure(){
+       # -Werror=strict-aliasing
+       # https://github.com/noctalia-dev/noctalia-qs/issues/2
+       append-flags -fno-strict-aliasing
+       filter-lto
+
+       mycmakeargs=(
+                       -DCMAKE_BUILD_TYPE=RelWithDebInfo
+                       -DDISTRIBUTOR="Gentoo GURU"
+                       -DINSTALL_QML_PREFIX="lib64/qt6/qml"
+                       -DCRASH_REPORTER=$(usex breakpad ON OFF)
+                       -DUSE_JEMALLOC=$(usex jemalloc ON OFF)
+                       -DSOCKETS=$(usex sockets ON OFF)
+                       -DWAYLAND=$(usex wayland ON OFF)
+                       -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)
+                       -DX11=$(usex X ON OFF)
+                       -DSERVICE_PIPEWIRE=$(usex pipewire ON OFF)
+                       -DSERVICE_STATUS_NOTIFIER=$(usex tray 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)
+                       -DBLUETOOTH=$(usex bluetooth ON OFF)
+               )
+               cmake_src_configure
+}

Reply via email to