Accepting request 1241310 from X11:Wayland

OBS-URL: https://build.opensuse.org/request/show/1241310
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/hyprland?expand=0&rev=35
This commit is contained in:
Ana Guerrero 2025-01-30 13:49:28 +00:00 committed by Git OBS Bridge
commit c92b6f0fda
7 changed files with 274 additions and 17 deletions

View File

@ -6,7 +6,7 @@
<param name="filename">hyprland</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="revision">v0.46.2</param>
<param name="revision">@PARENT_TAG@</param>
<param name="submodule">enable</param>
</service>
<service name="tar" mode="manual" />

View File

@ -0,0 +1,28 @@
From 4fcb3f028a8ca15a553faba77f262a3cb75d4a71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20=22sp1rit=22=E2=80=8B?= <sp1ritCS@protonmail.com>
Date: Mon, 27 Jan 2025 18:41:45 +0100
Subject: [PATCH] disable donation nag popup
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Florian "sp1rit" <sp1ritCS@protonmail.com>
---
src/managers/DonationNagManager.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/managers/DonationNagManager.cpp b/src/managers/DonationNagManager.cpp
index d7eab9a..4fc8dc9 100644
--- a/src/managers/DonationNagManager.cpp
+++ b/src/managers/DonationNagManager.cpp
@@ -34,6 +34,7 @@ const std::vector<SNagDatePoint> NAG_DATE_POINTS = {
// clang-format on
CDonationNagManager::CDonationNagManager() {
+ return;
static auto PNONAG = CConfigValue<Hyprlang::INT>("ecosystem:no_donation_nag");
if (g_pVersionKeeperMgr->fired() || *PNONAG)
--
2.48.1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3da6226f362dd3ee3513933008806ecf85eb312b55112225e18413219ad17be3
size 51341512

3
hyprland-0.47.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f9a5809019ba9ddfe1cfd4037fb395826c99c21f9ec269d61ca6bfcf14c44f0
size 51366864

View File

@ -1,3 +1,233 @@
-------------------------------------------------------------------
Thu Jan 30 09:08:11 UTC 2025 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.47.1:
+ 0.47.1 comes with, as usual, a few fixes backported from main.
Some crashes, odd behavior, flickers, etc.
+ Fixes backported:
* xwayland: send synthetic configure events (#9193)
* deps: add libinotify-kqueue on BSDs (#9197)
* xwayland: respect window size set by configure requests (#9190)
* ikeyboard: free xkbSymState in clearManuallyAllocd
* configmgr: properly free glob memory
* presentation: log a fixme when there is a feedback leak
* renderer: calculate UV using both pixel and monitor dimensions
* pass/rect: fix bounding / opaque regions
* config/hyprctl: fix keyword not updating autoreload
* monitor: round refresh rates in sorting modes
* popup: stop refocusing at unmap
* subsurface: fix invalid parent typo
-------------------------------------------------------------------
Mon Jan 27 17:15:02 UTC 2025 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.47.0:
+ New year, new Hyprland release brought to you by Yours Truly.
This update is quite large, so you might want to read these patch
notes.
There have been quite a bunch of internal rewrites, mostly around
memory safety, the renderer, and animation system. Although
performance shouldn't change much, it should improve stability in
edge cases. Please do report any regressions you might find, if
they aren't reported already.
+ Breaking changes:
- master:always_center_master has been replaced with a more
flexible master:slave_count_for_center_master
+ New features:
- config: add exec(-onec) with rules and execr(-once) (#8953)
- core/renderer: Add GPU hotplug support (#8980)
- core: Add render:allow_early_buffer_release to make buffer
release configurable (#9019)
- core: Add support for HDR and color management protocols
(#8715)
- core: add --verify-config to verify the config with Hyprland
- ctm: add an internal fade animation to ctm transitions
- debug: add debug:pass for debugging the render pass
- hyprpm: add an option to force reload all plugins (#8883)
- hyprpm: add glaze dependency FetchContent fallback (#8899)
- keybinds: add new window destruction dispatchers (#8962)
- keybinds: add visible arg for cyclenext (#9045)
- master: add option to show slaves on left in center orientation
(#8940)
- pluginAPI: add register dispatcher v2
- protocols: add hyprland_lock_notify_v1 implementation (#9092)
- protocols: add hyprland_surface_v1 implementation (#8877)
- protocols: add hyprland_surface_v1.set_visible_region
implementation (#9120)
- renderer: Add supercircular window corners (#8943)
- selectors: add a tag: to for matching window tag(s) by regex
(#8985)
- socket2: add focusedmonv2 event (#8921)
- windowrules: add negative: prefix for negating a regex
+ Fixes:
- animation: fixup adding animvars during ::tick (#9030)
- animations: fix XWayland cursor glitch and refactor skill
issues (#9033)
- animations: fix borderangle once (#9149)
- compositor: fix incorrect cast, use lambda capture instead
(#9161)
- config: fix animations requiring all args
- config: fix float animation speeds < 0 (#9123)
- config/ConfigWatcher.cpp: add missing include needed for clang
(#9166)
- configmgr: fix crash on very early plugin loads
- core/compositor: fix too early buffer release (#8966)
- core: fix custom resolutions (#8897)
- core: fix possible crash on null active workspace
- data-device: fix edge case crash on null xwm
- debug: fix ISDEBUG checking (#8823)
- debug: fix overlay not rendering
- desktop/DesktopTypes.hpp: fix include (#9104)
- dwindle: fix possible crash on null ws
- functionHooks: wait for hyprland pages before returning addr
for trampo
- helpers/Monitor.cpp: fix include path (#9039)
- hyprctl: Fix hyprctl batch JSON command (#8749)
- hyprctl: fix hyprctl --batch not working with exec rules
(#8952)
- hyprpm: fix hyrpm sometimes returning 0 despite errors occurring
(#8761)
- keybinds: fix movefocus fallback for special workspaces (#9040)
- keybinds: fix nullptr deref in forcekillactive (#9021)
- keybinds: fix previous_per_monitor logic (#9010)
- logging: fix Gpu info (#8764)
- pass: fixup debug mode rendering of input boxes
- protocols: fix alpha-modifier noncompliance (#8929)
- protocols: fix compilation error (#8988)
- renderer: fix CRendererHintsPassElement reset duplication issue
(#8928)
- renderer: fix fullscreen hdr check (#9076)
- renderer: fix oversized blur precalcs not blurring at all
- renderer: fix rare case when a tiled window would be rendered
over fs
- shaders: fix blank windows when using corner rounding (#8969)
(#8971)
- window: fixup fade out animation on silent moves
- xwayland: fix clipboard mime name and atom mismatch (#9137)
- xwayland: fix compile with no xwayland
- xwayland: fix crash when trying to initialize without Xwayland
installed (#9077)
- xwayland: fix dnd including xwayland
- xwayland: fix pointer mismatches with multiple monitors (#9179)
- xwayland: fix sending large clipboard data (#9134)
- xwayland: various window handling fixes
- xwm: fixup targets in selection requests
+ Other:
- properly install 'hyprland' symlink (#9091)
- Renderer: rewrite render scheduling (#8683)
- animation: avoid crashes in ::tick() on mutations
- animationmgr: don't warp based on POINTY value (#9000)
- binds: cycle within group on single monitor if no window found
in the argument direction. (#8714)
- config: avoid querying the fs every tick
- config: disable borderangle by default (#9165)
- config: update animation even if disabled
- config/ConfigManager.cpp: add instruction to edit config
(#9130)
- core: add LIKELY and UNLIKELY macros
- core: always use goal size to send to clients
- core: avoid activating toplevel-less surfaces
- core: cleanup header includes (#9088)
- core: fade in windows when they are brought from invisible
workspaces
- core: guard workspace and monitor in moveWorkspaceToMonitor
- core: make persistent workspaces always follow the config
- core: move all shared_ptrs from the STL to hyprutils (#9143)
- core: move parts of the animation system to hyprutils (#8868)
- core: move sendWindowSize off of xwaylandmgr
- core: move to inotify for monitoring the config files
- core: refactor/improve monitor mode selection (#8804)
- core: reserve vector sizes as much as we can (#9118)
- core: update groups on movewindow (#9183)
- core: use cpu-buffer hw cursors on nvidia by default
- core: use readFileAsString instead of cat for os-release
- ctm: disable fade animation by default on nvidia
- datadevice: do the unfocus surface stuff before dndActive is
true (#9157)
- datadevice: guard XWayland server against crashes
- desktop: move desktop types to memory-safe pointers
- dnd/seat: avoid sending button events during a dnd op
- foreign-toplevel: update active on null window focus (#8860)
- fractional-scale: avoid redundant and duplicate scale events
- groupbar: unify title rendering
- groups: honor group lock window rule (#8782)
- hooksystem: avoid huge include for HANDLE
- hyprpm: use glaze to parse hyprctl plugin list (#8812)
- input: abord dnd op on escape pressed
- input: pass touch events to lock screens (#9129)
- internal: Make static analysis more happy (#8767)
- internal: added reference to CTimer class in KeybindManager
(#8836)
- internal: few small monitor improvements (#8890)
- internal: update window position/size after changing
fullscreenstate (#8865)
- keybinds: attempt to wrap around if fallback is allowed in
movefocus
- layershell: check if layer is valid (#9156)
- layershell: return focus to a valid ls on close if possible
- layout: apply group rules after window creation (#8779)
- layout: damage window properly on float mode changes
- layout: force full damage on toggling floating mode
- layout: set window size after toggling floating
- logging: get broader GPUINFO (#8753)
- master: make loop around optional when cycling (#8926)
- master: replace always_center_master with
slave_count_for_center_master (#8871)
- monitor: avoid crashes on no good modes
- monitor: bring back old description behavior
- opengl: only allocate offMainFB on demand
- opengl: use uv to avoid rendering the entire blurbox
- pass: allow removing all pass elements of a given type
- pass: ignore empty rectangles queued
- pass: improve blur region detection
- pass: improve pass debug mode
- pass: improve pass debugging
- pass: mark crucial elements as undiscardable
- pass: scale blur region in ::render
- pass: scale blur regions properly
- pointer: always scale the cpu cursor to the right size
- protocols: allow hyprland-toplevel-export to capture hidden
windows (#9041)
- protocols: do not capture cursor in toplevel without pointer
focus (#9042)
- protocols: do not destroy screencopy resources before client
request (#9048)
- protocols: immediately copy toplevel content when ignoreDamage
set (#9049)
- regex: log an error if regex parsing fails
- renderer/internal: stop using box pointers
- renderer: Auto enable wide color gamut in HDR mode (#9090)
- renderer: Do not set hdr metadata unless needed (#9014)
- renderer: allow plugins to know what window was rendered in
post
- renderer: don't access hdrMetadata optional if it has no value
(#8987)
- renderer: unload background texture if it's disabled
- renderer: use a render pass for render modif in client render
- renderer: use cairo for cpu buffer rendering (#9071)
- shadow: avoid drawing empty shadows
- snap: don't snap to any windows if workspace has a fullscreen
window (#8870)
- snap: give edge snapping precedence over corner snapping
(#8873)
- snap: revert #8659, use bounds checking instead of bit mask
(#8872)
- subsurface: damage the entire parent on size change
- tablet: send motions on tip events (#9132)
- window: only set m_iMonitorMovedFrom, when moving to a
different monitor (#9160)
- windowrules: precompute regexes for window/layer rules
- windows: honor xdg_toplevel_set_fullscreen output hint (#8965)
- windows: minor initial workspace improvements
- xwayland: avoid sending value of real size to xwayland
- xwayland: don't create an abstract unix domain socket on linux
(#8874)
- xwayland: don't define atoms on no_xwayland builds
- xwayland: support sending clipboard change notification on
focus (#9111)
- Added "disable-donation-nag-popup.patch" to prevent the donation
nag popup from spawning.
-------------------------------------------------------------------
Fri Dec 20 07:58:25 UTC 2024 - Florian "spirit" <sp1rit@disroot.org>

View File

@ -1,7 +1,7 @@
#
# spec file for package hyprland
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2022-24 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
#
# All modifications and additions to the file contributed by third parties
@ -22,7 +22,7 @@
%define shortname hypr
Name: hyprland
Version: 0.46.2
Version: 0.47.1
Release: 0
Summary: Dynamic tiling Wayland compositor
License: BSD-3-Clause
@ -30,14 +30,16 @@ URL: https://hyprland.org/
Source0: %{name}-%{version}.tar.xz
Source99: %{name}.rpmlintrc
Patch1: meson-missing-wayland-include.patch
Patch2: disable-donation-nag-popup.patch
Patch100: opensuse-hyprpm-use-hyprland-devel-subpkg.patch
BuildRequires: cmake
BuildRequires: gcc-c++ >= 14
BuildRequires: git
BuildRequires: glaze-devel
BuildRequires: glslang-devel
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: pkgconfig(aquamarine) >= 0.4.5
BuildRequires: pkgconfig(aquamarine) >= 0.7.0
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gbm) >= 17.1.0
@ -46,7 +48,7 @@ BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(hyprcursor) >= 0.1.9
BuildRequires: pkgconfig(hyprgraphics) >= 0.1.1
BuildRequires: pkgconfig(hyprlang) >= 0.3.2
BuildRequires: pkgconfig(hyprutils) >= 0.2.4
BuildRequires: pkgconfig(hyprutils) >= 0.3.1
BuildRequires: pkgconfig(hyprwayland-scanner) >= 0.3.8
BuildRequires: pkgconfig(libdrm) >= 2.4.118
BuildRequires: pkgconfig(libinput) >= 1.14.0
@ -174,6 +176,7 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp
%license LICENSE
%doc README.md
%{_bindir}/Hyprland
%{_bindir}/hyprland
%{_bindir}/hyprctl
%{_bindir}/hyprpm
%dir %{_datadir}/%{shortname}

View File

@ -24,20 +24,16 @@ diff --git a/hyprpm/src/core/DataState.cpp b/hyprpm/src/core/DataState.cpp
index fb8679d..a1c7026 100644
--- a/hyprpm/src/core/DataState.cpp
+++ b/hyprpm/src/core/DataState.cpp
@@ -21,7 +21,7 @@ std::string DataState::getDataStatePath() {
}
@@ -22,3 +22,3 @@ std::string DataState::getHeadersPath() {
std::string DataState::getHeadersPath() {
- return getDataStatePath() + "/headersRoot";
- return getDataStatePath() / "headersRoot";
+ return "REPLACE_ME_WITH_PREFIX/";
}
void DataState::ensureStateStoreExists() {
diff --git a/hyprpm/src/core/PluginManager.cpp b/hyprpm/src/core/PluginManager.cpp
index 48b108c..b0f590b 100644
--- a/hyprpm/src/core/PluginManager.cpp
+++ b/hyprpm/src/core/PluginManager.cpp
@@ -17,6 +17,7 @@
@@ -15,6 +15,7 @@
#include <sys/types.h>
#include <sys/stat.h>
@ -45,7 +41,7 @@ index 48b108c..b0f590b 100644
#include <pwd.h>
#include <unistd.h>
@@ -436,141 +437,27 @@ bool CPluginManager::updateHeaders(bool force) {
@@ -435,141 +436,27 @@ bool CPluginManager::updateHeaders(bool force) {
const auto HLVER = getHyprlandVersion(false);
if (!hasDeps()) {
@ -192,7 +188,7 @@ index 48b108c..b0f590b 100644
progress.m_szCurrentMessage = "Failed";
progress.print();
@@ -953,6 +840,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) {
@@ -945,6 +832,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) {
}
bool CPluginManager::hasDeps() {