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