Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wl-clipboard for openSUSE:Factory 
checked in at 2026-03-28 20:13:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wl-clipboard (Old)
 and      /work/SRC/openSUSE:Factory/.wl-clipboard.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wl-clipboard"

Sat Mar 28 20:13:59 2026 rev:6 rq:1343210 version:2.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/wl-clipboard/wl-clipboard.changes        
2025-10-27 14:43:06.659178334 +0100
+++ /work/SRC/openSUSE:Factory/.wl-clipboard.new.8177/wl-clipboard.changes      
2026-03-28 20:15:41.587222531 +0100
@@ -1,0 +2,9 @@
+Fri Mar 27 13:45:46 UTC 2026 - llyyr <[email protected]>
+
+- Update to version 2.3.0:
+  * fix: correct spelling issues across docs and helpers
+  * files: read shared-mime-info globs2 file for mime extensions
+  * Fix buffer overflow in infer_mime_type_from_contents
+  * Set app id/class for the popup surface
+
+-------------------------------------------------------------------

Old:
----
  wl-clipboard-2.2.1+git.20250424T164907.aaa927e.tar.gz

New:
----
  wl-clipboard-2.3.0.tar.gz

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

Other differences:
------------------
++++++ wl-clipboard.spec ++++++
--- /var/tmp/diff_new_pack.a3k4D9/_old  2026-03-28 20:15:42.047241516 +0100
+++ /var/tmp/diff_new_pack.a3k4D9/_new  2026-03-28 20:15:42.051241681 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package wl-clipboard
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           wl-clipboard
-Version:        2.2.1+git.20250424T164907.aaa927e
+Version:        2.3.0
 Release:        0
 License:        GPL-3.0-only
 Summary:        Wayland Clipboard Utilities
@@ -31,6 +31,7 @@
 BuildRequires:  pkgconfig(wayland-protocols) >= 1.24
 BuildRequires:  pkgconfig(wayland-server) >= 1.22
 Recommends:     mailcap
+Recommends:     shared-mime-info
 Recommends:     xdg-utils
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ _service ++++++
--- /var/tmp/diff_new_pack.a3k4D9/_old  2026-03-28 20:15:42.083243002 +0100
+++ /var/tmp/diff_new_pack.a3k4D9/_new  2026-03-28 20:15:42.083243002 +0100
@@ -4,12 +4,15 @@
     <param name="url">https://github.com/bugaevc/wl-clipboard.git</param>
     <param name="scm">git</param>
     <param name="filename">wl-clipboard</param>
-  <!-- SET REVISION TO TAG, REMOVE THIS LINE TO UPDATE TO THE LAST COMMIT -->
-    <param name="revision">master</param>
-    <param name="versionprefix">2.2.1+git</param>
-    <param name="versionformat">%ci.%h</param>
+    <!-- SET REVISION TO TAG, REMOVE THIS LINE TO UPDATE TO THE LAST COMMIT -->
+    <!-- <param name="revision">master</param> -->
+
+    <!-- <param name="versionprefix">2.2.1+git</param> -->
+    <!-- <param name="versionformat">%ci.%h</param> -->
+
+    <param name="versionformat">@PARENT_TAG@</param>
+    <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>
-    <param name="changesauthor">[email protected]</param>
   </service>
   <service name="recompress" mode="disabled">
     <param name="compression">gz</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.a3k4D9/_old  2026-03-28 20:15:42.107243993 +0100
+++ /var/tmp/diff_new_pack.a3k4D9/_new  2026-03-28 20:15:42.111244158 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/bugaevc/wl-clipboard.git</param>
-              <param 
name="changesrevision">aaa927ee7f7d91bcc25a3b68f60d01005d3b0f7f</param></service></servicedata>
+              <param 
name="changesrevision">67a7b937895bceec1ae5ccebb10216f63f70ca1b</param></service></servicedata>
 (No newline at EOF)
 

++++++ wl-clipboard-2.2.1+git.20250424T164907.aaa927e.tar.gz -> 
wl-clipboard-2.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/BUILDING.md 
new/wl-clipboard-2.3.0/BUILDING.md
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/BUILDING.md      
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/BUILDING.md  2026-03-22 19:46:43.000000000 +0100
@@ -40,8 +40,24 @@
   `xdg-utils`)
 * `/etc/mime.types` file for type inference in `wl-paste` (try package named
   `mime-support` or `mailcap`)
+* `/usr/share/mime/globs2` file for for type inference in `wl-paste` (try
+  packaged named `shared-mime-info`)
 
 If you're packaging wl-clipboard for a distribution, please consider making
-packages providing `xdg-mime` and `/etc/mime.types` *weak* dependencies of the
-package providing wl-clipboard, meaning ones that get installed along with
-wl-clipboard by default, but are not strictly required by it.
+packages providing `xdg-mime`, `/etc/mime.types`, and `/usr/share/mime/globs2`
+*weak* dependencies of the package providing wl-clipboard, meaning ones that
+get installed along with wl-clipboard by default, but are not strictly required
+by it.
+
+A package definition for wl-clipboard might therefore contain something along
+the following lines:
+
+```
+Package: wl-clipboard
+Build-Depends:
+    gcc, meson, ninja,
+    wayland-devel, wayland-scanner,
+    wayland-protocols >= 1.12
+Recommends:
+    xdg-utils, mime-support, shared-mime-info
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/completions/fish/wl-paste.fish
 new/wl-clipboard-2.3.0/completions/fish/wl-paste.fish
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/completions/fish/wl-paste.fish
   2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/completions/fish/wl-paste.fish       2026-03-22 
19:46:43.000000000 +0100
@@ -22,7 +22,7 @@
 
     # Note fish does not handle passing unset variables
     # to commands well, thus setting clip to "--primary" and passing
-    # that to wl-paste wont work, so if statements are used instead
+    # that to wl-paste won't work, so if statements are used instead
     if test -n "$seat"; and test -n "$clip"
         wl-paste 2>/dev/null --seat "$seat" -p -l
     else if test -n "$seat"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/completions/zsh/_wl-copy 
new/wl-clipboard-2.3.0/completions/zsh/_wl-copy
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/completions/zsh/_wl-copy 
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/completions/zsh/_wl-copy     2026-03-22 
19:46:43.000000000 +0100
@@ -22,7 +22,7 @@
        fi
 
        if [[ -z $seats ]]; then
-               # seat0 is always a vaild seat and covers most cases, so its a 
good fallback.
+               # seat0 is always a valid seat and covers most cases, so it's a 
good fallback.
                compadd "$@" - seat0
        else
                compadd "$@" -a seats
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/data/wl-clipboard.1 
new/wl-clipboard-2.3.0/data/wl-clipboard.1
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/data/wl-clipboard.1      
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/data/wl-clipboard.1  2026-03-22 19:46:43.000000000 
+0100
@@ -1,4 +1,4 @@
-.TH WL-CLIPBOARD 1 2025-03-24 wl-clipboard
+.TH WL-CLIPBOARD 1 2026-03-22 wl-clipboard
 .SH NAME
 wl-clipboard \- Wayland copy and paste command line utilities
 .SH SYNOPSIS
@@ -157,7 +157,7 @@
 don't let wl-clipboard identify the cases where \fBclear\fR and \fBsensitive\fR
 values should be set. For this reason, currently, wl-clipboard never actually
 sets \fBCLIPBOARD_STATE\fR to \fBclear\fR, and only sets it to \fBsensitive\fR
-when it enounters \fBx-kde-passwordManagerHint\fR among the MIME types.
+when it encounters \fBx-kde-passwordManagerHint\fR among the MIME types.
 .IP
 The \fBCLIPBOARD_STATE\fR protocol was intentionally designed to not be 
specific
 to either wl-clipboard or Wayland; in fact, other clipboard tools are 
encouraged
@@ -250,7 +250,7 @@
 Please make sure to mention which Wayland compositor you are using, and attach
 \fBWAYLAND_DEBUG=1\fR debugging logs of wl-clipboard.
 .SH COPYRIGHT
-Copyright \(co 2018-2025 Sergey Bugaev.
+Copyright \(co 2018-2026 Sergey Bugaev.
 License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
 .br
 This is free software: you are free to change and redistribute it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/meson.build 
new/wl-clipboard-2.3.0/meson.build
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/meson.build      
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/meson.build  2026-03-22 19:46:43.000000000 +0100
@@ -1,5 +1,5 @@
 project('wl-clipboard', 'c',
-    version: '2.2.1',
+    version: '2.3.0',
     license: 'GPL-3.0-or-later',
     meson_version: '>= 0.47.0',
     default_options: 'c_std=gnu99'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/includes/selection-protocols.h
 new/wl-clipboard-2.3.0/src/includes/selection-protocols.h
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/includes/selection-protocols.h
       2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/includes/selection-protocols.h   2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/includes/shell-protocols.h
 new/wl-clipboard-2.3.0/src/includes/shell-protocols.h
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/includes/shell-protocols.h
   2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/includes/shell-protocols.h       2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/copy-action.c 
new/wl-clipboard-2.3.0/src/types/copy-action.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/copy-action.c  
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/copy-action.c      2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/copy-action.h 
new/wl-clipboard-2.3.0/src/types/copy-action.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/copy-action.h  
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/copy-action.h      2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/device-manager.c 
new/wl-clipboard-2.3.0/src/types/device-manager.c
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/device-manager.c   
    2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/device-manager.c   2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/device-manager.h 
new/wl-clipboard-2.3.0/src/types/device-manager.h
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/device-manager.h   
    2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/device-manager.h   2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/device.c 
new/wl-clipboard-2.3.0/src/types/device.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/device.c       
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/device.c   2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/device.h 
new/wl-clipboard-2.3.0/src/types/device.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/device.h       
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/device.h   2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/keyboard.c 
new/wl-clipboard-2.3.0/src/types/keyboard.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/keyboard.c     
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/keyboard.c 2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/keyboard.h 
new/wl-clipboard-2.3.0/src/types/keyboard.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/keyboard.h     
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/keyboard.h 2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/offer.c 
new/wl-clipboard-2.3.0/src/types/offer.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/offer.c        
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/offer.c    2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/offer.h 
new/wl-clipboard-2.3.0/src/types/offer.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/offer.h        
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/offer.h    2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/popup-surface.c 
new/wl-clipboard-2.3.0/src/types/popup-surface.c
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/popup-surface.c    
    2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/popup-surface.c    2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -84,7 +84,7 @@
 
     if (self->wl_surface == NULL) {
         /* It's possible that we were given focus
-         * (without ever commiting a buffer) during
+         * (without ever committing a buffer) during
          * the above roundtrip, in which case we have
          * already fired the callback and have likely
          * already destroyed the surface. No need to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/popup-surface.h 
new/wl-clipboard-2.3.0/src/types/popup-surface.h
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/popup-surface.h    
    2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/popup-surface.h    2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/registry.c 
new/wl-clipboard-2.3.0/src/types/registry.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/registry.c     
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/registry.c 2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/registry.h 
new/wl-clipboard-2.3.0/src/types/registry.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/registry.h     
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/registry.h 2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/seat.c 
new/wl-clipboard-2.3.0/src/types/seat.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/seat.c 
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/seat.c     2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/seat.h 
new/wl-clipboard-2.3.0/src/types/seat.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/seat.h 
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/seat.h     2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/shell-surface.c 
new/wl-clipboard-2.3.0/src/types/shell-surface.c
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/shell-surface.c    
    2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/shell-surface.c    2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -67,6 +67,7 @@
     wl_shell_surface_add_listener(proxy, &wl_shell_surface_listener, self);
     wl_shell_surface_set_toplevel(proxy);
     wl_shell_surface_set_title(proxy, "wl-clipboard");
+    wl_shell_surface_set_class(proxy, "io.github.bugaevc.wl-clipboard");
     self->do_destroy = destroy_wl_shell_surface;
 }
 
@@ -119,6 +120,7 @@
     self->proxy2 = (struct wl_proxy *) toplevel;
     xdg_toplevel_add_listener(toplevel, &xdg_toplevel_listener, self);
     xdg_toplevel_set_title(toplevel, "wl-clipboard");
+    xdg_toplevel_set_app_id(toplevel, "io.github.bugaevc.wl-clipboard");
     self->do_destroy = destroy_xdg_surface;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/shell-surface.h 
new/wl-clipboard-2.3.0/src/types/shell-surface.h
--- 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/shell-surface.h    
    2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/shell-surface.h    2026-03-22 
19:46:43.000000000 +0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/shell.c 
new/wl-clipboard-2.3.0/src/types/shell.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/shell.c        
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/shell.c    2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/shell.h 
new/wl-clipboard-2.3.0/src/types/shell.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/shell.h        
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/shell.h    2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/source.c 
new/wl-clipboard-2.3.0/src/types/source.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/source.c       
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/source.c   2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/source.h 
new/wl-clipboard-2.3.0/src/types/source.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/types/source.h       
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/types/source.h   2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/files.c 
new/wl-clipboard-2.3.0/src/util/files.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/files.c 
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/util/files.c     2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -28,6 +28,7 @@
 #include <getopt.h>
 #include <string.h>
 #include <fcntl.h>
+#include <fnmatch.h>
 #include <sys/stat.h> // open
 #include <sys/types.h> // open
 #include <stdlib.h> // exit
@@ -186,11 +187,15 @@
 
     /* Read the result */
     char *res = malloc(256);
-    size_t len = read(pipefd[0], res, 256);
+    ssize_t len = read(pipefd[0], res, 256);
+    close(pipefd[0]);
+    if (len <= 0) {
+        free(res);
+        return NULL;
+    }
     /* Trim the newline */
     len--;
     res[len] = 0;
-    close(pipefd[0]);
 
     if (str_has_prefix(res, "inode/")) {
         free(res);
@@ -200,9 +205,8 @@
     return res;
 }
 
-char *infer_mime_type_from_name(const char *file_path) {
-    const char *actual_ext = get_file_extension(file_path);
-    if (actual_ext == NULL) {
+static char *search_mime_dot_types_for_ext(const char *ext) {
+    if (ext == NULL) {
         return NULL;
     }
 
@@ -215,7 +219,7 @@
     }
 
     for (char line[200]; fgets(line, sizeof(line), f) != NULL;) {
-        /* Skip comments and black lines */
+        /* Skip comments and blank lines */
         if (line[0] == '#' || line[0] == '\n') {
             continue;
         }
@@ -225,11 +229,12 @@
         int consumed;
         if (sscanf(line, "%199s%n", mime_type, &consumed) != 1) {
             /* A malformed line, perhaps? */
+            fprintf(stderr, "malformed mime.types line: %s\n", line);
             continue;
         }
         char *lineptr = line + consumed;
-        for (char ext[200]; sscanf(lineptr, "%199s%n", ext, &consumed) == 1;) {
-            if (strcmp(ext, actual_ext) == 0) {
+        for (char ext_pattern[200]; sscanf(lineptr, "%199s%n", ext_pattern, 
&consumed) == 1;) {
+            if (strcmp(ext_pattern, ext) == 0) {
                 fclose(f);
                 return strdup(mime_type);
             }
@@ -240,11 +245,58 @@
     return NULL;
 }
 
+static char *search_shared_mime_info_globs_for_filename(const char *filename) {
+    FILE *f = fopen("/usr/share/mime/globs2", "r");
+    if (f == NULL) {
+        f = fopen("/usr/local/share/mime/globs2", "r");
+    }
+    if (f == NULL) {
+        return NULL;
+    }
+
+    for (char line[200]; fgets(line, sizeof(line), f) != NULL;) {
+        /* Skip comments and blank lines */
+        if (line[0] == '#' || line[0] == '\n') {
+            continue;
+        }
+
+        /* Each line consists of colon-separated
+         * weight, mime type, and glob pattern.
+         * We ignore the weight.
+         */
+        char mime_type[200];
+        char filename_glob[200];
+        if (sscanf(line, "%*d:%199[^:]:%199s\n", mime_type, filename_glob) != 
2) {
+            /* A malformed line, perhaps? */
+            fprintf(stderr, "malformed globs2 line: %s\n", line);
+            continue;
+        }
+        if (fnmatch(filename_glob, filename, 0) == 0) {
+            fclose(f);
+            return strdup(mime_type);
+        }
+    }
+    fclose(f);
+    return NULL;
+}
+
+char *infer_mime_type_from_name(const char *file_path) {
+    const char *ext = get_file_extension(file_path);
+    char *file_path_dup = strdup(file_path);
+    const char *filename = basename(file_path_dup);
+    char *mime_type = search_shared_mime_info_globs_for_filename(filename);
+    if (!mime_type) {
+        mime_type = search_mime_dot_types_for_ext(ext);
+    }
+    free(file_path_dup);
+    return mime_type;
+}
+
 /* Returns the name of a new file */
 char *dump_stdin_into_a_temp_file() {
     /* Pick a name for the file we'll be
      * creating inside that directory. We
-     * try to preserve the origial name for
+     * try to preserve the original name for
      * the mime type inference to work.
      */
     char *original_path = path_for_fd(STDIN_FILENO);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/files.h 
new/wl-clipboard-2.3.0/src/util/files.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/files.h 
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/util/files.h     2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/misc.c 
new/wl-clipboard-2.3.0/src/util/misc.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/misc.c  
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/util/misc.c      2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
 void print_version_info() {
     printf(
         "wl-clipboard " PROJECT_VERSION "\n"
-        "Copyright (C) 2018-2025 Sergey Bugaev\n"
+        "Copyright (C) 2018-2026 Sergey Bugaev\n"
         "License GPLv3+: GNU GPL version 3 or later"
         " <https://gnu.org/licenses/gpl.html>.\n"
         "This is free software: you are free to change and redistribute it.\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/misc.h 
new/wl-clipboard-2.3.0/src/util/misc.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/misc.h  
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/util/misc.h      2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/string.c 
new/wl-clipboard-2.3.0/src/util/string.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/string.c        
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/util/string.c    2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/string.h 
new/wl-clipboard-2.3.0/src/util/string.h
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/util/string.h        
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/util/string.h    2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/wl-copy.c 
new/wl-clipboard-2.3.0/src/wl-copy.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/wl-copy.c    
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/wl-copy.c        2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/wl-paste.c 
new/wl-clipboard-2.3.0/src/wl-paste.c
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/src/wl-paste.c   
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/src/wl-paste.c       2026-03-22 19:46:43.000000000 
+0100
@@ -1,6 +1,6 @@
 /* wl-clipboard
  *
- * Copyright © 2018-2025 Sergey Bugaev <[email protected]>
+ * Copyright © 2018-2026 Sergey Bugaev <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/subprojects/libffi.wrap 
new/wl-clipboard-2.3.0/subprojects/libffi.wrap
--- old/wl-clipboard-2.2.1+git.20250424T164907.aaa927e/subprojects/libffi.wrap  
2025-04-24 15:49:07.000000000 +0200
+++ new/wl-clipboard-2.3.0/subprojects/libffi.wrap      2026-03-22 
19:46:43.000000000 +0100
@@ -1,12 +1,13 @@
 [wrap-file]
-directory = libffi-3.4.4
-source_url = 
https://github.com/libffi/libffi/releases/download/v3.4.4/libffi-3.4.4.tar.gz
-source_filename = libffi-3.4.4.tar.gz
-source_hash = d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676
-patch_filename = libffi_3.4.4-2_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/libffi_3.4.4-2/get_patch
-patch_hash = 77da71839584dfc33d998b6461fff1ebc90a6f9c0a8c2f490335aafe370a115b
-wrapdb_version = 3.4.4-2
+directory = libffi-3.5.2
+source_url = 
https://github.com/libffi/libffi/releases/download/v3.5.2/libffi-3.5.2.tar.gz
+source_filename = libffi-3.5.2.tar.gz
+source_hash = f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc
+source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/libffi_3.5.2-2/libffi-3.5.2.tar.gz
+patch_filename = libffi_3.5.2-2_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/libffi_3.5.2-2/get_patch
+patch_hash = 74ed624f74cd860be3bdf6d473b70ab88707bdf2f940191fbcb577e2a49a9710
+wrapdb_version = 3.5.2-2
 
 [provide]
 dependency_names = libffi

Reply via email to