mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-19 20:13:01 -04:00
gui-apps/quickshell: add 0.3.0
patch fixes a -Wstrict-aliasing warning. the patch is needed for LTO,
but fixes a number of warnings output even when not using LTO, hence
applying it for all users
patch taken from 46e60df2d6
Signed-off-by: Ceres <ceres@ceressees.dev>
This commit is contained in:
@@ -1 +1,2 @@
|
||||
DIST quickshell-0.2.1.tar.gz 401664 BLAKE2B 14e89a998cde9e841b305339685e98672093a3e52b8d374e7d66017041a9f96b48c0cc5e67568b94107d667082a67cf789aabb54951716fdad3ee61652e1460f SHA512 fc926f917b4c52615ca4c80cd6a8b756a924c3d3f0e385268a6f59726dbe79aa275cf905ba060fa6cfac4b43bedd262e7210c37900c6faa7e2733f8a92a6a2d2
|
||||
DIST quickshell-0.3.0.tar.gz 496505 BLAKE2B 6fae034beb6b10c5cd8ac802ac9f2046521921cddf0b86de25eacc420353c77ec8defd5290fec25df390c37788758ba0d9b5936eacda2910829be52df6975d7a SHA512 595840277489487fff6bd58db42717381a92066768f791d818c4f8edb484425416857f5f8627c6334ae0e71d41274e1f5c7674e73e162797d13f41426d604a8a
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
Fixes strict-aliasing error when building with LTO
|
||||
From: https://github.com/noctalia-dev/noctalia-qs/commit/46e60df2d6ebb4d52d5bde8a63a9a6255e556097
|
||||
|
||||
--- a/src/core/model.hpp
|
||||
+++ b/src/core/model.hpp
|
||||
@@ -170,7 +170,11 @@
|
||||
}
|
||||
|
||||
[[nodiscard]] QList<QObject*> values() override {
|
||||
- return *reinterpret_cast<QList<QObject*>*>(&this->mValuesList);
|
||||
+ QList<QObject*> result;
|
||||
+ result.reserve(this->mValuesList.size());
|
||||
+ for (auto* item: this->mValuesList)
|
||||
+ result.append(reinterpret_cast<QObject*>(item));
|
||||
+ return result;
|
||||
}
|
||||
|
||||
private:
|
||||
124
gui-apps/quickshell/quickshell-0.3.0.ebuild
Normal file
124
gui-apps/quickshell/quickshell-0.3.0.ebuild
Normal file
@@ -0,0 +1,124 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit branding cmake
|
||||
|
||||
GIT_REVISION=59e9c47b0eb48a9e4bcf9631fa062ee939bd2e83
|
||||
|
||||
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/quickshell-mirror/${PN^}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/quickshell-mirror/${PN}/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="
|
||||
+jemalloc +sockets
|
||||
+wayland +layer-shell +session-lock +toplevel-management
|
||||
+hyprland +screencopy
|
||||
+X +i3
|
||||
+tray +pipewire +mpris +pam +policykit +greetd +upower +notifications
|
||||
+bluetooth +networkmanager +crash-handler
|
||||
"
|
||||
REQUIRED_USE="
|
||||
layer-shell? ( wayland )
|
||||
session-lock? ( wayland )
|
||||
toplevel-management? ( wayland )
|
||||
hyprland? ( wayland )
|
||||
screencopy? ( wayland )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
dev-qt/qtbase:6=[dbus,vulkan]
|
||||
dev-qt/qtsvg:6=
|
||||
dev-qt/qtdeclarative:6=
|
||||
x11-libs/libdrm
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
wayland? (
|
||||
dev-libs/wayland
|
||||
dev-qt/qtwayland:6=
|
||||
)
|
||||
screencopy? ( media-libs/mesa )
|
||||
X? ( x11-libs/libxcb )
|
||||
pipewire? ( media-video/pipewire )
|
||||
pam? ( sys-libs/pam )
|
||||
policykit? (
|
||||
sys-auth/polkit
|
||||
dev-libs/glib
|
||||
)
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
networkmanager? ( net-misc/networkmanager )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
dev-cpp/cli11
|
||||
dev-util/spirv-tools
|
||||
dev-qt/qtshadertools:6
|
||||
screencopy? ( dev-util/vulkan-headers )
|
||||
wayland? (
|
||||
dev-util/wayland-scanner
|
||||
dev-libs/wayland-protocols
|
||||
)
|
||||
crash-handler? ( dev-cpp/cpptrace[unwind] )
|
||||
"
|
||||
|
||||
DOCS=( README.md changelog/ )
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-strict-aliasing.patch" )
|
||||
|
||||
src_configure() {
|
||||
# hyprland controls all Hyprland sub-features as a group.
|
||||
# i3 controls I3/Sway IPC.
|
||||
# screencopy controls all screencopy backends (icc, wlr, hyprland-toplevel).
|
||||
local _hyprland=$(usex hyprland)
|
||||
local _screencopy=$(usex screencopy)
|
||||
local _i3=$(usex i3)
|
||||
|
||||
local mycmakeargs=(
|
||||
-DDISTRIBUTOR="${BRANDING_OS_NAME} GURU"
|
||||
-DINSTALL_QML_PREFIX="$(get_libdir)/qt6/qml"
|
||||
-DGIT_REVISION=${GIT_REVISION}
|
||||
-DCRASH_HANDLER=$(usex crash-handler)
|
||||
-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)
|
||||
-DHYPRLAND=${_hyprland}
|
||||
-DHYPRLAND_IPC=${_hyprland}
|
||||
-DHYPRLAND_GLOBAL_SHORTCUTS=${_hyprland}
|
||||
-DHYPRLAND_FOCUS_GRAB=${_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 policykit)
|
||||
-DSERVICE_GREETD=$(usex greetd)
|
||||
-DSERVICE_UPOWER=$(usex upower)
|
||||
-DSERVICE_NOTIFICATIONS=$(usex notifications)
|
||||
-DBLUETOOTH=$(usex bluetooth)
|
||||
-DNETWORK=$(usex networkmanager)
|
||||
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
Reference in New Issue
Block a user