commit:     2eee121080f0cfd7d1161c18fa89311cfa381e72
Author:     Maxwell Blake <frailedev <AT> proton <DOT> me>
AuthorDate: Sat Jun 21 16:20:15 2025 +0000
Commit:     Maxwell Blake <frailedev <AT> proton <DOT> me>
CommitDate: Sat Jun 21 16:26:57 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2eee1210

gui-apps/quickshell: new package, add 0.1.0

Signed-off-by: Maxwell Blake <frailedev <AT> proton.me>

 gui-apps/quickshell/Manifest                |  1 +
 gui-apps/quickshell/metadata.xml            | 34 +++++++++++++
 gui-apps/quickshell/quickshell-0.1.0.ebuild | 78 +++++++++++++++++++++++++++++
 3 files changed, 113 insertions(+)

diff --git a/gui-apps/quickshell/Manifest b/gui-apps/quickshell/Manifest
new file mode 100644
index 0000000000..bbc302e262
--- /dev/null
+++ b/gui-apps/quickshell/Manifest
@@ -0,0 +1 @@
+DIST quickshell-0.1.0.tar.gz 369915 BLAKE2B 
70bc328a133b2d6b736d130228a90270e9941d150748497e3e4144568f2c524e726c788c6778b1f3f408a369144548edfe2d98caf4031ed4430b5d1c93d2a990
 SHA512 
6113f0b7b8860ed301f9c950ba2378b46669280b79088a408ce6410f50df59e615e7003270c0e37cae4e673815dcb0ba863f16a2fa0b11b5a3b9d88069343682

diff --git a/gui-apps/quickshell/metadata.xml b/gui-apps/quickshell/metadata.xml
new file mode 100644
index 0000000000..129bd354b5
--- /dev/null
+++ b/gui-apps/quickshell/metadata.xml
@@ -0,0 +1,34 @@
+<?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>Maxwell Blake</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. 
+       </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="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>
+       </use>
+       <upstream>
+               <doc>https://quickshell.outfoxxed.me/docs/types/</doc>
+               
<bugs-to>https://github.com/quickshell-mirror/quickshell/issues</bugs-to>
+               <remote-id 
type="github">quickshell-mirror/quickshell</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/gui-apps/quickshell/quickshell-0.1.0.ebuild 
b/gui-apps/quickshell/quickshell-0.1.0.ebuild
new file mode 100644
index 0000000000..d23b474831
--- /dev/null
+++ b/gui-apps/quickshell/quickshell-0.1.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Toolkit for building desktop widgets using QtQuick"
+HOMEPAGE="https://quickshell.outfoxxed.me/";
+SRC_URI="https://github.com/quickshell-mirror/${PN}/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+# 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 +hyprland 
+hyprland-global-shortcuts +hyprland-focus-grab +i3 +i3-ipc"
+
+RDEPEND="
+       dev-qt/qtbase:6
+       dev-qt/qtsvg: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 )
+       mpris? ( dev-qt/qtdbus )
+       pam? ( sys-libs/pam )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       || ( >=sys-devel/gcc-14:* >=llvm-core/clang-17:* )
+       dev-build/cmake
+       dev-build/ninja
+       virtual/pkgconfig
+       dev-cpp/cli11
+       dev-util/spirv-tools
+       dev-qt/qtshadertools:6
+       breakpad? ( dev-util/breakpad )
+       wayland? (
+               dev-util/wayland-scanner
+               dev-libs/wayland-protocols
+       )
+"
+
+src_configure(){
+       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)
+                       -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)
+               )
+               cmake_src_configure
+}

Reply via email to