From 650a11c19412bae3b26db5514a2915ca3ae36c634d0b26cb9e9ddda811767fd8 Mon Sep 17 00:00:00 2001 From: Florian Date: Wed, 26 Jun 2024 14:18:07 +0000 Subject: [PATCH] Update to version 0.41.2 OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/hyprland?expand=0&rev=85 --- hyprland-0.41.1.tar.xz | 3 - hyprland-0.41.2.tar.xz | 3 + hyprland.changes | 75 +++++++++++++++++++ hyprland.spec | 4 +- ...use-hyprpm-use-hyprland-devel-subpkg.patch | 36 ++++----- 5 files changed, 99 insertions(+), 22 deletions(-) delete mode 100644 hyprland-0.41.1.tar.xz create mode 100644 hyprland-0.41.2.tar.xz diff --git a/hyprland-0.41.1.tar.xz b/hyprland-0.41.1.tar.xz deleted file mode 100644 index ff9991f..0000000 --- a/hyprland-0.41.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:128d758e8f38736dc9918dca0f8055ea4c5bb2468d0e8f8dd3b9c05e212df289 -size 51586084 diff --git a/hyprland-0.41.2.tar.xz b/hyprland-0.41.2.tar.xz new file mode 100644 index 0000000..6c93a88 --- /dev/null +++ b/hyprland-0.41.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbf31acef7031076888e8b0891cbcf6093c6a08f9399735aecbbdd45ee3bb0ee +size 51587912 diff --git a/hyprland.changes b/hyprland.changes index 13efb4a..a82856d 100644 --- a/hyprland.changes +++ b/hyprland.changes @@ -1,3 +1,78 @@ +------------------------------------------------------------------- +Wed Jun 26 07:58:46 UTC 2024 - Florian "spirit" + +- Update to version 0.41.2: + + Hi all! 0.41.2 bringing even more fixes on top of 0.41.1. Enjoy! + + New features: + - core: add ability to select previous workspace per monitor + (#6598) + - hyprctl: added --follow option to rolliglog (#6325) + - hyprpm: add --no-shallow + - input: add cursor:warp_on_changeworkspace (#6480) + - keybinds: add custom event dispatcher + - vrr: add option to fix mouse breaking vrr (#6483) + - window: expose pseudotiled state and add param to dispatcher + (#6583) + + Fixes: + - animations: fix overriding direction for slide + - core: fix a few small memory leaks on exit (#6470) + - data-device: minor fixes + - egl: fixup format modifier lookups with implicit modifiers + - foreign-toplevel-wlr: fix out-of-range for missing monitor + resources + - format: fix flipped r/b channels on legacy_renderer + - hyprctl: add a newline after log() + - hyprctl: fix zsh completion (#6467) + - keybinds: fix mouse pass (#6652) + - output: fix cursors disappearing after dpms (#6659) + - subcompositor/renderer: fixup handling of subsurfaces below the + main one + - surface: add virtual destructor to surfacerole to avoid + undefined behaviour (#6620) + - vrr: add option to fix mouse breaking vrr (#6483) + - xdg-shell: fixup xdg-positioner's pointForAnchor with + non-corner points + - xwayland: fixup unfocus atom conditions + + Other: + - compositor: bump nofile rlimits on launch + - constraints: Lock surface region when region is empty (#6627) + - core: Move to hyprutils for Math + - core: avoid bumping hard rlimits, restore on fork + - damageRing: move to hyprland impl + - data-device: abort drag on unaccepted offers + - data-device: properly abort drag on missing device + - dbus: import PATH XDG_DATA_DIRS variables into systemd and dbus + session + - format: include macros for unreachable + - helpers: make shm_open() portable after 8bcccf9 (#6471) + - hyprctl: avoid using select() + - hyprctl: make recv timeout bigger and give error message if it + does timeout (#6621) + - hyprland.conf: update master section (#6537) + - keybinds: ignore missing keysyms if no other methods match + - master: refine master layout new window handling (#6479) + - math: include cstring for memset + - misc: a few compiler level performance optimisations (#6559) + - output: avoid crashes when binding a defunct wl_output global + - pointer: use software rendering when monitor is mirrored + (#6587) + - renderer: shrink occlusion rect if blur is used + - seat/dnd: unfocus pointer from surfaces on dnd start + - seat: track pressed pointer buttons + - window: improve swallowing functionality + - window: use effective damage for tearing re-schedules + - wl-compositor: don't send enter to defunct output globals + - wl_data_device: send drop_performed in completeDrag + - wl_seat: accomodate for apps late-binding seat resources + - wl_seat: send repeat data from current keyboard on bind + - xdg-shell: Continue transform of popup until size fits (#6521) + - xdg-shell: properly check for resource version for TILED and + SUSPENDED states + - xwayland: do not set a new data source if it has no MIMEs + - xwayland: drop some spammy logs to trace + - xwayland: force default plain mime atoms on known types + - xwayland: use safeRemove for removing files + ------------------------------------------------------------------- Fri Jun 14 21:51:19 UTC 2024 - Florian "spirit" diff --git a/hyprland.spec b/hyprland.spec index 510877a..d951354 100644 --- a/hyprland.spec +++ b/hyprland.spec @@ -20,7 +20,7 @@ %bcond_without devel Name: hyprland -Version: 0.41.1 +Version: 0.41.2 Release: 0 Summary: Dynamic tiling Wayland compositor License: BSD-3-Clause @@ -43,7 +43,7 @@ BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(hwdata) BuildRequires: pkgconfig(hyprcursor) >= 0.1.9 BuildRequires: pkgconfig(hyprlang) >= 0.3.2 -BuildRequires: pkgconfig(hyprutils) >= 0.1.2 +BuildRequires: pkgconfig(hyprutils) >= 0.1.4 BuildRequires: pkgconfig(hyprwayland-scanner) >= 0.3.8 BuildRequires: pkgconfig(libdisplay-info) BuildRequires: pkgconfig(libdrm) >= 2.4.118 diff --git a/opensuse-hyprpm-use-hyprland-devel-subpkg.patch b/opensuse-hyprpm-use-hyprland-devel-subpkg.patch index 08090e4..9071988 100644 --- a/opensuse-hyprpm-use-hyprland-devel-subpkg.patch +++ b/opensuse-hyprpm-use-hyprland-devel-subpkg.patch @@ -1,5 +1,5 @@ -From 1f2015ee57b0b8f45db60078f76012a0ac0a8e59 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20=22sp1rit=22=E2=80=8B?= +From 7c6a4e5b37a2e42a3f79fda15bb6116856928c93 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20sp1rit=E2=80=8B?= Date: Fri, 14 Jun 2024 23:43:46 +0200 Subject: [PATCH] openSUSE: Use hyprland-devel instead of downloading from upstream @@ -17,11 +17,11 @@ It also adds a new check to ensure that the subpackage is instealled. Signed-off-by: Florian "sp1rit"​ --- hyprpm/src/core/DataState.cpp | 2 +- - hyprpm/src/core/PluginManager.cpp | 133 +++++------------------------- - 2 files changed, 20 insertions(+), 115 deletions(-) + hyprpm/src/core/PluginManager.cpp | 137 +++++------------------------- + 2 files changed, 22 insertions(+), 117 deletions(-) diff --git a/hyprpm/src/core/DataState.cpp b/hyprpm/src/core/DataState.cpp -index 61ad336..aaceebe 100644 +index 61ad336..99dbadd 100644 --- a/hyprpm/src/core/DataState.cpp +++ b/hyprpm/src/core/DataState.cpp @@ -21,7 +21,7 @@ std::string DataState::getDataStatePath() { @@ -34,7 +34,7 @@ index 61ad336..aaceebe 100644 void DataState::ensureStateStoreExists() { diff --git a/hyprpm/src/core/PluginManager.cpp b/hyprpm/src/core/PluginManager.cpp -index f9e9664..a948edb 100644 +index 848b9ca..253c024 100644 --- a/hyprpm/src/core/PluginManager.cpp +++ b/hyprpm/src/core/PluginManager.cpp @@ -14,6 +14,7 @@ @@ -45,15 +45,15 @@ index f9e9664..a948edb 100644 #include #include -@@ -396,136 +397,27 @@ bool CPluginManager::updateHeaders(bool force) { +@@ -397,136 +398,27 @@ bool CPluginManager::updateHeaders(bool force) { const auto HLVER = getHyprlandVersion(); if (!hasDeps()) { - std::cerr << "\n" << Colors::RED << "✖" << Colors::RESET << " Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio\n"; + std::cerr << "\n" << Colors::RED << "✖" << Colors::RESET << " Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio\n"; 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); @@ -63,7 +63,8 @@ index f9e9664..a948edb 100644 - std::cout << "\n" << std::string{Colors::GREEN} + "✔" + Colors::RESET + " Headers up to date.\n"; - return true; - } -- ++ } + CProgressBar progress; - progress.m_iMaxSteps = 5; + progress.m_iMaxSteps = 1; @@ -81,7 +82,7 @@ index f9e9664..a948edb 100644 - - progress.printMessageAbove(std::string{Colors::YELLOW} + "!" + Colors::RESET + " Cloning https://github.com/hyprwm/hyprland, this might take a moment."); - -- const bool bShallow = HLVER.branch == "main" || HLVER.branch == ""; +- const bool bShallow = (HLVER.branch == "main" || HLVER.branch == "") && !m_bNoShallow; - - // let us give a bit of leg-room for shallowing - // due to timezones, etc. @@ -122,7 +123,8 @@ index f9e9664..a948edb 100644 - progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + Colors::RESET + " checked out to running ver"); - progress.m_iSteps = 3; - progress.m_szCurrentMessage = "Building Hyprland"; -- progress.print(); ++ progress.m_szCurrentMessage = "Checking headers"; + progress.print(); - - progress.printMessageAbove(std::string{Colors::YELLOW} + "!" + Colors::RESET + " configuring Hyprland"); - @@ -155,9 +157,8 @@ index f9e9664..a948edb 100644 - progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + Colors::RESET + " configured Hyprland"); - progress.m_iSteps = 4; - progress.m_szCurrentMessage = "Installing sources"; -+ progress.m_szCurrentMessage = "Checking headers"; - progress.print(); - +- progress.print(); +- - std::string cmd = - std::format("sed -i -e \"s#PREFIX = /usr/local#PREFIX = {}#\" {}/Makefile && cd {} && make installheaders", DataState::getHeadersPath(), WORKINGDIR, WORKINGDIR); - if (m_bVerbose) @@ -171,6 +172,7 @@ index f9e9664..a948edb 100644 - // remove build files - std::filesystem::remove_all(WORKINGDIR); - ++ auto HEADERSVALID = headersValid(); if (HEADERSVALID == HEADERS_OK) { progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + Colors::RESET + " installed headers"); @@ -187,7 +189,7 @@ index f9e9664..a948edb 100644 progress.m_szCurrentMessage = "Failed"; progress.print(); -@@ -876,6 +768,19 @@ std::string CPluginManager::headerError(const eHeadersErrors err) { +@@ -877,6 +769,19 @@ std::string CPluginManager::headerError(const eHeadersErrors err) { } bool CPluginManager::hasDeps() { @@ -208,5 +210,5 @@ index f9e9664..a948edb 100644 for (auto& d : deps) { if (!execAndGet("which " + d + " 2>&1").contains("/")) -- -2.45.1 +2.45.2