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 +}
