Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package hyprland for openSUSE:Factory 
checked in at 2024-08-09 16:14:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyprland (Old)
 and      /work/SRC/openSUSE:Factory/.hyprland.new.7232 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hyprland"

Fri Aug  9 16:14:37 2024 rev:26 rq:1192550 version:0.42.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/hyprland/hyprland.changes        2024-06-27 
16:03:22.894785999 +0200
+++ /work/SRC/openSUSE:Factory/.hyprland.new.7232/hyprland.changes      
2024-08-09 16:15:04.715969902 +0200
@@ -1,0 +2,203 @@
+Thu Aug  8 07:43:20 UTC 2024 - Florian "sp1rit" <sp1...@disroot.org>
+
+- Update to version 0.42.0:
+  + At last, a very large update 0.42.0 has finally dropped!
+  + Notable changes:
+    - Wlroots has been dropped, and is no longer a dependency.
+    - Explicit sync support has been added and will be automatically
+      turned on/off depending on your setup. For some select nvidia
+      users, this might cause glitches. In such cases, disable it
+      with render:explicit_sync = false
+    - Old protocol implementations redone in our newer, more
+      memory-safe impl style.
+    - In-house XCursor implementation for legacy themes
+    - Tons and tons of fixes and performance improvements!
+  + Breaking changes:
+    - misc:no_direct_scanout -> render:direct_scanout
+    - fakefullscreen has been dropped in favor of the new
+      fullscreenstate dispatcher
+  + New features:
+    - config: add option to exit window while retaining fullscreen
+      (#516) (#6880)
+    - core: Add missing header for libc++ after e989a0b (#7158)
+    - core: add a destructor to CHyprOpenglImpl and avoid
+      wl_container_of undefined behaviour (#7101)
+    - crashreporter: add date and flags to crash report (#7028)
+    - debug: add Nvidia driver info (#6715)
+    - hyprpm: add short error code explanations
+    - internal: Add functions to hyprctl header (#6745)
+    - keybinds: add bindp and noshortcutsinhibit (#7017)
+    - keybinds: add safeguard to mousebinds (#7034)
+    - pluginapi: Add force reload of config at the end of plugin
+      initialization (#7099)
+    - pointer: change min cursor padding to 0 (#6027)
+    - socket2: Add windowtitlev2 event which includes the window
+      address (#6856)
+    - touch: add touch swipe invert config (#6940)
+  + Fixes:
+    - border: fixup infinite recursion
+    - compositor: fix general:extend_border_grab_area (#7214)
+    - compositor: fix log typos (#7111)
+    - configmgr: fix warning
+    - core/surface/buffer: Buffer lock/release fixes (#7110)
+    - core/surface: fixup a few pointer handling edge cases
+    - core: Fix crash on opening chromium (#6932)
+    - core: fix a few ubsan issues reported at exit of hyprland
+      (#6699)
+    - decorations: fix infinite recursion on no_gaps when only (#7169)
+    - drm-syncobj: fixup fd leak with timelines
+    - hyprctl: increase hyprctl timeout to 5s to fix #6801 (#7152)
+    - ime-relay: fix crash on nullptr surface focus
+    - input: Fix hyprctl switchxkblayout not actually changing layout
+      (#7070)
+    - input: fix capabilities enum types passed
+    - input: fix invalid usage of dev in setTouchDeviceConfigs
+    - input: fix keyboard leds with multiple keyboards (#7079)
+    - input: fix leds on kb creation (#7206)
+    - internal: fix fullscreen typos (#7134)
+    - keybinds: fix NoSymbol keybinds (#7199)
+    - keybinds: fix movewindow float to 0 (#6777)
+    - layersurface: fixup focus issues in onUnmap
+    - layout: fix dynamic rules not updating after setting fullscreen
+      (#7129)
+    - meson: fix wlroots-hyprland dep checks (for libliftoff patch to
+      work) (#6736)
+    - output: minor tearing fixes
+    - pointer: fix buffer crash (#7131)
+    - presentation-feedback: fix invalid values sent after aq merge
+    - renderer: Explicit sync fixes (#7151)
+    - renderer: fix a few xray regressions (#6855)
+    - renderer: fixup crashes on inaccessible files for bg
+    - renderer: fixup nvidia driver version checks
+    - renderer: partially revert previous xray fix (#6868)
+    - session: fix activate events being always treated as on (#6696)
+    - sessionLock: fix the check for locking a locked session (#6843)
+    - shortcutsInhibit: fix crash
+    - style: fix clang-format
+    - surface: fix zero_scaling xwayland damage
+    - surface: fixup logical damage size calculations
+    - toplevelexport: fix flipped r/b channels when sharing windows
+      (#6861)
+    - touch: fix touch swipe invert config (#7014)
+    - virtual-pointer: fixup virtual pointer warp events
+    - wayland/compositor: fixup buffer damage tracking for
+      wl_shm buffers
+    - wayland/compositor: fixup double buffer releases
+    - wayland/surface: fixup self-owning surface roles
+    - xdg-shell: fix xdg-positioner y-flip (#7094)
+    - xdg-shell: fixup unassigned wl surfaces to xdg surfaces
+    - xwayland: fix high cpu idle usage
+    - xwayland: fix setting title prop (#6809)
+    - xwayland: fixup WM_SIZE_HINTS handling according to ICCCM
+    - xwm: Fix xwayland black window bug after losing focus (#6966)
+  + Other:
+    - Meson: replace props.json with VERSION
+    - Meson: install config and wallpapers to DATADIR/hypr
+    - Completions: use only awk (#6763)
+    - Core: Move to aquamarine (#6608)
+    - compositor: ignore setting surface scanout if DS is disabled
+    - compositor: implement wayland socket handover (#6930)
+    - compositor: minor cleanups for fading out layers
+    - compositor: simplify getWindowFromSurface
+    - config: avoid using initial ws tracking for exec-once
+    - config: don't crash when getenv HOME returns null
+    - config: use hyprutils helper (#6891)
+    - core/surface: drop map/unmap events in member funcs
+    - core: Improve handling of window properties (#6776)
+    - core: Properly shutdown wl display (#7018)
+    - core: avoid locking 2 wayland sockets (#6971)
+    - core: emit unmap event after unmap in surface destroy
+    - core: move to steady_clock where applicable
+    - cursor: Better xcursor implementation (#7178)
+    - cursormgr: avoid scanning ill formed inherit (#7211)
+    - cursormgr: implement inheriting themes for xcursor (#7197)
+    - debug: dont manually unlock the lock_guard (#7210)
+    - debug: get rid of useless 1s in logs (#6969)
+    - egl: attempt a 3.2 egl context first
+    - egl: avoid setting debug mode and handle legacyrenderer
+    - egl: require gles 3.0 only
+    - egl: support getting the device via platform_device
+    - ext-foreign-toplevel: Send done after title and class (#6857)
+    - hyprctl completions: Use only awk rather than grep + awk
+    - hyprctl: link to much less libraries (#7212)
+    - hyprerror: minor stylistic changes
+    - hyprpm: execute all git commands regardless of fails
+    - hyprpm: init submodules after resets
+    - input: Emulate discrete scrolling from v120 events (#6881)
+    - input: don't simulate mouse movement on focus change in
+      follow_mouse = 2/3 if no_warps is false (#7015)
+    - input: refocus last window on keyboard unfocusable surfaces
+    - input: unify removing currentlyDraggedWindow (#7071)
+    - inputmgr: ensure we dont divide by zero (#6713)
+    - internal: refactor fullscreen states (#7104)
+    - internal: some minor fd/socket cleanups and make logging thread
+      safe (#7123)
+    - keybinds: allow toggling fullscreenstate (#7128)
+    - keybinds: handle monitor change in moveWindowIntoGroup (#7030)
+    - keybinds: handle null monitor in pinActive (#7122)
+    - keybinds: improve fullscreenstate toggling (#7174)
+    - keybinds: never switch to another monitor with per_monitor
+      (#6665)
+    - keybinds: remove toggleopaque (#7024)
+    - keyboard: properly update keymap state and fd on keymap changes
+    - keyboard: update xkb state after key event
+    - layer-shell: avoid crashes on unmap (#7092)
+    - layer-shell: properly map and unmap surface and propagate unmap
+      events
+    - layer-shell: validate exclusiveEdge and don't set it as top by
+      default (#7006)
+    - layershell: don't throw misaligned error on exclusive edge 0
+    - layersurface: null check for surface validity before unmap()
+    - layout: update workspace rules on layout change (#6878)
+    - meson: install wayland.hpp header
+    - opengl: destroy cairo image surface after use
+    - output: submit damage to kms
+    - pointer-constraint: set lifetime correctly
+    - pointer/hw: extend cursor swapchain to 3
+    - pointer: round position when rendering software cursors
+    - pointer: update geometry after unplug events
+    - pointer: use preMonitorCommit for resetting render state
+    - protocols: Move globalshortcuts impl (#7102)
+    - protocols: move screencopy and toplevel export to
+      hyprwayland-scanner (#7065)
+    - protocols: move text-input-v1 to hyprwayland-scanner (#7096)
+    - renderer/layer-shell: use explicitly set exclusiveEdge (#6984)
+    - renderer: Make shader time always count from zero (#6903)
+    - renderer: don't skip back background on preBlurQueued
+    - renderer: don't use the surface counter in popup iterations
+    - renderer: drastically optimize bg texture creation
+    - renderer: drop redundant spammy trace log
+    - renderer: guard layer in renderLayer
+    - renderer: untransform textures matching display transform
+    - renderer: use session lock alpha for rendering lacking locks
+    - seat: don't send keyboard data without a keyboard cap (#6697)
+    - session-lock: send locked after the lock screen is properly
+      rendered (#6850)
+    - sessionLock: don't sendLocked when session lock has already
+      been destoyed (#7150)
+    - sessionLock: focus lock on creation based on mouse position
+      (#6658)
+    - surface: avoid crashes on fading out layers
+    - surface: emit unmap before unmapping and releasing the buffers
+    - tablet: Send .frame() on .proximity_out() (#6761)
+    - touch: set lastInputTouch on every event
+    - virtualptr: allow binding to output
+    - virtualptr: map to entire screen if no output is provided
+    - wayland/compositor: drop pending buffer ref if synchronous
+    - wayland/compositor: release buffers on unmap
+    - wayland/output: avoid sending events to dead outputs
+    - window/ls: reset core signals after destroy
+    - window: drop ack requirement for applying pending reported size
+    - window: override noMaximize if new window takes over fullscreen
+      (#6812) (#6870)
+    - wl_seat: avoid sending events to objects without caps
+    - workspaces: don't try to reopen special workspaces (#6802)
+    - xcursor: rework bootleg xcursor (#7140)
+    - xdg-shell: completely rewrite xdg-positioner (#7067)
+    - xdg-shell: make xdg-positioner flip target greatest available
+      space (#7209)
+    - xwayland: avoid unfocusing on OR child focuses
+    - xwayland: break cyclic loop of parents (#6722)
+    - xwm: drop invalid case for clearing X focus
+
+-------------------------------------------------------------------

Old:
----
  hyprland-0.41.2.tar.xz

New:
----
  hyprland-0.42.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ hyprland.spec ++++++
--- /var/tmp/diff_new_pack.LyWmiI/_old  2024-08-09 16:15:06.396040028 +0200
+++ /var/tmp/diff_new_pack.LyWmiI/_new  2024-08-09 16:15:06.400040195 +0200
@@ -19,8 +19,10 @@
 
 %bcond_without devel
 
+%define shortname hypr
+
 Name:           hyprland
-Version:        0.41.2
+Version:        0.42.0
 Release:        0
 Summary:        Dynamic tiling Wayland compositor
 License:        BSD-3-Clause
@@ -32,23 +34,20 @@
 BuildRequires:  gcc-c++ >= 11
 BuildRequires:  git
 BuildRequires:  glslang-devel
-BuildRequires:  jq
 BuildRequires:  meson
 BuildRequires:  pkgconfig
+BuildRequires:  pkgconfig(aquamarine)
 BuildRequires:  pkgconfig(cairo)
 BuildRequires:  pkgconfig(egl)
 BuildRequires:  pkgconfig(gbm) >= 17.1.0
 BuildRequires:  pkgconfig(gl)
 BuildRequires:  pkgconfig(glesv2)
-BuildRequires:  pkgconfig(hwdata)
 BuildRequires:  pkgconfig(hyprcursor) >= 0.1.9
 BuildRequires:  pkgconfig(hyprlang) >= 0.3.2
-BuildRequires:  pkgconfig(hyprutils) >= 0.1.4
+BuildRequires:  pkgconfig(hyprutils) >= 0.2.1
 BuildRequires:  pkgconfig(hyprwayland-scanner) >= 0.3.8
-BuildRequires:  pkgconfig(libdisplay-info)
 BuildRequires:  pkgconfig(libdrm) >= 2.4.118
 BuildRequires:  pkgconfig(libinput) >= 1.14.0
-BuildRequires:  pkgconfig(libseat) >= 0.2.0
 BuildRequires:  pkgconfig(libudev)
 BuildRequires:  pkgconfig(pango)
 BuildRequires:  pkgconfig(pangocairo)
@@ -63,6 +62,7 @@
 BuildRequires:  pkgconfig(xcb)
 BuildRequires:  pkgconfig(xcb-icccm)
 BuildRequires:  pkgconfig(xcb-renderutil)
+BuildRequires:  pkgconfig(xcursor)
 BuildRequires:  pkgconfig(xkbcommon)
 BuildRequires:  pkgconfig(xwayland)
 %if 0%{?suse_version}
@@ -108,6 +108,7 @@
 Summary:        Bash Completion for %{name}
 Group:          System/Shells
 Requires:       %{name}
+Requires:       awk
 Requires:       bash-completion
 Supplements:    (%{name} and bash-completion)
 BuildArch:      noarch
@@ -119,6 +120,7 @@
 Summary:        Fish Completion for %{name}
 Group:          System/Shells
 Requires:       %{name}
+Requires:       awk
 Requires:       fish
 Supplements:    (%{name} and fish)
 BuildArch:      noarch
@@ -130,6 +132,7 @@
 Summary:        ZSH Completion for %{name}
 Group:          System/Shells
 Requires:       %{name}
+Requires:       awk
 Requires:       zsh
 Supplements:    (%{name} and zsh)
 BuildArch:      noarch
@@ -161,10 +164,6 @@
 
 %install
 %meson_install --tags runtime,man%{?with_devel:,devel}
-%if %{with devel}
-rm %{buildroot}/%{_libdir}/libwlroots.a 
%{buildroot}/%{_datadir}/pkgconfig/wlroots.pc
-rm -rf %{buildroot}/%{_includedir}/wlr/
-%endif
 
 %files
 %license LICENSE
@@ -172,8 +171,8 @@
 %{_bindir}/Hyprland
 %{_bindir}/hyprctl
 %{_bindir}/hyprpm
-%dir %{_datadir}/%{name}
-%{_datadir}/%{name}/hyprland.conf
+%dir %{_datadir}/%{shortname}
+%{_datadir}/%{shortname}/hyprland.conf
 %dir %{_datadir}/wayland-sessions/
 %{_datadir}/wayland-sessions/%{name}.desktop
 %dir %{_datadir}/xdg-desktop-portal
@@ -182,7 +181,7 @@
 %{_mandir}/man1/hyprctl.*
 
 %files wallpapers
-%{_datadir}/%{name}/wall*
+%{_datadir}/%{shortname}/wall*
 
 %if %{with devel}
 %files devel

++++++ hyprland-0.41.2.tar.xz -> hyprland-0.42.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/hyprland/hyprland-0.41.2.tar.xz 
/work/SRC/openSUSE:Factory/.hyprland.new.7232/hyprland-0.42.0.tar.xz differ: 
char 15, line 1

++++++ opensuse-hyprpm-use-hyprland-devel-subpkg.patch ++++++
--- /var/tmp/diff_new_pack.LyWmiI/_old  2024-08-09 16:15:06.476043367 +0200
+++ /var/tmp/diff_new_pack.LyWmiI/_new  2024-08-09 16:15:06.484043701 +0200
@@ -1,4 +1,4 @@
-From 7c6a4e5b37a2e42a3f79fda15bb6116856928c93 Mon Sep 17 00:00:00 2001
+From c34dc954cc6388e9bc9ea608152ae4fc3f201bb1 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Florian=20sp1rit=E2=80=8B?= <sp1...@disroot.org>
 Date: Fri, 14 Jun 2024 23:43:46 +0200
 Subject: [PATCH] openSUSE: Use hyprland-devel instead of downloading from
@@ -17,8 +17,8 @@
 Signed-off-by: Florian "sp1rit"​ <sp1...@disroot.org>
 ---
  hyprpm/src/core/DataState.cpp     |   2 +-
- hyprpm/src/core/PluginManager.cpp | 137 +++++-------------------------
- 2 files changed, 22 insertions(+), 117 deletions(-)
+ hyprpm/src/core/PluginManager.cpp | 140 +++++-------------------------
+ 2 files changed, 21 insertions(+), 121 deletions(-)
 
 diff --git a/hyprpm/src/core/DataState.cpp b/hyprpm/src/core/DataState.cpp
 index 61ad336..99dbadd 100644
@@ -34,7 +34,7 @@
  
  void DataState::ensureStateStoreExists() {
 diff --git a/hyprpm/src/core/PluginManager.cpp 
b/hyprpm/src/core/PluginManager.cpp
-index 848b9ca..253c024 100644
+index 6988547..036c705 100644
 --- a/hyprpm/src/core/PluginManager.cpp
 +++ b/hyprpm/src/core/PluginManager.cpp
 @@ -14,6 +14,7 @@
@@ -45,14 +45,14 @@
  #include <pwd.h>
  #include <unistd.h>
  
-@@ -397,136 +398,27 @@ bool CPluginManager::updateHeaders(bool force) {
+@@ -406,134 +407,20 @@ 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");
@@ -63,8 +63,8 @@
 -        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;
@@ -110,12 +110,22 @@
 -    progress.m_szCurrentMessage = "Checking out sources";
 -    progress.print();
 -
--    ret = execAndGet("cd " + WORKINGDIR + " && git checkout " + HLVER.branch 
+ " 2>&1");
+-    if (m_bVerbose)
+-        progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + 
Colors::RESET + "will run: " + "cd " + WORKINGDIR + " && git checkout " + 
HLVER.hash + " 2>&1");
+-
+-    ret = execAndGet("cd " + WORKINGDIR + " && git checkout " + HLVER.hash + 
" 2>&1");
+-
+-    if (ret.contains("fatal: unable to read tree")) {
+-        std::cerr << "\n"
+-                  << Colors::RED << "✖" << Colors::RESET
+-                  << " Could not checkout the running Hyprland commit. If you 
are on -git, try updating.\nYou can also try re-running hyprpm update with 
--no-shallow.\n";
+-        return false;
+-    }
 -
 -    if (m_bVerbose)
 -        progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + 
Colors::RESET + "git returned (co): " + ret);
 -
--    ret = execAndGet("cd " + WORKINGDIR + " && git rm subprojects/tracy && 
git submodule update --init 2>&1 && git reset --hard --recurse-submodules " + 
HLVER.hash);
+-    ret = execAndGet("cd " + WORKINGDIR + " ; git rm subprojects/tracy ; git 
submodule update --init 2>&1 ; git reset --hard --recurse-submodules " + 
HLVER.hash);
 -
 -    if (m_bVerbose)
 -        progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + 
Colors::RESET + "git returned (rs): " + ret);
@@ -123,8 +133,7 @@
 -    progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + 
Colors::RESET + " 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(std::string{Colors::YELLOW} + "!" + 
Colors::RESET + " configuring Hyprland");
 -
@@ -149,16 +158,12 @@
 -        return false;
 -    }
 -
--    // le hack. Wlroots has to generate its build/include
--    ret = execAndGet("cd " + WORKINGDIR + "/subprojects/wlroots-hyprland && 
meson setup -Drenderers=gles2 -Dexamples=false build");
--    if (m_bVerbose)
--        progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + 
Colors::RESET + "meson returned: " + ret);
--
 -    progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + 
Colors::RESET + " configured Hyprland");
 -    progress.m_iSteps           = 4;
 -    progress.m_szCurrentMessage = "Installing sources";
--    progress.print();
--
++    progress.m_szCurrentMessage = "Checking headers";
+     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)
@@ -172,7 +177,6 @@
 -    // 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");
@@ -181,15 +185,16 @@
          progress.m_szCurrentMessage = "Done!";
          progress.print();
  
-         std::cout << "\n";
+@@ -541,7 +428,7 @@ bool CPluginManager::updateHeaders(bool force) {
      } else {
-         progress.printMessageAbove(std::string{Colors::RED} + "✖" + 
Colors::RESET + " failed to install headers with error code " + 
std::to_string((int)HEADERSVALID));
+         progress.printMessageAbove(std::string{Colors::RED} + "✖" + 
Colors::RESET + " failed to install headers with error code " + 
std::to_string((int)HEADERSVALID) + " (" +
+                                    headerErrorShort(HEADERSVALID) + ")");
 -        progress.m_iSteps           = 5;
 +        progress.m_iSteps           = 1;
          progress.m_szCurrentMessage = "Failed";
          progress.print();
  
-@@ -877,6 +769,19 @@ std::string CPluginManager::headerError(const 
eHeadersErrors err) {
+@@ -904,6 +791,19 @@ std::string CPluginManager::headerErrorShort(const 
eHeadersErrors err) {
  }
  
  bool CPluginManager::hasDeps() {

Reply via email to