narrowing the GDK include guard to #if defined(HAVE_GTK3), and
removing legacy HAVE_GTK2 / HAVE_GTK toolkit label branches from sysinfo_detect_toolkit(),
narrowing GDK display probing guard in sysinfo_detect_display_backend() to GTK3-only.
Updated Windows and macOS sysinfo backends to remove HAVE_GTK2 / HAVE_GTK fallback labels so sysinfo_detect_toolkit() now returns only "GTK3" (or NULL).
Updated API docs for sysinfo_backend_get_ui() to remove the outdated "GTK2 / X11" example so comments match runtime behavior.
Removed the deprecated Meson option option('gtk3', ... deprecated: true) from meson_options.txt, leaving gtk-frontend/text-frontend options intact.
Removed -Dgtk3=true from Debian’s Meson configure flags in debian/rules (override_dh_auto_configure).
Removed remaining active -Dgtk3=true packaging consumers in Flatpak config:
dropped it from config-opts
dropped -Dgtk3=true from cflags.
Removed -Dgtk3=true from Solus packaging Meson configure args.
Committed changes on the current branch (e018bfd) and created a PR record via the make_pr tool.
Kept the existing safe behavior intact: paths are only added if they exist and are not already in sys.path, so this broadens compatibility without duplicating entries.
existing sibling fallback (../python)
direct fallback (libdir/python)
AppImage-aware fallbacks under $APPDIR/usr/lib/zoitechat/python and $APPDIR/usr/lib/x86_64-linux-gnu/zoitechat/python.
Added guards so paths are appended only if the directory exists and is not already in sys.path, reducing duplicate/invalid entries while improving robustness across packaging layouts.
Updated the Python plugin Visual Studio project to also undefine _DEBUG and Py_DEBUG (in both Release|Win32 and Release|x64), alongside the existing Py_REF_DEBUG and Py_TRACE_REFS, to avoid pulling in debug-only Python refcount symbols during linking.
Updated the Windows Python plugin project file to explicitly undefine Py_REF_DEBUG and Py_TRACE_REFS in both Release|Win32 and Release|x64 compile settings, preventing the build from pulling in CPython debug-refcount import symbols that are missing from normal Python import libraries.
Updated the Python plugin Visual Studio project to define Py_NO_LINK_LIB in both Release|Win32 and Release|x64 configurations, so CPython headers won’t auto-link a debug import library like python314_d.lib.
Kept explicit linker input ("$(Python3Lib).lib") unchanged, so linking continues to use the configured Python library from project properties.
Python3Enabled (python executable + import lib + cffi)
PerlEnabled (perl executable + perl runtime DLL + gendef.exe)
InstallerEnabled (Inno Setup iscc.exe).
Updated the Python plugin project to compile only when Python3Enabled is true, and otherwise emit a clear skip message instead of failing prebuild/import steps.
Updated the Perl plugin project similarly to gate build steps on PerlEnabled and print a skip message when prerequisites are missing.
Updated the installer project so it only uses C++ targets when InstallerEnabled is true, with a fallback skip message when Inno Setup is unavailable.
Updated the Windows build to prefer glib-genmarshal executables with a Python fallback for marshal generation.
Made GTK link dependencies more robust by selecting available ATK library names before assembling GTK libs.
Allowed Lua scripts to be located by basename (script name only) when resolving /lua unload and related operations, while keeping path-based matching for explicit paths.
Ensured /lua load reports failures when script creation fails and added explicit failure feedback to the user.
Added unload feedback that distinguishes immediate unloads from deferred unloads, so users see confirmation right away.
Also cast the check of "inet_addr" to guint32. The POSIX declaration
of this function returns in_addr_t which is the same as uint32_t.
Windows does not define this type and instead uses unsigned long.
The python plugin use weak references for hooks, which might let a
necessary object disappear if the callback of a timer hook unhooks
itself.
Signed-off-by: Celelibi <celelibi@gmail.com>
Python sometime calls flush() on sys.stdout or sys.stderr.
In particular, it might do so when an exception is raised. This fixes
the second error message that was generated in such cases.
Signed-off-by: Celelibi <celelibi@gmail.com>
OpenSSL 3.0 disables a number of "legacy" algorithms by default, and we
need to enable them manually using their provider system. Note that
explicitly loading a provider will disable the implicit default
provider, which is why we need to load it explicitly.
Closes#2629
Signed-off-by: Simon Chopin <simon.chopin@canonical.com>
V2:
* use a local OSSL_LIB_CTX to avoid leaking the legacy algorithms
into the main SSL context.
* Simplify the fish_init() error paths by calling fish_deinit()
- Don't have tests repeat themselves, meson has a `--repeat` flag
- Fix a minor leak of a GRand
- Speed up a test
- Increase timeout
This still needs a lot of improvements, it runs at lot of loops within
loops generating random strings that could be optimized. This means
it can take a very long time on some computers.
Closes#2629