Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package hexchat for openSUSE:Factory checked 
in at 2022-02-13 19:51:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hexchat (Old)
 and      /work/SRC/openSUSE:Factory/.hexchat.new.1956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hexchat"

Sun Feb 13 19:51:06 2022 rev:32 rq:954079 version:2.16.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/hexchat/hexchat.changes  2022-01-31 
22:57:41.277433697 +0100
+++ /work/SRC/openSUSE:Factory/.hexchat.new.1956/hexchat.changes        
2022-02-13 19:51:50.986341689 +0100
@@ -1,0 +2,12 @@
+Sun Feb 13 12:46:40 UTC 2022 - Andrey Karepin <egdf...@opensuse.org>
+
+- update to 2.16.1
+  * add -NOOVERRIDE flag to the GUI COLOR command
+  * add -q (quiet) flag to EXECWRITE command
+  * rename installed icon on Linux to match app-id (Fixes notification icon)
+  * fix escaping already escaped URLs when opening them
+  * fix Python scripts not being opened as UTF-8
+  * fix TIMER command supporting decimals regardless of locale
+  * fishlim: fix building with OpenSSL 3
+
+-------------------------------------------------------------------

Old:
----
  hexchat-2.16.0.tar.xz

New:
----
  hexchat-2.16.1.tar.xz

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

Other differences:
------------------
++++++ hexchat.spec ++++++
--- /var/tmp/diff_new_pack.Vk7Xo5/_old  2022-02-13 19:51:51.446342915 +0100
+++ /var/tmp/diff_new_pack.Vk7Xo5/_new  2022-02-13 19:51:51.462342957 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           hexchat
-Version:        2.16.0
+Version:        2.16.1
 Release:        0
 Summary:        A graphical IRC (chat) client
 License:        GPL-2.0-or-later
@@ -134,8 +134,8 @@
 %{_libdir}/%{name}/plugins/fishlim.so
 %{_libdir}/%{name}/plugins/sysinfo.so
 %{_datadir}/applications/io.github.Hexchat.desktop
-%{_datadir}/icons/hicolor/*/apps/%{name}.png
-%{_datadir}/icons/hicolor/*/apps/%{name}.svg
+%{_datadir}/icons/hicolor/*/apps/io.github.Hexchat.png
+%{_datadir}/icons/hicolor/*/apps/io.github.Hexchat.svg
 %dir %{_datadir}/metainfo/
 %{_datadir}/metainfo/io.github.Hexchat.appdata.xml
 %{_datadir}/dbus-1/services/org.%{name}.service.service

++++++ hexchat-2.16.0.tar.xz -> hexchat-2.16.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/.github/workflows/flatpak-build.yml 
new/hexchat-2.16.1/.github/workflows/flatpak-build.yml
--- old/hexchat-2.16.0/.github/workflows/flatpak-build.yml      2021-10-01 
22:09:11.462550200 +0200
+++ new/hexchat-2.16.1/.github/workflows/flatpak-build.yml      2022-02-12 
19:30:55.875055000 +0100
@@ -1,7 +1,7 @@
 name: Flatpak Build
 on: [push, pull_request]
 jobs:
-  build:
+  flatpak_build:
     runs-on: ubuntu-latest
     container:
       image: bilelmoussaoui/flatpak-github-actions:gnome-40
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/.github/workflows/msys-build.yml 
new/hexchat-2.16.1/.github/workflows/msys-build.yml
--- old/hexchat-2.16.0/.github/workflows/msys-build.yml 2021-10-01 
22:09:11.462550200 +0200
+++ new/hexchat-2.16.1/.github/workflows/msys-build.yml 2022-02-12 
19:30:55.875055000 +0100
@@ -2,7 +2,7 @@
 on: [push, pull_request]
 
 jobs:
-  build:
+  msys2_build:
     runs-on: windows-latest
     defaults:
       run:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/.github/workflows/ubuntu-build.yml 
new/hexchat-2.16.1/.github/workflows/ubuntu-build.yml
--- old/hexchat-2.16.0/.github/workflows/ubuntu-build.yml       2021-10-01 
22:09:11.462550200 +0200
+++ new/hexchat-2.16.1/.github/workflows/ubuntu-build.yml       2022-02-12 
19:30:55.875055000 +0100
@@ -1,7 +1,7 @@
 name: Ubuntu Build
 on: [push, pull_request]
 jobs:
-  build:
+  ubuntu_build:
     runs-on: ubuntu-20.04
 
     steps:
@@ -10,7 +10,7 @@
       - name: Install Dependencies
         run: |
           sudo apt-get update
-          sudo apt-get install -y meson libcanberra-dev libdbus-glib-1-dev 
libglib2.0-dev libgtk2.0-dev libluajit-5.1-dev libpci-dev libperl-dev 
libproxy-dev libssl-dev python3-dev python3-cffi mono-devel desktop-file-utils
+          sudo apt-get install -y meson libcanberra-dev libdbus-glib-1-dev 
libglib2.0-dev libgtk2.0-dev libluajit-5.1-dev libpci-dev libperl-dev 
libssl-dev python3-dev python3-cffi mono-devel desktop-file-utils
 
       - name: Configure
         run: meson build -Dtext=true -Dtheme-manager=true 
-Dauto_features=enabled
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/.github/workflows/windows-build.yml 
new/hexchat-2.16.1/.github/workflows/windows-build.yml
--- old/hexchat-2.16.0/.github/workflows/windows-build.yml      2021-10-01 
22:09:11.462550200 +0200
+++ new/hexchat-2.16.1/.github/workflows/windows-build.yml      2022-02-12 
19:30:55.875055000 +0100
@@ -2,7 +2,7 @@
 on: [push, pull_request]
 
 jobs:
-  build:
+  windows_build:
     runs-on: windows-2019
     strategy:
       matrix:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/data/icons/meson.build 
new/hexchat-2.16.1/data/icons/meson.build
--- old/hexchat-2.16.0/data/icons/meson.build   2021-10-01 22:09:11.463550000 
+0200
+++ new/hexchat-2.16.1/data/icons/meson.build   2022-02-12 19:30:55.877055200 
+0100
@@ -1,9 +1,11 @@
 icondir = join_paths(get_option('datadir'), 'icons/hicolor')
 install_data(
   'hexchat.png',
+  rename: 'io.github.Hexchat.png',
   install_dir: join_paths(icondir, '48x48/apps')
 )
 install_data(
   'hexchat.svg',
+  rename: 'io.github.Hexchat.svg',
   install_dir: join_paths(icondir, 'scalable/apps')
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/data/misc/io.github.Hexchat.appdata.xml.in 
new/hexchat-2.16.1/data/misc/io.github.Hexchat.appdata.xml.in
--- old/hexchat-2.16.0/data/misc/io.github.Hexchat.appdata.xml.in       
2021-10-01 22:09:11.464550000 +0200
+++ new/hexchat-2.16.1/data/misc/io.github.Hexchat.appdata.xml.in       
2022-02-12 19:30:55.877055200 +0100
@@ -26,6 +26,19 @@
     <id>hexchat.desktop</id>
   </provides>
   <releases>
+    <release date="2022-02-12" version="2.16.1">
+      <description>
+        <p>This is a minor release with mostly bug-fixes:</p>
+        <ul>
+          <li>Add `-NOOVERRIDE` flag to the `GUI COLOR` command</li>
+          <li>Add `-q` (quiet) flag to the `EXECWRITE` command</li>
+          <li>Rename installed icon to match app-id (Fixes notification 
icon)</li>
+          <li>Fix escaping already escaped URLs when opening them</li>
+          <li>Fix Python scripts not being opened as UTF-8</li>
+          <li>Fix `TIMER` command supporting decimals regardless of locale</li>
+        </ul>
+      </description>
+    </release>
     <release date="2021-10-01" version="2.16.0">
       <description>
         <p>This is a feature release:</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/data/misc/io.github.Hexchat.desktop.in.in 
new/hexchat-2.16.1/data/misc/io.github.Hexchat.desktop.in.in
--- old/hexchat-2.16.0/data/misc/io.github.Hexchat.desktop.in.in        
2021-10-01 22:09:11.464550000 +0200
+++ new/hexchat-2.16.1/data/misc/io.github.Hexchat.desktop.in.in        
2022-02-12 19:30:55.877055200 +0100
@@ -4,7 +4,7 @@
 Comment=Chat with other people online
 Keywords=IM;Chat;
 Exec=@exec_command@
-Icon=hexchat
+Icon=io.github.Hexchat
 Terminal=false
 Type=Application
 Categories=GTK;Network;IRCClient;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/flatpak/io.github.Hexchat.json 
new/hexchat-2.16.1/flatpak/io.github.Hexchat.json
--- old/hexchat-2.16.0/flatpak/io.github.Hexchat.json   2021-10-01 
22:09:11.464550000 +0200
+++ new/hexchat-2.16.1/flatpak/io.github.Hexchat.json   2022-02-12 
19:30:55.877055200 +0100
@@ -5,7 +5,6 @@
   "runtime-version": "40",
   "sdk": "org.gnome.Sdk",
   "command": "hexchat",
-  "rename-icon": "hexchat",
   "finish-args": [
     "--share=ipc",
     "--socket=x11",
@@ -31,7 +30,7 @@
   "modules": [
     "shared-modules/gtk2/gtk2.json",
     "shared-modules/gtk2/gtk2-common-themes.json",
-    "shared-modules/dbus-glib/dbus-glib-0.110.json",
+    "shared-modules/dbus-glib/dbus-glib.json",
     "shared-modules/lua5.3/lua-5.3.5.json",
     "shared-modules/libcanberra/libcanberra.json",
     "python3-cffi.json",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/flatpak/shared-modules/CODEOWNERS 
new/hexchat-2.16.1/flatpak/shared-modules/CODEOWNERS
--- old/hexchat-2.16.0/flatpak/shared-modules/CODEOWNERS        2021-10-01 
22:09:12.065550600 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/CODEOWNERS        2022-02-12 
19:30:56.917057500 +0100
@@ -15,3 +15,4 @@
 /lua5.1/           @Unrud
 /mac/              @enzo1982 @Eonfge
 /pygtk/            @Eonfge
+/gzdoom/           @Eonfge
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/SDL/SDL_ttf-2.0.11.json 
new/hexchat-2.16.1/flatpak/shared-modules/SDL/SDL_ttf-2.0.11.json
--- old/hexchat-2.16.0/flatpak/shared-modules/SDL/SDL_ttf-2.0.11.json   
2021-10-01 22:09:12.066550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/SDL/SDL_ttf-2.0.11.json   
2022-02-12 19:30:56.918057700 +0100
@@ -2,6 +2,9 @@
     "name": "SDL_ttf",
     "config-opts": ["--disable-static"],
     "rm-configure": true,
+    "config-opts": [
+        "ac_cv_path_FREETYPE_CONFIG=pkg-config freetype2"
+    ],
     "sources": [
         {
             "type": "archive",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/dbus-glib/dbus-glib-0.110.json 
new/hexchat-2.16.1/flatpak/shared-modules/dbus-glib/dbus-glib-0.110.json
--- old/hexchat-2.16.0/flatpak/shared-modules/dbus-glib/dbus-glib-0.110.json    
2021-10-01 22:09:12.066550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/dbus-glib/dbus-glib-0.110.json    
1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-{
-    "name": "dbus-glib",
-    "cleanup": [
-        "*.la",
-        "/bin",
-        "/etc",
-        "/include",
-        "/libexec",
-        "/share/gtk-doc",
-        "/share/man"
-    ],
-    "config-opts": [
-        "--disable-static",
-        "--disable-gtk-doc"
-    ],
-    "sources": [
-        {
-            "type": "archive",
-            "url": 
"https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.110.tar.gz";,
-            "sha256": 
"7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825"
-        }
-    ]
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/dbus-glib/dbus-glib.json 
new/hexchat-2.16.1/flatpak/shared-modules/dbus-glib/dbus-glib.json
--- old/hexchat-2.16.0/flatpak/shared-modules/dbus-glib/dbus-glib.json  
1970-01-01 01:00:00.000000000 +0100
+++ new/hexchat-2.16.1/flatpak/shared-modules/dbus-glib/dbus-glib.json  
2022-02-12 19:30:56.918057700 +0100
@@ -0,0 +1,23 @@
+{
+    "name": "dbus-glib",
+    "cleanup": [
+        "*.la",
+        "/bin",
+        "/etc",
+        "/include",
+        "/libexec",
+        "/share/gtk-doc",
+        "/share/man"
+    ],
+    "config-opts": [
+        "--disable-static",
+        "--disable-gtk-doc"
+    ],
+    "sources": [
+        {
+            "type": "archive",
+            "url": 
"https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.112.tar.gz";,
+            "sha256": 
"7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a"
+        }
+    ]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/flatpak/shared-modules/glu/glu-9.json 
new/hexchat-2.16.1/flatpak/shared-modules/glu/glu-9.json
--- old/hexchat-2.16.0/flatpak/shared-modules/glu/glu-9.json    2021-10-01 
22:09:12.066550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/glu/glu-9.json    2022-02-12 
19:30:56.918057700 +0100
@@ -4,8 +4,8 @@
   "sources": [
     {
       "type": "archive",
-      "url": "https://mesa.freedesktop.org/archive/glu/glu-9.0.1.tar.xz";,
-      "sha256": 
"fb5a4c2dd6ba6d1c21ab7c05129b0769544e1d68e1e3b0ffecb18e73c93055bc"
+      "url": "https://mesa.freedesktop.org/archive/glu/glu-9.0.2.tar.xz";,
+      "sha256": 
"6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4"
     }
   ],
   "cleanup": [ "/include", "/lib/*.a", "/lib/*.la", "/lib/pkgconfig" ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/gudev/gudev.json 
new/hexchat-2.16.1/flatpak/shared-modules/gudev/gudev.json
--- old/hexchat-2.16.0/flatpak/shared-modules/gudev/gudev.json  2021-10-01 
22:09:12.066550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/gudev/gudev.json  2022-02-12 
19:30:56.918057700 +0100
@@ -1,6 +1,12 @@
 {
   "name": "gudev",
-  "config-opts": [ "--disable-umockdev"],
+  "buildsystem": "meson",
+  "config-opts": [
+    "-Dtests=disabled",
+    "-Dvapi=disabled",
+    "-Dintrospection=disabled",
+    "-Dgtk_doc=false"
+  ],
   "cleanup": [
     "/include",
     "/etc",
@@ -20,8 +26,8 @@
   "sources": [
     {
       "type": "archive",
-      "url": 
"https://download.gnome.org/sources/libgudev/233/libgudev-233.tar.xz";,
-      "sha256": 
"587c4970eb23f4e2deee2cb1fb7838c94a78c578f41ce12cac0a3f4a80dabb03"
+      "url": 
"https://download.gnome.org/sources/libgudev/237/libgudev-237.tar.xz";,
+      "sha256": 
"0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa"
     }
   ]
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/gzdoom/description.patch 
new/hexchat-2.16.1/flatpak/shared-modules/gzdoom/description.patch
--- old/hexchat-2.16.0/flatpak/shared-modules/gzdoom/description.patch  
1970-01-01 01:00:00.000000000 +0100
+++ new/hexchat-2.16.1/flatpak/shared-modules/gzdoom/description.patch  
2022-02-12 19:30:56.918057700 +0100
@@ -0,0 +1,18 @@
+diff --git a/src/d_iwad.cpp b/src/d_iwad.cpp
+index b421b1b35..9f0b16948 100644
+--- a/src/d_iwad.cpp
++++ b/src/d_iwad.cpp
+@@ -683,9 +683,10 @@ int FIWadManager::IdentifyVersion (TArray<FString> 
&wadfiles, const char *iwad,
+                                         "2. Edit your ~/Library/Preferences/" 
GAMENAMELOWERCASE ".ini and add the directories\n"
+                                         "of your iwads to the list beneath 
[IWADSearch.Directories]");
+ #else
+-                                        "1. Place one or more of these wads 
in ~/.config/" GAMENAMELOWERCASE "/.\n"
+-                                        "2. Edit your ~/.config/" 
GAMENAMELOWERCASE "/" GAMENAMELOWERCASE ".ini and add the directories of your\n"
+-                                        "iwads to the list beneath 
[IWADSearch.Directories]");
++                                        "1. Place one or more of these wads 
in ~/.var/app/org.zdoom.GZDoom/.config/" GAMENAMELOWERCASE "/\n"
++                                        "2. Edit your 
~/.var/app/org.zdoom.GZDoom/.config/" GAMENAMELOWERCASE "/" GAMENAMELOWERCASE 
".ini and\n"
++                                        "     add the directories of your 
iwads to the list beneath [IWADSearch.Directories]\n"
++                                        "3. Validate your Flatpak 
permissions, so that Flatpak has access to your directories with wads");
+ #endif
+       }
+       int pick = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/gzdoom/gzdoom.json 
new/hexchat-2.16.1/flatpak/shared-modules/gzdoom/gzdoom.json
--- old/hexchat-2.16.0/flatpak/shared-modules/gzdoom/gzdoom.json        
1970-01-01 01:00:00.000000000 +0100
+++ new/hexchat-2.16.1/flatpak/shared-modules/gzdoom/gzdoom.json        
2022-02-12 19:30:56.918057700 +0100
@@ -0,0 +1,50 @@
+{
+    "name": "gzdoom",
+    "buildsystem": "cmake-ninja",
+    "config-opts": [
+        "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
+    ],
+    "cleanup": [
+        "/lib/*.a",
+        "/lib/*.la",
+        "/lib/pkgconfig",
+        "/include"
+    ],
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://github.com/coelckers/gzdoom.git";,
+            "tag": "g4.7.1",
+            "commit": "107ff702423686414680d6458fea63a2647692c4"
+        },
+        {
+            "type": "file",
+            "url": 
"https://github.com/coelckers/gzdoom/raw/g4.7.1/soundfont/gzdoom.sf2";,
+            "sha256": 
"fca3e514b635a21789d4224e84865d2954a2a914d46b64aa8219ddb565c44869"
+        },
+        /* I've discussed these patches upstream and a special 
-DFLATPAK_BUNDLE has been approved */
+        {
+            "type": "patch",
+            "path": "description.patch"
+        }
+    ],
+    "post-install": [
+        "install -Dm 644 gzdoom.sf2 /app/share/sounds/sf2/gzdoom.sf2"
+    ],
+    "modules": [
+        {
+            "name": "zmusic",
+            "buildsystem": "cmake-ninja",
+            "config-opts": [
+                "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
+            ],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": 
"https://github.com/coelckers/ZMusic/archive/1.1.8.tar.gz";,
+                    "sha256": 
"73082f661b7b0bb33348d1d186c132deec9132a1613480348a00172b49c9fd68"
+                }
+            ]
+        }
+    ]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/fftw3f-static.json 
new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/fftw3f-static.json
--- old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/fftw3f-static.json    
2021-10-01 22:09:12.067550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/fftw3f-static.json    
2022-02-12 19:30:56.920057500 +0100
@@ -28,8 +28,8 @@
   "sources": [
     {
       "type": "archive",
-      "url": "http://www.fftw.org/fftw-3.3.8.tar.gz";,
-      "sha256": 
"6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303"
+      "url": "https://www.fftw.org/fftw-3.3.10.tar.gz";,
+      "sha256": 
"56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467"
     }
   ],
   "cleanup": [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/fftw3f.json 
new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/fftw3f.json
--- old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/fftw3f.json   
2021-10-01 22:09:12.067550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/fftw3f.json   
2022-02-12 19:30:56.920057500 +0100
@@ -25,8 +25,8 @@
     "sources": [
         {
             "type": "archive",
-            "url": "http://www.fftw.org/fftw-3.3.8.tar.gz";,
-            "sha256": 
"6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303"
+            "url": "https://www.fftw.org/fftw-3.3.10.tar.gz";,
+            "sha256": 
"56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467"
         }
     ],
     "cleanup": [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/fluidsynth2-static.json 
new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/fluidsynth2-static.json
--- 
old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/fluidsynth2-static.json   
    2021-10-01 22:09:12.067550700 +0200
+++ 
new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/fluidsynth2-static.json   
    2022-02-12 19:30:56.920057500 +0100
@@ -22,8 +22,8 @@
   "sources": [
     {
       "type": "archive",
-      "url": "https://github.com/FluidSynth/fluidsynth/archive/v2.2.1.tar.gz";,
-      "sha256": 
"1c56660f23f6c406b36646cc619fc2d2a5265d1d3290e79bcef4505bcd985fdd"
+      "url": "https://github.com/FluidSynth/fluidsynth/archive/v2.2.3.tar.gz";,
+      "sha256": 
"b31807cb0f88e97f3096e2b378c9815a6acfdc20b0b14f97936d905b536965c4"
     }
   ]
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/fluidsynth2.json 
new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/fluidsynth2.json
--- old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/fluidsynth2.json      
2021-10-01 22:09:12.067550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/fluidsynth2.json      
2022-02-12 19:30:56.920057500 +0100
@@ -14,8 +14,8 @@
     "sources": [
         {
             "type": "archive",
-            "url": 
"https://github.com/FluidSynth/fluidsynth/archive/v2.2.1.tar.gz";,
-            "sha256": 
"1c56660f23f6c406b36646cc619fc2d2a5265d1d3290e79bcef4505bcd985fdd"
+            "url": 
"https://github.com/FluidSynth/fluidsynth/archive/v2.2.3.tar.gz";,
+            "sha256": 
"b31807cb0f88e97f3096e2b378c9815a6acfdc20b0b14f97936d905b536965c4"
         }
     ]
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/ladspa.json 
new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/ladspa.json
--- old/hexchat-2.16.0/flatpak/shared-modules/linux-audio/ladspa.json   
2021-10-01 22:09:12.067550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/linux-audio/ladspa.json   
2022-02-12 19:30:56.920057500 +0100
@@ -10,8 +10,8 @@
     "sources": [
         {
             "type": "archive",
-            "url": "http://www.ladspa.org/download/ladspa_sdk_1.15.tgz";,
-            "sha256": 
"4229959b09d20c88c8c86f4aa76427843011705df22d9c28b38359fd1829fded"
+            "url": "http://www.ladspa.org/download/ladspa_sdk_1.17.tgz";,
+            "sha256": 
"d9d596171d93f9c226fcdb7e27c6f917422ac487efe2c05e0a18094df4268061"
         }
     ]
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/mac/mac-sdk-6.11-gcc.patch 
new/hexchat-2.16.1/flatpak/shared-modules/mac/mac-sdk-6.11-gcc.patch
--- old/hexchat-2.16.0/flatpak/shared-modules/mac/mac-sdk-6.11-gcc.patch        
2021-10-01 22:09:12.067550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/mac/mac-sdk-6.11-gcc.patch        
1970-01-01 01:00:00.000000000 +0100
@@ -1,145 +0,0 @@
-diff -Naur mac-sdk-6.11/Makefile mac-sdk-6.11-gcc/Makefile
---- mac-sdk-6.11/Makefile      1970-01-01 00:00:00 +0000
-+++ mac-sdk-6.11-gcc/Makefile  2019-11-21 21:28:57 +0000
-@@ -0,0 +1,8 @@
-+all:
-+      $(MAKE) -f Source/Projects/NonWindows/Makefile
-+
-+install:
-+      $(MAKE) -f Source/Projects/NonWindows/Makefile install
-+
-+clean:
-+      $(MAKE) -f Source/Projects/NonWindows/Makefile clean
-diff -Naur mac-sdk-6.11/Shared/All.h mac-sdk-6.11-gcc/Shared/All.h
---- mac-sdk-6.11/Shared/All.h  2020-12-03 17:28:57 +0000
-+++ mac-sdk-6.11-gcc/Shared/All.h      2020-12-03 22:47:13 +0000
-@@ -188,12 +188,22 @@
-     #define TICK_COUNT_FREQ                             1000000
-     #undef    ASSERT
-     #define ASSERT(e)
-+#endif
-+
-+#if !defined(PLATFORM_WINDOWS) || !defined(_MSC_VER)
-     #define wcsncpy_s(A, B, C, D) wcsncpy(A, C, D)
-     #define wcscpy_s(A, B, C) wcscpy(A, C)
-     #define wcscat_s(A, B, C) wcscat(A, C)
--    #define sprintf_s(A, B, C, D) sprintf(A, C, D)
-+    #define sprintf_s(A, B, C, ...) sprintf(A, C, __VA_ARGS__)
-+    #define _stprintf_s(A, B, C, ...) _stprintf(A, C, __VA_ARGS__)
-     #define strcpy_s(A, B, C) strcpy(A, C)
--    #define _tcscat_s(A, B, C) _tcscat(A, C)
-+
-+    #if defined(PLATFORM_WINDOWS)
-+        #define _tcsncpy_s(A, B, C, D) _tcsncpy(A, C, D)
-+        #define _tcscpy_s(A, B, C) _tcscpy(A, C)
-+        #define _tcscat_s(A, B, C) _tcscat(A, C)
-+        #define strncpy_s(A, B, C, D) strncpy(A, C, D)
-+    #endif
- #endif
- 
- 
/*****************************************************************************************
-diff -Naur mac-sdk-6.11/Shared/NoWindows.h mac-sdk-6.11-gcc/Shared/NoWindows.h
---- mac-sdk-6.11/Shared/NoWindows.h    2020-12-29 02:12:56 +0000
-+++ mac-sdk-6.11-gcc/Shared/NoWindows.h        2021-02-03 23:09:05 +0000
-@@ -52,7 +52,7 @@
- 
- #define _strnicmp strncasecmp
- #define _wtoi(x) wcstol(x, NULL, 10)
--#define _tcscat wcscat
-+#define _tcscat_s wcscat_s
- #undef _totlower
- #define _totlower towlower
- #define _totupper towupper
-@@ -60,7 +60,7 @@
- #ifdef _MSC_VER
- #define _tcsicmp _wcsicmp
- #else
--#define _tcsicmp wcscasecmp
-+#define _tcsicmp wcscmp
- #endif
- #define _tcscpy wcscpy
- #define _tcslen wcslen
-diff -Naur mac-sdk-6.11/Source/MACDll/MACDll.cpp 
mac-sdk-6.11-gcc/Source/MACDll/MACDll.cpp
---- mac-sdk-6.11/Source/MACDll/MACDll.cpp      2021-01-21 19:49:32 +0000
-+++ mac-sdk-6.11-gcc/Source/MACDll/MACDll.cpp  2021-02-03 23:07:33 +0000
-@@ -176,12 +176,12 @@
- APE_DECOMPRESS_HANDLE __stdcall c_APEDecompress_Create(const str_ansi * 
pFilename, int * pErrorCode)
- {
-     CSmartPtr<wchar_t> 
spFilename(CAPECharacterHelper::GetUTF16FromANSI(pFilename), true);
--    return (APE_DECOMPRESS_HANDLE) CreateIAPEDecompress(spFilename, 
pErrorCode, false);
-+    return (APE_DECOMPRESS_HANDLE) CreateIAPEDecompress(spFilename, 
pErrorCode, true);
- }
- 
- APE_DECOMPRESS_HANDLE __stdcall c_APEDecompress_CreateW(const str_utfn * 
pFilename, int * pErrorCode)
- {
--    return (APE_DECOMPRESS_HANDLE) CreateIAPEDecompress(pFilename, 
pErrorCode, false);
-+    return (APE_DECOMPRESS_HANDLE) CreateIAPEDecompress(pFilename, 
pErrorCode, true);
- }
- 
- void __stdcall c_APEDecompress_Destroy(APE_DECOMPRESS_HANDLE hAPEDecompress)
-diff -Naur mac-sdk-6.11/Source/Projects/NonWindows/Makefile 
mac-sdk-6.11-gcc/Source/Projects/NonWindows/Makefile
---- mac-sdk-6.11/Source/Projects/NonWindows/Makefile   2020-04-24 21:09:10 
+0000
-+++ mac-sdk-6.11-gcc/Source/Projects/NonWindows/Makefile       2020-08-29 
17:45:44 +0000
-@@ -85,7 +85,7 @@
-       $(CC) $(SHAREDOBJECTS) $(LIBOBJECTS) $(DLLOBJECTS) $(LDOPTS) $(LDFLAGS) 
$(DLLLDOPTS) -o $@
- 
- $(CMDNAME): $(DLLNAME) $(CMDOBJECTS)
--      $(CC) $(SHAREDOBJECTS) $(CMDOBJECTS) $(DLLNAME) $(LDOPTS) $(LDFLAGS) 
$(CMDLDOPTS) -o $@
-+      $(CC) $(SHAREDOBJECTS) $(LIBOBJECTS) $(CMDOBJECTS) $(LDOPTS) $(LDFLAGS) 
$(CMDLDOPTS) -o $@
- 
- Source/Shared/%.o: Source/Shared/%.cpp
-       $(CXX) $(CXXOPTS) $(CXXFLAGS) $< -o $@
-diff -Naur mac-sdk-6.11/Source/Shared/All.h 
mac-sdk-6.11-gcc/Source/Shared/All.h
---- mac-sdk-6.11/Source/Shared/All.h   2020-12-03 17:28:57 +0000
-+++ mac-sdk-6.11-gcc/Source/Shared/All.h       2020-12-03 22:47:13 +0000
-@@ -188,12 +188,22 @@
-     #define TICK_COUNT_FREQ                             1000000
-     #undef    ASSERT
-     #define ASSERT(e)
-+#endif
-+
-+#if !defined(PLATFORM_WINDOWS) || !defined(_MSC_VER)
-     #define wcsncpy_s(A, B, C, D) wcsncpy(A, C, D)
-     #define wcscpy_s(A, B, C) wcscpy(A, C)
-     #define wcscat_s(A, B, C) wcscat(A, C)
--    #define sprintf_s(A, B, C, D) sprintf(A, C, D)
-+    #define sprintf_s(A, B, C, ...) sprintf(A, C, __VA_ARGS__)
-+    #define _stprintf_s(A, B, C, ...) _stprintf(A, C, __VA_ARGS__)
-     #define strcpy_s(A, B, C) strcpy(A, C)
--    #define _tcscat_s(A, B, C) _tcscat(A, C)
-+
-+    #if defined(PLATFORM_WINDOWS)
-+        #define _tcsncpy_s(A, B, C, D) _tcsncpy(A, C, D)
-+        #define _tcscpy_s(A, B, C) _tcscpy(A, C)
-+        #define _tcscat_s(A, B, C) _tcscat(A, C)
-+        #define strncpy_s(A, B, C, D) strncpy(A, C, D)
-+    #endif
- #endif
- 
- 
/*****************************************************************************************
-diff -Naur mac-sdk-6.11/Source/Shared/NoWindows.h 
mac-sdk-6.11-gcc/Source/Shared/NoWindows.h
---- mac-sdk-6.11/Source/Shared/NoWindows.h     2020-12-29 02:12:56 +0000
-+++ mac-sdk-6.11-gcc/Source/Shared/NoWindows.h 2021-02-03 23:09:20 +0000
-@@ -52,7 +52,7 @@
- 
- #define _strnicmp strncasecmp
- #define _wtoi(x) wcstol(x, NULL, 10)
--#define _tcscat wcscat
-+#define _tcscat_s wcscat_s
- #undef _totlower
- #define _totlower towlower
- #define _totupper towupper
-@@ -60,7 +60,7 @@
- #ifdef _MSC_VER
- #define _tcsicmp _wcsicmp
- #else
--#define _tcsicmp wcscasecmp
-+#define _tcsicmp wcscmp
- #endif
- #define _tcscpy wcscpy
- #define _tcslen wcslen
-diff -Naur mac-sdk-6.11/configure mac-sdk-6.11-gcc/configure
---- mac-sdk-6.11/configure     1970-01-01 00:00:00 +0000
-+++ mac-sdk-6.11-gcc/configure 2019-11-21 21:28:57 +0000
-@@ -0,0 +1 @@
-+#!/bin/sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/flatpak/shared-modules/mac/mac.json 
new/hexchat-2.16.1/flatpak/shared-modules/mac/mac.json
--- old/hexchat-2.16.0/flatpak/shared-modules/mac/mac.json      2021-10-01 
22:09:12.067550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/mac/mac.json      2022-02-12 
19:30:56.920057500 +0100
@@ -1,9 +1,9 @@
 {
   "name": "libmac",
-  "no-autogen": true,
-  "rm-configure": true,
-  "make-install-args": [
-    "prefix=/app"
+  "buildsystem": "simple",
+  "build-commands": [
+    "make -f Source/Projects/NonWindows/Makefile -j $FLATPAK_BUILDER_N_JOBS",
+    "make -f Source/Projects/NonWindows/Makefile prefix=/app install"
   ],
   "cleanup": [
     "/include/MAC"
@@ -11,13 +11,9 @@
   "sources": [
     {
         "type": "archive",
-        "url": "https://freac.org/patches/MAC_SDK_611.zip";,
-        "sha256": 
"31899858b6d125e1ab81b6f391cd77f62087d5ceb9307ce8380138c2864dc5c9",
+        "url": "https://freac.org/patches/MAC_SDK_629.zip";,
+        "sha256": 
"af62c05d83c003c3af8772c01ca8796b8f2ac75a2f5ce1af183ab021cd7f3cf0",
         "strip-components": 0
-    },
-    {
-        "type": "patch",
-        "path": "mac-sdk-6.11-gcc.patch"
     }
   ]
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/pygame/pygame-1.9.4.json 
new/hexchat-2.16.1/flatpak/shared-modules/pygame/pygame-1.9.4.json
--- old/hexchat-2.16.0/flatpak/shared-modules/pygame/pygame-1.9.4.json  
2021-10-01 22:09:12.067550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/pygame/pygame-1.9.4.json  
1970-01-01 01:00:00.000000000 +0100
@@ -1,112 +0,0 @@
-{
-    "name": "pygame",
-    "sources": [
-        {
-            "type": "archive",
-            "url": 
"https://files.pythonhosted.org/packages/b2/6b/c510f0853765eb2219ca5aa3d416d65bb0dea7cd9bb2984aea0a0e04c24d/pygame-1.9.4.tar.gz";,
-            "sha256": 
"700d1781c999af25d11bfd1f3e158ebb660f72ebccb2040ecafe5069d0b2c0b6"
-        }
-    ],
-    "buildsystem": "simple",
-    "build-commands": [
-        "pip3 install --ignore-installed --no-deps --prefix=/app ."
-    ],
-    "build-options": {
-        "env": {
-            "PORTMIDI_INC_PORTTIME": "1",
-            "PYGAME_EXTRA_BASE": "/app"
-        },
-        "arch": {
-            "aarch64": {
-                "env": {
-                    "ORIGLIBDIRS": "/lib:/lib64:/lib/aarch64-linux-gnu"
-                }
-            },
-            "arm": {
-                "env": {
-                    "ORIGLIBDIRS": "/lib:/lib/arm-linux-gnueabihf"
-                }
-            },
-            "i386": {
-                "env": {
-                    "ORIGLIBDIRS": "/lib:/lib/i386-linux-gnu"
-                }
-            },
-            "x86_64": {
-                "env": {
-                    "ORIGLIBDIRS": "/lib:/lib64:/lib/x86_64-linux-gnu"
-                }
-            }
-        }
-    },
-    "modules": [
-        "../SDL/SDL-1.2.15.json",
-        "../SDL/SDL_image-1.2.12.json",
-        "../SDL/SDL_ttf-2.0.11.json",
-        "../smpeg/smpeg-0.4.5.json",
-        "../SDL/SDL_mixer-1.2.12.json",
-        {
-            "name": "audiofile",
-            "sources": [
-                {
-                    "type": "archive",
-                    "url": "http://audiofile.68k.org/audiofile-0.3.6.tar.gz";,
-                    "sha256": 
"cdc60df19ab08bfe55344395739bb08f50fc15c92da3962fac334d3bff116965"
-                },
-                {
-                    "type": "patch",
-                    "path": "audiofile-gcc6.patch"
-                }
-            ]
-        },
-        {
-            "name": "libmikmod",
-            "sources": [
-                {
-                    "type": "archive",
-                    "url": 
"https://sourceforge.net/projects/mikmod/files/libmikmod/3.3.11.1/libmikmod-3.3.11.1.tar.gz";,
-                    "sha256": 
"ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19"
-                }
-            ]
-        },
-        {
-            "name": "fluidsynth",
-            "buildsystem": "cmake-ninja",
-            "config-opts": [
-                "-DCMAKE_BUILD_TYPE=Release"
-            ],
-            "sources": [
-                {
-                    "type": "archive",
-                    "url": 
"https://downloads.sourceforge.net/project/fluidsynth/fluidsynth-1.1.6/fluidsynth-1.1.6.tar.bz2";,
-                    "sha256": 
"d28b47dfbf7f8e426902ae7fa2981d821fbf84f41da9e1b85be933d2d748f601"
-                },
-                {
-                    "type": "patch",
-                    "path": "fluidsynth-no-rawmidi.patch"
-                }
-            ]
-        },
-        {
-            "name": "portmidi",
-            "buildsystem": "cmake-ninja",
-            "config-opts": [
-                "-DCMAKE_BUILD_TYPE=Release",
-                "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:STRING=/app/lib",
-                "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:STRING=/app/lib",
-                "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:STRING=/app/bin"
-            ],
-            "sources": [
-                {
-                    "type": "archive",
-                    "url": 
"http://downloads.sourceforge.net/project/portmedia/portmidi/217/portmidi-src-217.zip";,
-                    "sha256": 
"08e9a892bd80bdb1115213fb72dc29a7bf2ff108b378180586aa65f3cfd42e0f"
-                },
-                {
-                    "type": "patch",
-                    "path": "portmidi-no-java.patch"
-                }
-            ]
-        }
-    ]
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/pygame/pygame-1.9.6.json 
new/hexchat-2.16.1/flatpak/shared-modules/pygame/pygame-1.9.6.json
--- old/hexchat-2.16.0/flatpak/shared-modules/pygame/pygame-1.9.6.json  
1970-01-01 01:00:00.000000000 +0100
+++ new/hexchat-2.16.1/flatpak/shared-modules/pygame/pygame-1.9.6.json  
2022-02-12 19:30:56.920057500 +0100
@@ -0,0 +1,112 @@
+{
+    "name": "pygame",
+    "sources": [
+        {
+            "type": "archive",
+            "url": 
"https://files.pythonhosted.org/packages/0f/9c/78626be04e193c0624842090fe5555b3805c050dfaa81c8094d6441db2be/pygame-1.9.6.tar.gz";,
+            "sha256": 
"301c6428c0880ecd4a9e3951b80e539c33863b6ff356a443db1758de4f297957"
+        }
+    ],
+    "buildsystem": "simple",
+    "build-commands": [
+        "pip3 install --ignore-installed --no-deps --prefix=/app ."
+    ],
+    "build-options": {
+        "env": {
+            "PORTMIDI_INC_PORTTIME": "1",
+            "PYGAME_EXTRA_BASE": "/app"
+        },
+        "arch": {
+            "aarch64": {
+                "env": {
+                    "ORIGLIBDIRS": "/lib:/lib64:/lib/aarch64-linux-gnu"
+                }
+            },
+            "arm": {
+                "env": {
+                    "ORIGLIBDIRS": "/lib:/lib/arm-linux-gnueabihf"
+                }
+            },
+            "i386": {
+                "env": {
+                    "ORIGLIBDIRS": "/lib:/lib/i386-linux-gnu"
+                }
+            },
+            "x86_64": {
+                "env": {
+                    "ORIGLIBDIRS": "/lib:/lib64:/lib/x86_64-linux-gnu"
+                }
+            }
+        }
+    },
+    "modules": [
+        "../SDL/SDL-1.2.15.json",
+        "../SDL/SDL_image-1.2.12.json",
+        "../SDL/SDL_ttf-2.0.11.json",
+        "../smpeg/smpeg-0.4.5.json",
+        "../SDL/SDL_mixer-1.2.12.json",
+        {
+            "name": "audiofile",
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "http://audiofile.68k.org/audiofile-0.3.6.tar.gz";,
+                    "sha256": 
"cdc60df19ab08bfe55344395739bb08f50fc15c92da3962fac334d3bff116965"
+                },
+                {
+                    "type": "patch",
+                    "path": "audiofile-gcc6.patch"
+                }
+            ]
+        },
+        {
+            "name": "libmikmod",
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": 
"https://sourceforge.net/projects/mikmod/files/libmikmod/3.3.11.1/libmikmod-3.3.11.1.tar.gz";,
+                    "sha256": 
"ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19"
+                }
+            ]
+        },
+        {
+            "name": "fluidsynth",
+            "buildsystem": "cmake-ninja",
+            "config-opts": [
+                "-DCMAKE_BUILD_TYPE=Release"
+            ],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": 
"https://github.com/FluidSynth/fluidsynth/archive/refs/tags/v1.1.11.tar.gz";,
+                    "sha256": 
"da8878ff374d12392eecf87e96bad8711b8e76a154c25a571dd8614d1af80de8"
+                },
+                {
+                    "type": "patch",
+                    "path": "fluidsynth-no-rawmidi.patch"
+                }
+            ]
+        },
+        {
+            "name": "portmidi",
+            "buildsystem": "cmake-ninja",
+            "config-opts": [
+                "-DCMAKE_BUILD_TYPE=Release",
+                "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:STRING=/app/lib",
+                "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:STRING=/app/lib",
+                "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:STRING=/app/bin"
+            ],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": 
"http://downloads.sourceforge.net/project/portmedia/portmidi/217/portmidi-src-217.zip";,
+                    "sha256": 
"08e9a892bd80bdb1115213fb72dc29a7bf2ff108b378180586aa65f3cfd42e0f"
+                },
+                {
+                    "type": "patch",
+                    "path": "portmidi-no-java.patch"
+                }
+            ]
+        }
+    ]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/qt4/fixgcc11.patch 
new/hexchat-2.16.1/flatpak/shared-modules/qt4/fixgcc11.patch
--- old/hexchat-2.16.0/flatpak/shared-modules/qt4/fixgcc11.patch        
1970-01-01 01:00:00.000000000 +0100
+++ new/hexchat-2.16.1/flatpak/shared-modules/qt4/fixgcc11.patch        
2022-02-12 19:30:56.921057700 +0100
@@ -0,0 +1,11 @@
+--- a/tools/linguist/linguist/messagemodel.cpp    2021-06-07 
12:18:43.713434493 +0200
++++ b/tools/linguist/linguist/messagemodel.cpp    2021-06-07 
12:24:24.828016548 +0200
+@@ -183,7 +183,7 @@
+         if (ContextItem *c = one->findContext(oc->context())) {
+             for (int j = 0; j < oc->messageCount(); ++j) {
+                 MessageItem *m = oc->messageItem(j);
+-                if (c->findMessage(m->text(), m->comment()) >= 0)
++                if (c->findMessage(m->text(), m->comment()))
+                     ++inBoth;
+             }
+         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/qt4/qt4-4.8.7-minimal.json 
new/hexchat-2.16.1/flatpak/shared-modules/qt4/qt4-4.8.7-minimal.json
--- old/hexchat-2.16.0/flatpak/shared-modules/qt4/qt4-4.8.7-minimal.json        
2021-10-01 22:09:12.067550700 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/qt4/qt4-4.8.7-minimal.json        
2022-02-12 19:30:56.921057700 +0100
@@ -81,6 +81,10 @@
             "path": "fixgcc9.patch"
         },
         {
+            "type": "patch",
+            "path": "fixgcc11.patch"
+        },
+        {
             "type": "shell",
             "commands": [
                 "sed -i \"s|-O2|${CXXFLAGS}|\" 
mkspecs/common/{g++,gcc}-base.conf",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/flatpak/shared-modules/smpeg/smpeg-0.4.5.json 
new/hexchat-2.16.1/flatpak/shared-modules/smpeg/smpeg-0.4.5.json
--- old/hexchat-2.16.0/flatpak/shared-modules/smpeg/smpeg-0.4.5.json    
2021-10-01 22:09:12.068550600 +0200
+++ new/hexchat-2.16.1/flatpak/shared-modules/smpeg/smpeg-0.4.5.json    
2022-02-12 19:30:56.921057700 +0100
@@ -13,6 +13,12 @@
             "sha256": 
"1276ea797dd9fde8a12dd3f33f180153922544c28ca9fc7b477c018876be1916"
         },
         {
+            "type": "shell",
+            "commands": [
+                "sed -i '/^## libtool.m4/,/^#####/d' acinclude.m4"
+            ]
+        },
+        {
             "type": "script",
             "dest-filename": "autogen.sh",
             "commands": [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/meson.build 
new/hexchat-2.16.1/meson.build
--- old/hexchat-2.16.0/meson.build      2021-10-01 22:09:11.464550000 +0200
+++ new/hexchat-2.16.1/meson.build      2022-02-12 19:30:55.878055000 +0100
@@ -1,5 +1,5 @@
 project('hexchat', 'c',
-  version: '2.16.0',
+  version: '2.16.1',
   meson_version: '>= 0.47.0',
   default_options: [
     'c_std=gnu89',
@@ -34,6 +34,7 @@
 config_h.set_quoted('GETTEXT_PACKAGE', 'hexchat')
 config_h.set_quoted('LOCALEDIR', join_paths(get_option('prefix'),
                                  get_option('datadir'), 'locale'))
+config_h.set_quoted('G_LOG_DOMAIN', 'hexchat')
 config_h.set10('ENABLE_NLS', true)
 
 # Optional features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/checksum/meson.build 
new/hexchat-2.16.1/plugins/checksum/meson.build
--- old/hexchat-2.16.0/plugins/checksum/meson.build     2021-10-01 
22:09:11.465550200 +0200
+++ new/hexchat-2.16.1/plugins/checksum/meson.build     2022-02-12 
19:30:55.878055000 +0100
@@ -3,4 +3,5 @@
   install: true,
   install_dir: plugindir,
   name_prefix: '',
+  vs_module_defs: 'checksum.def',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/exec/meson.build 
new/hexchat-2.16.1/plugins/exec/meson.build
--- old/hexchat-2.16.0/plugins/exec/meson.build 2021-10-01 22:09:11.465550200 
+0200
+++ new/hexchat-2.16.1/plugins/exec/meson.build 2022-02-12 19:30:55.879055000 
+0100
@@ -1,5 +1,6 @@
 shared_module('exec', 'exec.c',
   dependencies: hexchat_plugin_dep,
   install: true,
-  install_dir: plugindir
+  install_dir: plugindir,
+  vs_module_defs: 'exec.def',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/fishlim/fish.c 
new/hexchat-2.16.1/plugins/fishlim/fish.c
--- old/hexchat-2.16.0/plugins/fishlim/fish.c   2021-10-01 22:09:11.465550200 
+0200
+++ new/hexchat-2.16.1/plugins/fishlim/fish.c   2022-02-12 19:30:55.879055000 
+0100
@@ -87,6 +87,54 @@
     dest |= (uint8_t)*((source)++); \
 } while (0);
 
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+#include <openssl/provider.h>
+static OSSL_PROVIDER *legacy_provider;
+static OSSL_PROVIDER *default_provider;
+static OSSL_LIB_CTX* *ossl_ctx;
+#endif
+
+int fish_init(void)
+{
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+    ossl_ctx = OSSL_LIB_CTX_new();
+    if (!ossl_ctx)
+        return 0;
+
+    legacy_provider = OSSL_PROVIDER_load(ossl_ctx, "legacy");
+    if (!legacy_provider) {
+        fish_deinit();
+        return 0;
+    }
+
+    default_provider = OSSL_PROVIDER_load(ossl_ctx, "default");
+    if (!default_provider) {
+        fish_deinit();
+        return 0;
+    }
+#endif
+    return 1;
+}
+
+void fish_deinit(void)
+{
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+    if (legacy_provider) {
+        OSSL_PROVIDER_unload(legacy_provider);
+        legacy_provider = NULL;
+    }
+
+    if (default_provider) {
+        OSSL_PROVIDER_unload(default_provider);
+        default_provider = NULL;
+    }
+
+    if (ossl_ctx) {
+        OSSL_LIB_CTX_free(ossl_ctx);
+        ossl_ctx = NULL;
+    }
+#endif
+}
 
 /**
  * Encode ECB FiSH Base64
@@ -228,9 +276,19 @@
             plaintext_len -= 8;
         }
 
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+        cipher = EVP_CIPHER_fetch(ossl_ctx, "BF-CBC", NULL);
+#else
         cipher = (EVP_CIPHER *) EVP_bf_cbc();
+#endif
+
     } else if (mode == EVP_CIPH_ECB_MODE) {
+
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+        cipher = EVP_CIPHER_fetch(ossl_ctx, "BF-ECB", NULL);
+#else
         cipher = (EVP_CIPHER *) EVP_bf_ecb();
+#endif
     }
 
     /* Zero Padding */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/fishlim/fish.h 
new/hexchat-2.16.1/plugins/fishlim/fish.h
--- old/hexchat-2.16.0/plugins/fishlim/fish.h   2021-10-01 22:09:11.465550200 
+0200
+++ new/hexchat-2.16.1/plugins/fishlim/fish.h   2022-02-12 19:30:55.879055000 
+0100
@@ -35,6 +35,8 @@
   FISH_CBC_MODE = 0x2
 };
 
+int fish_init(void);
+void fish_deinit(void);
 char *fish_base64_encode(const char *message, size_t message_len);
 char *fish_base64_decode(const char *message, size_t *final_len);
 char *fish_encrypt(const char *key, size_t keylen, const char *message, size_t 
message_len, enum fish_mode mode);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/fishlim/meson.build 
new/hexchat-2.16.1/plugins/fishlim/meson.build
--- old/hexchat-2.16.0/plugins/fishlim/meson.build      2021-10-01 
22:09:11.465550200 +0200
+++ new/hexchat-2.16.1/plugins/fishlim/meson.build      2022-02-12 
19:30:55.879055000 +0100
@@ -19,4 +19,5 @@
   install: true,
   install_dir: plugindir,
   name_prefix: '',
+  vs_module_defs: 'fishlim.def',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/fishlim/plugin_hexchat.c 
new/hexchat-2.16.1/plugins/fishlim/plugin_hexchat.c
--- old/hexchat-2.16.0/plugins/fishlim/plugin_hexchat.c 2021-10-01 
22:09:11.466550000 +0200
+++ new/hexchat-2.16.1/plugins/fishlim/plugin_hexchat.c 2022-02-12 
19:30:55.880055200 +0100
@@ -815,6 +815,9 @@
     hexchat_hook_server_attrs(ph, "TOPIC", HEXCHAT_PRI_NORM, handle_incoming, 
NULL);
     hexchat_hook_server_attrs(ph, "332", HEXCHAT_PRI_NORM, handle_incoming, 
NULL);
 
+    if (!fish_init())
+        return 0;
+
     if (!dh1080_init())
         return 0;
 
@@ -828,6 +831,7 @@
 int hexchat_plugin_deinit(void) {
     g_clear_pointer(&pending_exchanges, g_hash_table_destroy);
     dh1080_deinit();
+    fish_deinit();
 
     hexchat_printf(ph, "%s plugin unloaded\n", plugin_name);
     return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/fishlim/tests/meson.build 
new/hexchat-2.16.1/plugins/fishlim/tests/meson.build
--- old/hexchat-2.16.0/plugins/fishlim/tests/meson.build        2021-10-01 
22:09:11.466550000 +0200
+++ new/hexchat-2.16.1/plugins/fishlim/tests/meson.build        2022-02-12 
19:30:55.880055200 +0100
@@ -12,4 +12,5 @@
 
 test('Fishlim Tests', fishlim_tests,
   protocol: 'tap',
+  timeout: 600,
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/fishlim/tests/tests.c 
new/hexchat-2.16.1/plugins/fishlim/tests/tests.c
--- old/hexchat-2.16.0/plugins/fishlim/tests/tests.c    2021-10-01 
22:09:11.466550000 +0200
+++ new/hexchat-2.16.1/plugins/fishlim/tests/tests.c    2022-02-12 
19:30:55.880055200 +0100
@@ -21,6 +21,7 @@
 
 */
 
+#include <string.h>
 #include <glib.h>
 
 #include "fish.h"
@@ -129,17 +130,17 @@
 test_base64_len (void)
 {
     char *b64 = NULL;
-    int i, message_len = 0;
     char message[1000];
+    int message_end = sizeof (message) - 1;
 
-    for (i = 0; i < 10; ++i) {
-        for (message_len = 1; message_len < 1000; ++message_len) {
-            random_string(message, message_len);
-            b64 = g_base64_encode((const unsigned char *) message, 
message_len);
-            g_assert_nonnull(b64);
-            g_assert_cmpuint(strlen(b64), == , base64_len(message_len));
-            g_free(b64);
-        }
+    random_string(message, message_end);
+
+    for (; message_end >= 0; --message_end) {
+        message[message_end] = '\0'; /* Truncate instead of generating new 
strings */
+        b64 = g_base64_encode((const unsigned char *) message, message_end);
+        g_assert_nonnull(b64);
+        g_assert_cmpuint(strlen(b64), == , base64_len(message_end));
+        g_free(b64);
     }
 }
 
@@ -150,18 +151,15 @@
 test_base64_fish_len (void)
 {
     char *b64 = NULL;
-    int i, message_len = 0;
+    int message_len = 0;
     char message[1000];
 
-    for (i = 0; i < 10; ++i) {
-
-        for (message_len = 1; message_len < 1000; ++message_len) {
-            random_string(message, message_len);
-            b64 = fish_base64_encode(message, message_len);
-            g_assert_nonnull(b64);
-            g_assert_cmpuint(strlen(b64), == , base64_fish_len(message_len));
-            g_free(b64);
-        }
+    for (message_len = 1; message_len < 1000; ++message_len) {
+        random_string(message, message_len);
+        b64 = fish_base64_encode(message, message_len);
+        g_assert_nonnull(b64);
+        g_assert_cmpuint(strlen(b64), == , base64_fish_len(message_len));
+        g_free(b64);
     }
 }
 
@@ -242,30 +240,28 @@
 {
     GRand *rand = NULL;
     GString *chunks = NULL;
-    int tests, max_chunks_len, chunks_len;
+    int  max_chunks_len, chunks_len;
     char ascii_message[1001];
     char *data_chunk = NULL;
 
     rand = g_rand_new();
+    max_chunks_len = g_rand_int_range(rand, 2, 301);
+    random_string(ascii_message, 1000);
 
-    for (tests = 0; tests < 1000; ++tests) {
+    data_chunk = ascii_message;
 
-        max_chunks_len = g_rand_int_range(rand, 2, 301);
-        random_string(ascii_message, 1000);
+    chunks = g_string_new(NULL);
 
-        data_chunk = ascii_message;
-
-        chunks = g_string_new(NULL);
-
-        while (foreach_utf8_data_chunks(data_chunk, max_chunks_len, 
&chunks_len)) {
-            g_string_append(chunks, g_strndup(data_chunk, chunks_len));
-            /* Next chunk */
-            data_chunk += chunks_len;
-        }
-        /* Check data loss */
-        g_assert_cmpstr(chunks->str, == , ascii_message);
-        g_string_free(chunks, TRUE);
+    while (foreach_utf8_data_chunks(data_chunk, max_chunks_len, &chunks_len)) {
+        g_string_append(chunks, g_strndup(data_chunk, chunks_len));
+        /* Next chunk */
+        data_chunk += chunks_len;
     }
+    /* Check data loss */
+    g_assert_cmpstr(chunks->str, == , ascii_message);
+
+    g_string_free(chunks, TRUE);
+    g_rand_free (rand);
 }
 
 int
@@ -282,5 +278,8 @@
     g_test_add_func("/fishlim/max_text_command_len", 
test_max_text_command_len);
     g_test_add_func("/fishlim/foreach_utf8_data_chunks", 
test_foreach_utf8_data_chunks);
 
-    return g_test_run();
+    fish_init();
+    int ret = g_test_run();
+    fish_deinit();
+    return ret;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/fishlim/utils.c 
new/hexchat-2.16.1/plugins/fishlim/utils.c
--- old/hexchat-2.16.0/plugins/fishlim/utils.c  2021-10-01 22:09:11.466550000 
+0200
+++ new/hexchat-2.16.1/plugins/fishlim/utils.c  2022-02-12 19:30:55.880055200 
+0100
@@ -22,6 +22,8 @@
 
 */
 
+#include <string.h>
+
 #include "utils.h"
 #include "fish.h"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/perl/meson.build 
new/hexchat-2.16.1/plugins/perl/meson.build
--- old/hexchat-2.16.0/plugins/perl/meson.build 2021-10-01 22:09:11.467550000 
+0200
+++ new/hexchat-2.16.1/plugins/perl/meson.build 2022-02-12 19:30:55.881055000 
+0100
@@ -88,4 +88,5 @@
   install_dir: plugindir,
   install_rpath: perl_rpath,
   name_prefix: '',
+  vs_module_defs: 'perl.def',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/python/meson.build 
new/hexchat-2.16.1/plugins/python/meson.build
--- old/hexchat-2.16.0/plugins/python/meson.build       2021-10-01 
22:09:11.467550000 +0200
+++ new/hexchat-2.16.1/plugins/python/meson.build       2022-02-12 
19:30:55.881055000 +0100
@@ -28,4 +28,5 @@
   install: true,
   install_dir: plugindir,
   name_prefix: '',
+  vs_module_defs: 'python.def'
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/python/python.py 
new/hexchat-2.16.1/plugins/python/python.py
--- old/hexchat-2.16.0/plugins/python/python.py 2021-10-01 22:09:11.467550000 
+0200
+++ new/hexchat-2.16.1/plugins/python/python.py 2022-02-12 19:30:55.881055000 
+0100
@@ -146,7 +146,7 @@
     def loadfile(self, filename):
         try:
             self.filename = filename
-            with open(filename) as f:
+            with open(filename, encoding='utf-8') as f:
                 data = f.read()
             compiled = compile_file(data, filename)
             exec(compiled, self.globals)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/sysinfo/meson.build 
new/hexchat-2.16.1/plugins/sysinfo/meson.build
--- old/hexchat-2.16.0/plugins/sysinfo/meson.build      2021-10-01 
22:09:11.468550200 +0200
+++ new/hexchat-2.16.1/plugins/sysinfo/meson.build      2022-02-12 
19:30:55.882055000 +0100
@@ -57,4 +57,5 @@
   install: true,
   install_dir: plugindir,
   name_prefix: '',
+  vs_module_defs: 'sysinfo.def',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/upd/meson.build 
new/hexchat-2.16.1/plugins/upd/meson.build
--- old/hexchat-2.16.0/plugins/upd/meson.build  2021-10-01 22:09:11.468550200 
+0200
+++ new/hexchat-2.16.1/plugins/upd/meson.build  2022-02-12 19:30:55.882055000 
+0100
@@ -5,4 +5,5 @@
   install: true,
   install_dir: plugindir,
   name_prefix: '',
+  vs_module_defs: 'upd.def',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/plugins/winamp/meson.build 
new/hexchat-2.16.1/plugins/winamp/meson.build
--- old/hexchat-2.16.0/plugins/winamp/meson.build       2021-10-01 
22:09:11.468550200 +0200
+++ new/hexchat-2.16.1/plugins/winamp/meson.build       2022-02-12 
19:30:55.883055200 +0100
@@ -3,4 +3,5 @@
   install: true,
   install_dir: plugindir,
   name_prefix: '',
+  vs_module_defs: 'winamp.def',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/common/fe.h 
new/hexchat-2.16.1/src/common/fe.h
--- old/hexchat-2.16.0/src/common/fe.h  2021-10-01 22:09:11.490550000 +0200
+++ new/hexchat-2.16.1/src/common/fe.h  2022-02-12 19:30:55.906055200 +0100
@@ -69,7 +69,16 @@
 void fe_input_remove (int tag);
 void fe_idle_add (void *func, void *data);
 void fe_set_topic (struct session *sess, char *topic, char *stripped_topic);
-void fe_set_tab_color (struct session *sess, int col);
+typedef enum
+{
+       FE_COLOR_NONE = 0,
+       FE_COLOR_NEW_DATA = 1,
+       FE_COLOR_NEW_MSG = 2,
+       FE_COLOR_NEW_HILIGHT = 3,
+       FE_COLOR_FLAG_NOOVERRIDE = 8,
+} tabcolor;
+#define FE_COLOR_ALLFLAGS (FE_COLOR_FLAG_NOOVERRIDE)
+void fe_set_tab_color (struct session *sess, tabcolor col);
 void fe_flash_window (struct session *sess);
 void fe_update_mode_buttons (struct session *sess, char mode, char sign);
 void fe_update_channel_key (struct session *sess);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/common/meson.build 
new/hexchat-2.16.1/src/common/meson.build
--- old/hexchat-2.16.0/src/common/meson.build   2021-10-01 22:09:11.491550200 
+0200
+++ new/hexchat-2.16.1/src/common/meson.build   2022-02-12 19:30:55.907055100 
+0100
@@ -47,7 +47,6 @@
   ]
   common_sysinfo_deps += [
     cc.find_library('wbemuuid'), # sysinfo
-    cc.find_library('wbemcore'),
   ]
 
   common_sources += 'sysinfo/win32/backend.c'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/common/outbound.c 
new/hexchat-2.16.1/src/common/outbound.c
--- old/hexchat-2.16.0/src/common/outbound.c    2021-10-01 22:09:11.492550100 
+0200
+++ new/hexchat-2.16.1/src/common/outbound.c    2022-02-12 19:30:55.908055000 
+0100
@@ -1579,9 +1579,26 @@
                EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0);
                return FALSE;
        }
-       len = strlen(word_eol[2]);
-       temp = g_strconcat (word_eol[2], "\n", NULL);
-       PrintText(sess, temp);
+       if (strcmp (word[2], "--") == 0)
+       {
+               len = strlen(word_eol[3]);
+               temp = g_strconcat (word_eol[3], "\n", NULL);
+               PrintText(sess, temp);
+       }
+       else
+       {
+               if (strcmp (word[2], "-q") == 0)
+               {
+                       len = strlen(word_eol[3]);
+                       temp = g_strconcat (word_eol[3], "\n", NULL);
+               }
+               else
+               {
+                       len = strlen(word_eol[2]);
+                       temp = g_strconcat (word_eol[2], "\n", NULL);
+                       PrintText(sess, temp);
+               }
+       }
        write(sess->running_exec->myfd, temp, len + 1);
        g_free(temp);
 
@@ -2152,7 +2169,6 @@
        {
        case 0x058b836e: fe_ctrl_gui (sess, 8, 0); break; /* APPLY */
        case 0xac1eee45: fe_ctrl_gui (sess, 7, 2); break; /* ATTACH */
-       case 0x05a72f63: fe_ctrl_gui (sess, 4, atoi (word[3])); break; /* COLOR 
*/
        case 0xb06a1793: fe_ctrl_gui (sess, 7, 1); break; /* DETACH */
        case 0x05cfeff0: fe_ctrl_gui (sess, 3, 0); break; /* FLASH */
        case 0x05d154d8: fe_ctrl_gui (sess, 2, 0); break; /* FOCUS */
@@ -2166,6 +2182,12 @@
                else
                        return FALSE;
                break;
+       case 0x05a72f63: /* COLOR */
+               if (!g_ascii_strcasecmp (word[4], "-NOOVERRIDE"))
+                       fe_ctrl_gui (sess, 4, FE_COLOR_FLAG_NOOVERRIDE | atoi 
(word[3]));
+               else
+                       fe_ctrl_gui (sess, 4, atoi (word[3]));
+               break;
        default:
                return FALSE;
        }
@@ -3877,34 +3899,6 @@
 }
 
 static int
-cmd_wallchan (struct session *sess, char *tbuf, char *word[],
-                                 char *word_eol[])
-{
-       GSList *list;
-
-       if (*word_eol[2])
-       {
-               list = sess_list;
-               while (list)
-               {
-                       sess = list->data;
-                       if (sess->type == SESS_CHANNEL)
-                       {
-                               message_tags_data no_tags = 
MESSAGE_TAGS_DATA_INIT;
-
-                               inbound_chanmsg (sess->server, NULL, 
sess->channel,
-                                                                         
sess->server->nick, word_eol[2], TRUE, FALSE, 
-                                                                         
&no_tags);
-                               sess->server->p_message (sess->server, 
sess->channel, word_eol[2]);
-                       }
-                       list = list->next;
-               }
-               return TRUE;
-       }
-       return FALSE;
-}
-
-static int
 cmd_hop (struct session *sess, char *tbuf, char *word[], char *word_eol[])
 {
        int i = 2;
@@ -4000,7 +3994,7 @@
         N_("EXECKILL [-9], kills a running exec in the current session. If -9 
is given the process is SIGKILL'ed")},
 #ifndef __EMX__
        {"EXECSTOP", cmd_execs, 0, 0, 1, N_("EXECSTOP, sends the process 
SIGSTOP")},
-       {"EXECWRITE", cmd_execw, 0, 0, 1, N_("EXECWRITE, sends data to the 
processes stdin")},
+       {"EXECWRITE", cmd_execw, 0, 0, 1, N_("EXECWRITE [-q|--], sends data to 
the processes stdin; use -q flag to quiet/suppress output at text box; use -- 
flag to stop interpreting arguments as flags, needed if -q itself would occur 
as data")},
 #endif
 #endif
 #if 0
@@ -4015,8 +4009,9 @@
        {"GETINT", cmd_getint, 0, 0, 1, "GETINT <default> <command> <prompt>"},
        {"GETSTR", cmd_getstr, 0, 0, 1, "GETSTR <default> <command> <prompt>"},
        {"GHOST", cmd_ghost, 1, 0, 1, N_("GHOST <nick> [password], Kills a 
ghosted nickname")},
-       {"GUI", cmd_gui, 0, 0, 1, "GUI 
[APPLY|ATTACH|DETACH|SHOW|HIDE|FOCUS|FLASH|ICONIFY|COLOR <n>]\n"
-                                                                         "     
  GUI [MSGBOX <text>|MENU TOGGLE]"},
+       {"GUI", cmd_gui, 0, 0, 1, "GUI 
[APPLY|ATTACH|DETACH|SHOW|HIDE|FOCUS|FLASH|ICONIFY]\n"
+                                                                         "     
  GUI [MSGBOX <text>|MENU TOGGLE]\n"
+                                                                         "     
  GUI COLOR <n> [-NOOVERRIDE]"},
        {"HELP", cmd_help, 0, 0, 1, 0},
        {"HOP", cmd_hop, 1, 1, 1,
         N_("HOP <nick>, gives chanhalf-op status to the nick (needs chanop)")},
@@ -4141,8 +4136,6 @@
        {"USERLIST", cmd_userlist, 1, 1, 1, 0},
        {"VOICE", cmd_voice, 1, 1, 1,
         N_("VOICE <nick>, gives voice status to someone (needs chanop)")},
-       {"WALLCHAN", cmd_wallchan, 1, 1, 1,
-        N_("WALLCHAN <message>, writes the message to all channels")},
        {"WALLCHOP", cmd_wallchop, 1, 1, 1,
         N_("WALLCHOP <message>, sends the message to all chanops on the 
current channel")},
        {0, 0, 0, 0, 0, 0}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/common/plugin-timer.c 
new/hexchat-2.16.1/src/common/plugin-timer.c
--- old/hexchat-2.16.0/src/common/plugin-timer.c        2021-10-01 
22:09:11.492550100 +0200
+++ new/hexchat-2.16.1/src/common/plugin-timer.c        2022-02-12 
19:30:55.908055000 +0100
@@ -198,7 +198,7 @@
                offset += 2;
        }
 
-       timeout = atof (word[2 + offset]);
+       timeout = g_ascii_strtod (word[2 + offset], NULL);
        command = word_eol[3 + offset];
 
        if (timeout < 0.1 || timeout * 1000 > INT_MAX || !command[0])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/common/proto-irc.c 
new/hexchat-2.16.1/src/common/proto-irc.c
--- old/hexchat-2.16.0/src/common/proto-irc.c   2021-10-01 22:09:11.493550000 
+0200
+++ new/hexchat-2.16.1/src/common/proto-irc.c   2022-02-12 19:30:55.909055200 
+0100
@@ -627,7 +627,7 @@
        case 320:       /* :is an identified user */
                if (!serv->skip_next_whois)
                        EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS_ID, whois_sess, 
word[4],
-                                                                               
  word_eol[5] + 1, NULL, NULL, 0,
+                                                                               
  word_eol[5][0] == ':' ? word_eol[5] + 1 : word_eol[5], NULL, NULL, 0,
                                                                                
  tags_data->timestamp);
                break;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/common/server.c 
new/hexchat-2.16.1/src/common/server.c
--- old/hexchat-2.16.0/src/common/server.c      2021-10-01 22:09:11.493550000 
+0200
+++ new/hexchat-2.16.1/src/common/server.c      2022-02-12 19:30:55.909055200 
+0100
@@ -1559,7 +1559,7 @@
        if (!hostname[0])
                return;
 
-       if (port < 0)
+       if (port < 1 || port > 65535)
        {
                /* use default port for this server type */
                port = 6667;
@@ -1567,8 +1567,8 @@
                if (serv->use_ssl)
                        port = 6697;
 #endif
+               g_debug ("Attempted to connect to invalid port, assuming 
default port %d", port);
        }
-       port &= 0xffff; /* wrap around */
 
        if (serv->connected || serv->connecting || serv->recondelay_tag)
                server_disconnect (sess, TRUE, -1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/common/servlist.c 
new/hexchat-2.16.1/src/common/servlist.c
--- old/hexchat-2.16.0/src/common/servlist.c    2021-10-01 22:09:11.493550000 
+0200
+++ new/hexchat-2.16.1/src/common/servlist.c    2022-02-12 19:30:55.909055200 
+0100
@@ -187,6 +187,9 @@
        {"Interlinked", 0, 0, 0, LOGIN_SASL, 0, TRUE},
        {0,                     "irc.interlinked.me"},
 
+       {"Irc-Nerds", 0, 0, 0, LOGIN_SASL, 0, TRUE},
+       {0,                     "irc.irc-nerds.net"},
+       
        {"IRC4Fun", 0, 0, 0, LOGIN_SASL, 0, TRUE},
        {0,                             "irc.irc4fun.net"},
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/common/sysinfo/win32/backend.c 
new/hexchat-2.16.1/src/common/sysinfo/win32/backend.c
--- old/hexchat-2.16.0/src/common/sysinfo/win32/backend.c       2021-10-01 
22:09:11.494550200 +0200
+++ new/hexchat-2.16.1/src/common/sysinfo/win32/backend.c       2022-02-12 
19:30:55.910055200 +0100
@@ -84,7 +84,8 @@
 
        GetNativeSystemInfo (&si);
 
-       if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
+       if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||
+               si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_ARM64)
        {
                return cpu_arch = 64;
        }
@@ -106,7 +107,8 @@
 
        GetSystemInfo (&si);
 
-       if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
+       if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||
+               si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_ARM64)
        {
                return build_arch = 64;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/fe-gtk/fe-gtk.c 
new/hexchat-2.16.1/src/fe-gtk/fe-gtk.c
--- old/hexchat-2.16.0/src/fe-gtk/fe-gtk.c      2021-10-01 22:09:11.497550200 
+0200
+++ new/hexchat-2.16.1/src/fe-gtk/fe-gtk.c      2022-02-12 19:30:55.912055300 
+0100
@@ -664,13 +664,13 @@
                return;
 
        if (sess == current_tab)
-               fe_set_tab_color (sess, 0);
+               fe_set_tab_color (sess, FE_COLOR_NONE);
        else if (sess->tab_state & TAB_STATE_NEW_HILIGHT)
-               fe_set_tab_color (sess, 3);
+               fe_set_tab_color (sess, FE_COLOR_NEW_HILIGHT);
        else if (sess->tab_state & TAB_STATE_NEW_MSG)
-               fe_set_tab_color (sess, 2);
+               fe_set_tab_color (sess, FE_COLOR_NEW_MSG);
        else
-               fe_set_tab_color (sess, 1);
+               fe_set_tab_color (sess, FE_COLOR_NEW_DATA);
 }
 
 void
@@ -1054,6 +1054,46 @@
 
 #endif
 
+static inline char *
+escape_uri (const char *uri)
+{
+       return g_uri_escape_string(uri, G_URI_RESERVED_CHARS_GENERIC_DELIMITERS 
G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS, FALSE);
+}
+
+static inline gboolean
+uri_contains_forbidden_characters (const char *uri)
+{
+       while (*uri)
+       {
+               /* This is not an exhaustive list, the full URI has segments 
that allow characters like "[]:" for example. */
+               if (strchr ("`<> ${}\"+", *uri) != NULL || (*uri & 0x80) /* 
non-ascii */)
+                       return TRUE;
+               uri++;
+       }
+
+       return FALSE;
+}
+
+static char *
+maybe_escape_uri (const char *uri)
+{
+       /* The only way to know if a string has already been escaped or not
+        * is by fulling parsing each segement but we can try some more simple 
heuristics. */
+
+       /* If we find characters that should clearly be escaped. */
+       if (uri_contains_forbidden_characters (uri))
+               return escape_uri (uri);
+
+       /* If it fails to be unescaped then it was not escaped. */
+       char *unescaped = g_uri_unescape_string (uri, NULL);
+       if (!unescaped)
+               return escape_uri (uri);
+       g_free (unescaped);
+
+       /* At this point it is probably safe to pass through as-is. */
+       return g_strdup (uri);
+}
+
 static void
 fe_open_url_inner (const char *url)
 {
@@ -1071,8 +1111,8 @@
 #elif defined(__APPLE__)
     osx_show_uri (url);
 #else
-       char *escaped_url = g_uri_escape_string (url, 
G_URI_RESERVED_CHARS_GENERIC_DELIMITERS 
G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS,
-                                                FALSE);
+       char *escaped_url = maybe_escape_uri (url);
+       g_debug ("Opening URL \"%s\" (%s)", escaped_url, url);
        gtk_show_uri (NULL, escaped_url, GDK_CURRENT_TIME, NULL);
        g_free (escaped_url);
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/fe-gtk/maingui.c 
new/hexchat-2.16.1/src/fe-gtk/maingui.c
--- old/hexchat-2.16.0/src/fe-gtk/maingui.c     2021-10-01 22:09:11.499550000 
+0200
+++ new/hexchat-2.16.1/src/fe-gtk/maingui.c     2022-02-12 19:30:55.914055000 
+0100
@@ -175,20 +175,26 @@
 /* set a tab plain, red, light-red, or blue */
 
 void
-fe_set_tab_color (struct session *sess, int col)
+fe_set_tab_color (struct session *sess, tabcolor col)
 {
        struct session *server_sess = sess->server->server_session;
+       int col_noflags = (col & ~FE_COLOR_ALLFLAGS);
+       int col_shouldoverride = !(col & FE_COLOR_FLAG_NOOVERRIDE);
+
        if (sess->res->tab && sess->gui->is_tab && (col == 0 || sess != 
current_tab))
        {
-               switch (col)
+               switch (col_noflags)
                {
                case 0: /* no particular color (theme default) */
                        sess->tab_state = TAB_STATE_NONE;
                        chan_set_color (sess->res->tab, plain_list);
                        break;
                case 1: /* new data has been displayed (dark red) */
-                       sess->tab_state = TAB_STATE_NEW_DATA;
-                       chan_set_color (sess->res->tab, newdata_list);
+                       if (col_shouldoverride || !((sess->tab_state & 
TAB_STATE_NEW_MSG)
+                                                                               
|| (sess->tab_state & TAB_STATE_NEW_HILIGHT))) {
+                               sess->tab_state = TAB_STATE_NEW_DATA;
+                               chan_set_color (sess->res->tab, newdata_list);
+                       }
 
                        if (chan_is_collapsed (sess->res->tab)
                                && !((server_sess->tab_state & 
TAB_STATE_NEW_MSG)
@@ -201,8 +207,10 @@
 
                        break;
                case 2: /* new message arrived in channel (light red) */
-                       sess->tab_state = TAB_STATE_NEW_MSG;
-                       chan_set_color (sess->res->tab, newmsg_list);
+                       if (col_shouldoverride || !(sess->tab_state & 
TAB_STATE_NEW_HILIGHT)) {
+                               sess->tab_state = TAB_STATE_NEW_MSG;
+                               chan_set_color (sess->res->tab, newmsg_list);
+                       }
 
                        if (chan_is_collapsed (sess->res->tab)
                                && !(server_sess->tab_state & 
TAB_STATE_NEW_HILIGHT)
@@ -540,7 +548,7 @@
        /* when called via mg_changui_new, is_tab might be true, but
                sess->res->tab is still NULL. */
        if (sess->res->tab)
-               fe_set_tab_color (sess, 0);
+               fe_set_tab_color (sess, FE_COLOR_NONE);
 }
 
 static int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hexchat-2.16.0/src/fe-gtk/notifications/notification-freedesktop.c 
new/hexchat-2.16.1/src/fe-gtk/notifications/notification-freedesktop.c
--- old/hexchat-2.16.0/src/fe-gtk/notifications/notification-freedesktop.c      
2021-10-01 22:09:11.499550000 +0200
+++ new/hexchat-2.16.1/src/fe-gtk/notifications/notification-freedesktop.c      
2022-02-12 19:30:55.914055000 +0100
@@ -18,6 +18,7 @@
 
 #include "config.h"
 
+#include <string.h>
 #include <gio/gio.h>
 
 static GDBusProxy *fdo_notifications;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hexchat-2.16.0/src/fe-text/fe-text.c 
new/hexchat-2.16.1/src/fe-text/fe-text.c
--- old/hexchat-2.16.0/src/fe-text/fe-text.c    2021-10-01 22:09:11.503550000 
+0200
+++ new/hexchat-2.16.1/src/fe-text/fe-text.c    2022-02-12 19:30:55.918055300 
+0100
@@ -623,7 +623,7 @@
 {
 }
 void
-fe_set_tab_color (struct session *sess, int col)
+fe_set_tab_color (struct session *sess, tabcolor col)
 {
 }
 void

Reply via email to