gui-apps/quickshell: new package, add 0.1.0

Signed-off-by: Maxwell Blake <frailedev@proton.me>
This commit is contained in:
Maxwell Blake
2025-06-21 18:20:15 +02:00
parent ac311416df
commit 2eee121080
3 changed files with 113 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST quickshell-0.1.0.tar.gz 369915 BLAKE2B 70bc328a133b2d6b736d130228a90270e9941d150748497e3e4144568f2c524e726c788c6778b1f3f408a369144548edfe2d98caf4031ed4430b5d1c93d2a990 SHA512 6113f0b7b8860ed301f9c950ba2378b46669280b79088a408ce6410f50df59e615e7003270c0e37cae4e673815dcb0ba863f16a2fa0b11b5a3b9d88069343682

View File

@@ -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>frailedev@proton.me</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>

View File

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