Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package hyprwayland-scanner for 
openSUSE:Factory checked in at 2026-07-17 18:49:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyprwayland-scanner (Old)
 and      /work/SRC/openSUSE:Factory/.hyprwayland-scanner.new.24530 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hyprwayland-scanner"

Fri Jul 17 18:49:03 2026 rev:8 rq:1366314 version:0.4.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/hyprwayland-scanner/hyprwayland-scanner.changes  
2025-07-17 17:19:59.810826543 +0200
+++ 
/work/SRC/openSUSE:Factory/.hyprwayland-scanner.new.24530/hyprwayland-scanner.changes
       2026-07-17 18:50:12.066717578 +0200
@@ -1,0 +2,9 @@
+Thu Jul 16 13:54:20 UTC 2026 - Nassim Lhadj <[email protected]>
+
+- Update to versin 0.4.6
+  * Generate protocol specific dummy_type names
+  * Add OpenBSD support (no librt)
+  * Core: use rvalue refs and move std::functions
+  * Core: fix types table size for untyped new_id args
+
+-------------------------------------------------------------------

Old:
----
  hyprwayland-scanner-0.4.5.obscpio

New:
----
  hyprwayland-scanner-0.4.6.obscpio

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

Other differences:
------------------
++++++ hyprwayland-scanner.spec ++++++
--- /var/tmp/diff_new_pack.ENXqpH/_old  2026-07-17 18:50:12.958747762 +0200
+++ /var/tmp/diff_new_pack.ENXqpH/_new  2026-07-17 18:50:12.958747762 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package hyprwayland-scanner
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 # Copyright (c) 2024 Florian "sp1rit" <[email protected]>
 #
 # All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
 
 
 Name:           hyprwayland-scanner
-Version:        0.4.5
+Version:        0.4.6
 Release:        0
 Summary:        Hyprland implementation of wayland-scanner
 License:        BSD-3-Clause

++++++ _service ++++++
--- /var/tmp/diff_new_pack.ENXqpH/_old  2026-07-17 18:50:13.002749250 +0200
+++ /var/tmp/diff_new_pack.ENXqpH/_new  2026-07-17 18:50:13.018749792 +0200
@@ -5,7 +5,7 @@
                <param name="scm">git</param>
                <param name="versionformat">@PARENT_TAG@</param>
                <param name="versionrewrite-pattern">v(.*)</param>
-               <param name="revision">v0.4.5</param>
+               <param name="revision">@PARENT_TAG@</param>
                <param name="submodule">enable</param>
        </service>
        <service name="tar" mode="buildtime" />

++++++ hyprwayland-scanner-0.4.5.obscpio -> hyprwayland-scanner-0.4.6.obscpio 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprwayland-scanner-0.4.5/.github/workflows/nix.yml 
new/hyprwayland-scanner-0.4.6/.github/workflows/nix.yml
--- old/hyprwayland-scanner-0.4.5/.github/workflows/nix.yml     2025-07-07 
16:18:29.000000000 +0200
+++ new/hyprwayland-scanner-0.4.6/.github/workflows/nix.yml     2026-04-26 
01:28:03.000000000 +0200
@@ -1,48 +1,11 @@
 name: Build
 
 on: [push, pull_request, workflow_dispatch]
+
 jobs:
   nix:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v3
-
-    - name: Install Nix
-      uses: nixbuild/nix-quick-install-action@v31
-      with:
-        nix_conf: |
-          keep-env-derivations = true
-          keep-outputs = true
-
-    - name: Restore and save Nix store
-      uses: nix-community/cache-nix-action@v6
-      with:
-        # restore and save a cache using this key
-        primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', 
'**/flake.lock') }}
-        # if there's no cache hit, restore a cache by this prefix
-        restore-prefixes-first-match: nix-${{ runner.os }}-
-        # collect garbage until the Nix store size (in bytes) is at most this 
number
-        # before trying to save a new cache
-        # 1G = 1073741824
-        gc-max-store-size-linux: 1G
-        # do purge caches
-        purge: true
-        # purge all versions of the cache
-        purge-prefixes: nix-${{ runner.os }}-
-        # created more than this number of seconds ago
-        purge-created: 0
-        # or, last accessed more than this number of seconds ago
-        # relative to the start of the `Post Restore and save Nix store` phase
-        purge-last-accessed: 0
-        # except any version with the key that is the same as the `primary-key`
-        purge-primary-key: never
-
-    # not needed (yet)
-    # - uses: cachix/cachix-action@v12
-    #   with:
-    #     name: hyprland
-    #     authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
-
-    - name: Build
-      run: nix build -L
-
+    if: (github.event_name != 'pull_request' || 
github.event.pull_request.head.repo.fork)
+    uses: hyprwm/actions/.github/workflows/nix.yml@main
+    secrets: inherit
+    with:
+      command: nix build --print-build-logs --keep-going
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprwayland-scanner-0.4.5/CMakeLists.txt 
new/hyprwayland-scanner-0.4.6/CMakeLists.txt
--- old/hyprwayland-scanner-0.4.5/CMakeLists.txt        2025-07-07 
16:18:29.000000000 +0200
+++ new/hyprwayland-scanner-0.4.6/CMakeLists.txt        2026-04-26 
01:28:03.000000000 +0200
@@ -41,7 +41,13 @@
 
 file(GLOB_RECURSE SRCFILES CONFIGURE_DEPENDS "src/*.cpp")
 add_executable(hyprwayland-scanner ${SRCFILES})
-target_link_libraries(hyprwayland-scanner PRIVATE rt Threads::Threads
+find_library(librt rt)
+if("${librt}" MATCHES "librt-NOTFOUND")
+  unset(LIBRT)
+else()
+  set(LIBRT rt)
+endif()
+target_link_libraries(hyprwayland-scanner PRIVATE ${LIBRT} Threads::Threads
                                                   PkgConfig::deps)
 
 configure_package_config_file(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprwayland-scanner-0.4.5/VERSION 
new/hyprwayland-scanner-0.4.6/VERSION
--- old/hyprwayland-scanner-0.4.5/VERSION       2025-07-07 16:18:29.000000000 
+0200
+++ new/hyprwayland-scanner-0.4.6/VERSION       2026-04-26 01:28:03.000000000 
+0200
@@ -1 +1 @@
-0.4.5
+0.4.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprwayland-scanner-0.4.5/flake.nix 
new/hyprwayland-scanner-0.4.6/flake.nix
--- old/hyprwayland-scanner-0.4.5/flake.nix     2025-07-07 16:18:29.000000000 
+0200
+++ new/hyprwayland-scanner-0.4.6/flake.nix     2026-04-26 01:28:03.000000000 
+0200
@@ -6,48 +6,40 @@
     systems.url = "github:nix-systems/default-linux";
   };
 
-  outputs = {
-    self,
-    nixpkgs,
-    systems,
-  }: let
-    inherit (nixpkgs) lib;
-    eachSystem = lib.genAttrs (import systems);
-    pkgsFor = eachSystem (system:
-      import nixpkgs {
-        localSystem.system = system;
-        overlays = with self.overlays; [hyprwayland-scanner];
-      });
-    pkgsCrossFor = eachSystem (system: crossSystem:
-      import nixpkgs {
-        localSystem = system;
-        crossSystem = crossSystem;
-        overlays = with self.overlays; [hyprwayland-scanner];
+  outputs =
+    {
+      self,
+      nixpkgs,
+      systems,
+    }:
+    let
+      inherit (nixpkgs) lib;
+      eachSystem = lib.genAttrs (import systems);
+      pkgsFor = eachSystem (
+        system:
+        import nixpkgs {
+          localSystem.system = system;
+          overlays = with self.overlays; [ hyprwayland-scanner ];
+        }
+      );
+      pkgsCrossFor = eachSystem (
+        system: crossSystem:
+        import nixpkgs {
+          localSystem = system;
+          crossSystem = crossSystem;
+          overlays = with self.overlays; [ hyprwayland-scanner ];
+        }
+      );
+    in
+    {
+      overlays = import ./nix/overlays.nix { inherit lib self; };
+
+      packages = eachSystem (system: {
+        default = self.packages.${system}.hyprwayland-scanner;
+        inherit (pkgsFor.${system}) hyprwayland-scanner;
+        hyprwayland-scanner-cross = (pkgsCrossFor.${system} 
"aarch64-linux").hyprwayland-scanner;
       });
-    mkDate = longDate: (lib.concatStringsSep "-" [
-      (builtins.substring 0 4 longDate)
-      (builtins.substring 4 2 longDate)
-      (builtins.substring 6 2 longDate)
-    ]);
 
-    version = lib.removeSuffix "\n" (builtins.readFile ./VERSION);
-  in {
-    overlays = {
-      default = self.overlays.hyprwayland-scanner;
-      hyprwayland-scanner = final: prev: {
-        hyprwayland-scanner = final.callPackage ./nix/default.nix {
-          stdenv = final.gcc15Stdenv;
-          version = version + "+date=" + (mkDate (self.lastModifiedDate or 
"19700101")) + "_" + (self.shortRev or "dirty");
-        };
-      };
+      formatter = eachSystem (system: pkgsFor.${system}.nixfmt-tree);
     };
-
-    packages = eachSystem (system: {
-      default = self.packages.${system}.hyprwayland-scanner;
-      inherit (pkgsFor.${system}) hyprwayland-scanner;
-      hyprwayland-scanner-cross = (pkgsCrossFor.${system} 
"aarch64-linux").hyprwayland-scanner;
-    });
-
-    formatter = eachSystem (system: pkgsFor.${system}.alejandra);
-  };
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprwayland-scanner-0.4.5/nix/overlays.nix 
new/hyprwayland-scanner-0.4.6/nix/overlays.nix
--- old/hyprwayland-scanner-0.4.5/nix/overlays.nix      1970-01-01 
01:00:00.000000000 +0100
+++ new/hyprwayland-scanner-0.4.6/nix/overlays.nix      2026-04-26 
01:28:03.000000000 +0200
@@ -0,0 +1,32 @@
+{
+  lib,
+  self,
+  ...
+}:
+let
+
+  mkDate =
+    longDate:
+    (lib.concatStringsSep "-" [
+      (builtins.substring 0 4 longDate)
+      (builtins.substring 4 2 longDate)
+      (builtins.substring 6 2 longDate)
+    ]);
+
+  version = lib.removeSuffix "\n" (builtins.readFile ../VERSION);
+in
+{
+  default = self.overlays.hyprwayland-scanner;
+
+  hyprwayland-scanner = final: prev: {
+    hyprwayland-scanner = final.callPackage ./default.nix {
+      stdenv = final.gcc15Stdenv;
+      version =
+        version
+        + "+date="
+        + (mkDate (self.lastModifiedDate or "19700101"))
+        + "_"
+        + (self.shortRev or "dirty");
+    };
+  };
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprwayland-scanner-0.4.5/src/main.cpp 
new/hyprwayland-scanner-0.4.6/src/main.cpp
--- old/hyprwayland-scanner-0.4.5/src/main.cpp  2025-07-07 16:18:29.000000000 
+0200
+++ new/hyprwayland-scanner-0.4.6/src/main.cpp  2026-04-26 01:28:03.000000000 
+0200
@@ -2,10 +2,8 @@
 #include <iostream>
 #include <string>
 #include <fstream>
-#include <format>
 #include <vector>
 #include <algorithm>
-#include <tuple>
 #include <filesystem>
 
 bool waylandEnums = false;
@@ -333,8 +331,8 @@
         if (!clientCode) {
             HEADER += std::format(R"#(
     // set a listener for when this resource is _being_ destroyed
-    void setOnDestroy(F<void({}*)> handler) {{
-        onDestroy = handler;
+    void setOnDestroy(F<void({}*)> &&handler) {{
+        onDestroy = std::move(handler);
     }}
 
     // set the data for this resource
@@ -417,7 +415,7 @@
             args.pop_back();
             args.pop_back();
 
-            HEADER += std::format("    void {}(F<void({}*{})> handler);\n", 
camelize("set_" + rq.name), IFACE_CLASS_NAME_CAMEL, args);
+            HEADER += std::format("    void {}(F<void({}*{})> &&handler);\n", 
camelize("set_" + rq.name), IFACE_CLASS_NAME_CAMEL, args);
         }
 
         // start events
@@ -516,6 +514,8 @@
 }
 
 void parseSource() {
+    std::string DUMMY_TYPE_TABLE_NAME = PROTO_DATA.name + "_dummyTypes";
+
     SOURCE += std::format(R"#(#define private public
 #define HYPRWAYLAND_SCANNER_NO_INTERFACES
 #include "{}.hpp"
@@ -527,9 +527,10 @@
     // reference interfaces
 
     // dummy
-    SOURCE += R"#(
-static const wl_interface* dummyTypes[] = { nullptr };
-)#";
+    SOURCE += std::format(R"#(
+static const wl_interface* {}[] = {{ nullptr }};
+)#",
+                          DUMMY_TYPE_TABLE_NAME);
 
     SOURCE += R"#(
 // Reference all other interfaces.
@@ -779,6 +780,12 @@
             SOURCE += std::format("static const wl_interface* {}[] = {{\n", 
TYPE_TABLE_NAME);
 
             for (auto& arg : rq.args) {
+                if (arg.wlType == "new_id" && arg.interface.empty()) {
+                    // untyped new_id expands to (string, uint, new_id)
+                    SOURCE += "    nullptr,\n    nullptr,\n    nullptr,\n";
+                    continue;
+                }
+
                 if (arg.interface.empty()) {
                     SOURCE += "    nullptr,\n";
                     continue;
@@ -797,6 +804,12 @@
             SOURCE += std::format("static const wl_interface* {}[] = {{\n", 
TYPE_TABLE_NAME);
 
             for (auto& arg : ev.args) {
+                if (arg.wlType == "new_id" && arg.interface.empty()) {
+                    // untyped new_id expands to (string, uint, new_id)
+                    SOURCE += "    nullptr,\n    nullptr,\n    nullptr,\n";
+                    continue;
+                }
+
                 if (arg.interface.empty()) {
                     SOURCE += "    nullptr,\n";
                     continue;
@@ -823,7 +836,7 @@
                     const auto TYPE_TABLE_NAME = camelize(std::string{"_"} + 
"C_" + IFACE_NAME + "_" + rq.name + "_types");
 
                     SOURCE += std::format("    {{ .name = \"{}\", .signature = 
\"{}\", .types = {}}},\n", rq.name, argsToShort(rq.args, rq.since),
-                                          rq.args.empty() ? "dummyTypes + 0" : 
TYPE_TABLE_NAME + " + 0");
+                                          rq.args.empty() ? std::format("{} + 
0", DUMMY_TYPE_TABLE_NAME) : TYPE_TABLE_NAME + " + 0");
                 }
 
                 SOURCE += "};\n";
@@ -839,7 +852,7 @@
                     const auto TYPE_TABLE_NAME = camelize(std::string{"_"} + 
"C_" + IFACE_NAME + "_" + ev.name + "_types");
 
                     SOURCE += std::format("    {{ .name = \"{}\", .signature = 
\"{}\", .types = {}}},\n", ev.name, argsToShort(ev.args, ev.since),
-                                          ev.args.empty() ? "dummyTypes + 0" : 
TYPE_TABLE_NAME + " + 0");
+                                          ev.args.empty() ? std::format("{} + 
0", DUMMY_TYPE_TABLE_NAME) : TYPE_TABLE_NAME + " + 0");
                 }
 
                 SOURCE += "};\n";
@@ -944,8 +957,8 @@
             args.pop_back();
 
             SOURCE += std::format(R"#(
-void {}::{}(F<void({}*{})> handler) {{
-    requests.{} = handler;
+void {}::{}(F<void({}*{})> &&handler) {{
+    requests.{} = std::move(handler);
 }}
 )#",
                                   IFACE_CLASS_NAME_CAMEL, camelize("set_" + 
rq.name), IFACE_CLASS_NAME_CAMEL, args, camelize(rq.name));

++++++ hyprwayland-scanner.obsinfo ++++++
--- /var/tmp/diff_new_pack.ENXqpH/_old  2026-07-17 18:50:13.410763056 +0200
+++ /var/tmp/diff_new_pack.ENXqpH/_new  2026-07-17 18:50:13.422763462 +0200
@@ -1,5 +1,5 @@
 name: hyprwayland-scanner
-version: 0.4.5
-mtime: 1751897909
-commit: fcca0c61f988a9d092cbb33e906775014c61579d
+version: 0.4.6
+mtime: 1777159683
+commit: b8632713a6beaf28b56f2a7b0ab2fb7088dbb404
 

Reply via email to