Accepting request 1231825 from X11:Wayland

OBS-URL: https://build.opensuse.org/request/show/1231825
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/hyprland?expand=0&rev=33
This commit is contained in:
Ana Guerrero 2024-12-18 19:10:19 +00:00 committed by Git OBS Bridge
commit bd48e6a8e5
5 changed files with 169 additions and 26 deletions

View File

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

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

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

View File

@ -1,3 +1,144 @@
-------------------------------------------------------------------
Tue Dec 17 19:35:11 UTC 2024 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.46.1:
+ A minor release with a patch backported from main.
+ Fixes backported:
- windowrules: fixup duplicate rule enum tags
-------------------------------------------------------------------
Tue Dec 17 11:20:07 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>
- Update to version 0.46.0:
+ The Hyprland overlord (also known as Santa in December) is
proudly bringing you 0.46.0.
Merry Hypr Christmas!
+ Breaking changes
- window/layer rule regexes now require a full match (not any
match) to trigger.
- cursor:dumb_copy is gone in favor of cursor:use_cpu_buffer.
This should allow no-downsides Nvidia hardware cursors. Please
note it's experimental.
+ New features:
- binds: add option to allow fullscreening a pinned window
(#8526)
- config: add 'force' option for
'cursor:warp_on_change_workspace' (#8681)
- core: Add support for hyprqtutils' update screen (#8651)
- core: add a few festive splashes
- core: move colorspace handling to oklab (#8635)
- dispatchers: Add an option to prioritize focus change within
groups with movefocus (#8601)
- hooks: add pre connected/disconnected monitor events (#8503)
- hyprctl: add an inhibitingIdle field to windows
- hyprctl: add directScanout to hyprctl monitors
- hyprctl: add json output on hyprctl -j plugins list (#8480)
- input: add warp_back_after_non_mouse_input
- logging: Add some context to config error logs (#8326)
- pointer: add drm dumb buffers for cursors (#8399)
- renderer: add lockdead_screen_delay (#8467)
- renderer: add option to blur IME popups (#8521)
- version: add link versions for other utils (#8619)
- windowrules: add rules for mouse and touchpad scroll factors
(#8655)
- xwayland: Support cross DnD from Wayland (#8708)
+ Fixes:
- animationmgr: fixup stack-use-after-return
- compositor: fix monitor arrangement with mixed auto directions
- core/data-device: expand damage region to fix minor px errors
- core: Fix workspace selector parsing (#8687)
- data-device: fixup wrong box expansion
- defaultConfig: fixup smart gaps rules
- hyprpm: fix incomplete unmet dependencies message
- internal: fix changeWindowZOrder reordering incorrectly (#8494)
- internal: fix some misused configStringToInt conversions
- internal: fixup some missed updateColorsOk() calls
- layerrules: fix ignorezero not working
- monitor: fix default focus when switching to a fs workspace
- opengl: fixup invalid ogl uniform reads
- opengl: fixup missed /4 in oklab parsing
- renderer: fix incorrect early return (#8590)
- renderer: fixup blur optimization considitons
- seat: fix double scrolling in some applications (#8583)
- shm: fix shm fd size check before creating or resizing shm_pool
(#8572)
- windowrules: fix prop rules with boolean values
- workspace: fix missing name via focusworkspaceoncurrentmonitor
(#8484)
+ Other:
- bezier: optimize setup of bezier curves (#8528)
- bind: new long press option (#8302)
- cleanup: remove leftover var in ThreadManager.cpp (#8611)
- config: Changed the default value of
decoration:blur:ignore_opacity to true (#8418)
- config: don't overwrite errors in gradients
- config: throw an error explicitly when parsing colors in
gradients
- config: update the configStringToInt implementation (#8476)
- constraints: don't warp pointer position on release (#8491)
- core/data: Use pointer focus for DnD operations (#8707)
- core/output: don't send enter too aggresively
- core: Move regex from stdlib to re2 (#8736)
- core: Optimize window/layer rule application and scanning
(#8735)
- core: drop using deques in favor of vectors
- core: feeling a bit quirky today.
- core: guard pmonitor in focuswindow
- core: move to os/Process from hyprutils
- core: move version include to hyprctl
- core: removed Herobrine
- core: workspace-related function cleanup / refactor
- crashreporter: avoid clang warning
- debug: clean up fetching of the contents of /proc/device-tree
(#8413)
- debug: clean up opening of files in HyprCtl (#8401)
- descriptions: change allow_pin_fullscreen value to false
(#8592)
- drm: enable explit out fence in AQ (#8431)
- hyprctl: avoid crash on null pwuid
- hyprctl: verify runtime dir exists in instances()
- hyprland-uwsm.desktop: Just reference plain entry (#8553)
- hyprpm: move temp files to XDG_RUNTIME_DIR
- hyprpm: target installed instead of running version (#8634)
- internal: minor cleanups for color results
- keybinds: actually suppress internal keybinds instead of
passing them along (#8538)
- keybinds: allow repeating multiple binds (#8290)
- keybinds: don't animate fullscreen size/pos changes coming in
- keybinds: move to managed pointers
- layersurface: use lastMonitor and not monitor from cursor for
new ls
- master: make center ignore reserved areas (#8625)
- meson: autodetect systemd
- miscfunctions: move configStringToInt to std::expected
- pointer: map devices across all outputs by default (#8352)
- protocols: mark primarySelection as not privileged
- rename hyprland-systemd.desktop and remove
hyprland-session.service
- renderer: don't render unmapped popups
- renderer: drop requesting OUT_FENCE_PTR
- renderer: restore discard mode after IME render pass
- renderer: scaled surfaces could have zero area (#8423)
- renderer: simplify blur enabling logic
- shell: don't use fgrep, prefer grep -F
- shell: propagate new machanism from hyprctl to miscfunctions
- snap: account for position of multiple monitors (#8543)
- snap: bias reserved area when its size is greater than zero
(#8694)
- snap: check which corner is being grabbed for monitor snapping
(#8637)
- snap: use the bit mask to check if snapping occurred (#8659)
- systemd: hyprland-systemd.desktop -> hyprland-uwsm.desktop
- versionkeeper: init version to 0.0.0 if no file is present
- windows/xdg: minor cleanup of min/max size calculations
- windows: allow replacing existing fullscreen (#8566)
- workspace: update hasFullscreenWindow in updateWindows
- workspacerules: Do not check 'on-created-empty' if using a
workspace windowrule (#8486)
- xcursors: store themes in a std:set to order it (#8474)
- xdg-shell: don't report invalid min/max sizes on unset
- xdg-shell: even more robust layout min/max size
-------------------------------------------------------------------
Wed Nov 20 13:55:57 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>

View File

@ -22,7 +22,7 @@
%define shortname hypr
Name: hyprland
Version: 0.45.2
Version: 0.46.1
Release: 0
Summary: Dynamic tiling Wayland compositor
License: BSD-3-Clause
@ -37,15 +37,16 @@ BuildRequires: git
BuildRequires: glslang-devel
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: pkgconfig(aquamarine) >= 0.4.2
BuildRequires: pkgconfig(aquamarine) >= 0.4.5
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gbm) >= 17.1.0
BuildRequires: pkgconfig(gl)
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.1
BuildRequires: pkgconfig(hyprutils) >= 0.2.4
BuildRequires: pkgconfig(hyprwayland-scanner) >= 0.3.8
BuildRequires: pkgconfig(libdrm) >= 2.4.118
BuildRequires: pkgconfig(libinput) >= 1.14.0
@ -53,6 +54,7 @@ BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(pixman-1) >= 0.42.0
BuildRequires: pkgconfig(re2)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(tomlplusplus)
BuildRequires: pkgconfig(uuid)
@ -161,6 +163,7 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp
%build
%meson \
-Duwsm=disabled \
-Dwlroots-hyprland:xcb-errors=%{?with_xcb_errors:enabled}%{!?with_xcb_errors:disabled}
%meson_build
@ -179,7 +182,6 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp
%{_datadir}/%{shortname}/lockdead2.png
%dir %{_datadir}/wayland-sessions/
%{_datadir}/wayland-sessions/%{name}.desktop
%{_datadir}/wayland-sessions/%{name}-systemd.desktop
%dir %{_datadir}/xdg-desktop-portal
%{_datadir}/xdg-desktop-portal/%{name}-portals.conf
%{_mandir}/man1/Hyprland.*

View File

@ -1,4 +1,4 @@
From 59baf7887afbb81fc56fc211571f50c6f6806be0 Mon Sep 17 00:00:00 2001
From 1046bd52a4725819fd0ab00391b29adeb0d1eeef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20sp1rit=E2=80=8B?= <sp1rit@disroot.org>
Date: Fri, 14 Jun 2024 23:43:46 +0200
Subject: [PATCH] openSUSE: Use hyprland-devel instead of downloading from
@ -34,7 +34,7 @@ index fb8679d..a1c7026 100644
void DataState::ensureStateStoreExists() {
diff --git a/hyprpm/src/core/PluginManager.cpp b/hyprpm/src/core/PluginManager.cpp
index 57c6764..7f2ca09 100644
index 48b108c..b0f590b 100644
--- a/hyprpm/src/core/PluginManager.cpp
+++ b/hyprpm/src/core/PluginManager.cpp
@@ -17,6 +17,7 @@
@ -45,18 +45,18 @@ index 57c6764..7f2ca09 100644
#include <pwd.h>
#include <unistd.h>
@@ -412,141 +413,27 @@ bool CPluginManager::updateHeaders(bool force) {
const auto HLVER = getHyprlandVersion();
@@ -436,141 +437,27 @@ bool CPluginManager::updateHeaders(bool force) {
const auto HLVER = getHyprlandVersion(false);
if (!hasDeps()) {
- std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio"));
+ std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio"));
- std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio, pkg-config"));
+ std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio, pkg-config"));
return false;
}
- if (!std::filesystem::exists("/tmp/hyprpm")) {
- std::filesystem::create_directory("/tmp/hyprpm");
- std::filesystem::permissions("/tmp/hyprpm", std::filesystem::perms::all, std::filesystem::perm_options::replace);
- if (!std::filesystem::exists(getTempRoot())) {
- std::filesystem::create_directory(getTempRoot());
- std::filesystem::permissions(getTempRoot(), std::filesystem::perms::owner_all, std::filesystem::perm_options::replace);
- }
-
- if (!force && headersValid() == HEADERS_OK) {
@ -72,7 +72,7 @@ index 57c6764..7f2ca09 100644
- progress.print();
-
- const std::string USERNAME = getpwuid(getuid())->pw_name;
- const auto WORKINGDIR = "/tmp/hyprpm/hyprland-" + USERNAME;
- const auto WORKINGDIR = getTempRoot() + "hyprland-" + USERNAME;
-
- if (!createSafeDirectory(WORKINGDIR)) {
- std::println("\n{}", failureString("Could not prepare working dir for hl"));
@ -90,12 +90,12 @@ index 57c6764..7f2ca09 100644
- if (m_bVerbose && bShallow)
- progress.printMessageAbove(verboseString("will shallow since: {}", SHALLOW_DATE));
-
- std::string ret =
- execAndGet("cd /tmp/hyprpm && git clone --recursive https://github.com/hyprwm/Hyprland hyprland-" + USERNAME + (bShallow ? " --shallow-since='" + SHALLOW_DATE + "'" : ""));
- std::string ret = execAndGet(std::format("cd {} && git clone --recursive https://github.com/hyprwm/Hyprland hyprland-{}{}", getTempRoot(), USERNAME,
- (bShallow ? " --shallow-since='" + SHALLOW_DATE + "'" : "")));
-
- if (!std::filesystem::exists(WORKINGDIR)) {
- progress.printMessageAbove(failureString("Clone failed. Retrying without shallow."));
- ret = execAndGet("cd /tmp/hyprpm && git clone --recursive https://github.com/hyprwm/hyprland hyprland-" + USERNAME);
- ret = execAndGet(std::format("cd {} && git clone --recursive https://github.com/hyprwm/hyprland hyprland-{}", getTempRoot(), USERNAME));
- }
-
- if (!std::filesystem::exists(WORKINGDIR + "/.git")) {
@ -131,9 +131,8 @@ index 57c6764..7f2ca09 100644
- progress.printMessageAbove(successString("checked out to running ver"));
- progress.m_iSteps = 3;
- progress.m_szCurrentMessage = "Building Hyprland";
+ progress.m_szCurrentMessage = "Checking headers";
progress.print();
- progress.print();
-
- progress.printMessageAbove(statusString("!", Colors::YELLOW, "configuring Hyprland"));
-
- if (m_bVerbose)
@ -161,8 +160,9 @@ index 57c6764..7f2ca09 100644
- progress.printMessageAbove(successString("configured Hyprland"));
- progress.m_iSteps = 4;
- progress.m_szCurrentMessage = "Installing sources";
- progress.print();
-
+ progress.m_szCurrentMessage = "Checking headers";
progress.print();
- const std::string& cmd =
- std::format("sed -i -e \"s#PREFIX = /usr/local#PREFIX = {}#\" {}/Makefile && cd {} && make installheaders", DataState::getHeadersPath(), WORKINGDIR, WORKINGDIR);
- if (m_bVerbose)
@ -192,7 +192,7 @@ index 57c6764..7f2ca09 100644
progress.m_szCurrentMessage = "Failed";
progress.print();
@@ -910,6 +797,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) {
@@ -953,6 +840,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) {
}
bool CPluginManager::hasDeps() {