Commit Graph

46 Commits

Author SHA1 Message Date
676e8c7305 Updated the Darwin architecture sanity check in meson.build to consider Meson-provided c_args and c_link_args in addition to CFLAGS/LDFLAGS, so x86_64/universal targeting is detected even when -arch flags are passed via Meson options. This makes the early configure-time guard catch the Homebrew arm64-vs-x86_64 mismatch before the later linker failure you hit.
Kept the existing error behavior intact; only the architecture signal source was expanded (all_cflags / all_ldflags), so the same user-facing failure path now triggers in more real-world universal build setups.
2026-02-19 12:29:21 -07:00
02a0b02f03 Added fs = import('fs') in meson.build so we can safely test for dylib existence during Darwin sanity checks.
Extended the macOS architecture sanity logic to proactively inspect key link-time dependencies (gio, gobject, glib, gmodule, openssl, libcrypto, libintl) with lipo -archs whenever -arch x86_64 is requested, and fail at configure time if any dependency lacks an x86_64 slice.

    Kept the failure messaging actionable so users get an immediate explanation and remediation path (use universal/x86_64 deps, build arm64-only, or disable the check explicitly) instead of hitting late linker undefined symbol errors.
2026-02-19 12:14:21 -07:00
8d51b02ca0 Updated the macOS Darwin arch sanity check to detect when a build is intentionally universal (-arch arm64 and -arch x86_64) instead of treating it as an x86_64-only mismatch. This allows universal binary compile flows to proceed through configuration.
Kept the protective failure for true x86_64-only builds that resolve ARM Homebrew libraries (/opt/homebrew) and updated the error text to explicitly mention universal builds as a supported path.
2026-02-19 12:03:27 -07:00
7d49831886 Updated macOS architecture sanity-check flow in meson.build to first read the Meson option into a variable and then allow an environment-variable override (ZOITECHAT_DARWIN_ARCH_SANITY_CHECK) before running the mismatch guard. Accepted disable values are 0, false, no, and off.
Kept the existing mismatch detection logic intact, but updated the error text to document both bypass methods (-Ddarwin-arch-sanity-check=false or ZOITECHAT_DARWIN_ARCH_SANITY_CHECK=0).
2026-02-19 11:54:54 -07:00
d2e6dabdca Added a new Meson option, darwin-arch-sanity-check (default true), so macOS users can explicitly disable the architecture-mismatch guard when they need to proceed in mixed toolchain environments.
Updated the Darwin architecture check to run only when darwin-arch-sanity-check is enabled, preserving current behavior by default while allowing opt-out.

    Improved the check implementation to use pkg-config --libs-only-L glib-2.0 and only evaluate Homebrew path detection when the pkg-config call succeeds.

    Extended the error message to include the explicit bypass flag -Ddarwin-arch-sanity-check=false for clearer remediation guidance.
2026-02-19 11:42:39 -07:00
36c9504a4d Added a macOS-only Meson configure-time guard that checks for the exact mismatch you hit: -arch x86_64 in build flags while pkg-config resolves GLib from /opt/homebrew (ARM Homebrew). This now fails early with a clear actionable error instead of letting the build continue to a long linker failure.
The new error message explicitly tells users to choose one consistent setup: native arm64 with /opt/homebrew, or Rosetta/x86_64 with an x86_64 dependency stack (typically /usr/local).
2026-02-19 11:36:36 -07:00
bf24249001 Updated Meson DBus dependency handling so macOS always forces DBus support off before resolving dbus-glib-1, preventing configure-time failure on Darwin hosts where dbus-glib is unavailable. This now applies regardless of whether the dbus option is auto or enabled.
Added a clear Meson warning when -Ddbus=enabled is requested on macOS, so users get explicit feedback that DBus is being disabled on that platform.
2026-02-18 12:24:55 -07:00
505449f165 Updated Meson’s DBus dependency gating so that on macOS (darwin) with -Ddbus=auto, dbus-glib-1 is treated as optional instead of hard-required. This prevents configure-time failure in Homebrew CI environments where dbus-glib-1 is absent, while preserving strict behavior when -Ddbus=enabled is explicitly set.
Kept the existing libcanberra and surrounding dependency flow intact; only the required: logic for dbus-glib-1 was adjusted.
2026-02-18 11:53:12 -07:00
3853343918 Added a new 2.18.0-pre1 top entry in changelog.rst (dated 2026-02-16) for the GTK3/packaging work on this branch, and preserved the existing 2.17.4 entry instead of rewriting it.
Added a new AppStream release block for 2.18.0-pre1 and restored the prior 2.17.4 release record, so release history remains additive.
Fixed Debian changelog handling by prepending a new pre-release entry 2.18.0~pre1-1 and restoring the historical 2.17.0-1 / 2.17.0-0 entries unchanged.
2026-02-16 14:34:23 -07:00
deepend-tildeclub
eafc9ec997 Update gio-2.0 and GLIB version requirements 2026-02-05 12:01:49 -07:00
deepend-tildeclub
9a8b3fc232 Update gio-2.0 dependency version requirement 2026-02-05 11:56:31 -07:00
deepend-tildeclub
fda50f0ff3 Update Meson version requirements and dependencies 2026-02-05 11:54:10 -07:00
deepend-tildeclub
6979dce7e8 Merge pull request #53 from ZoiteChat/master
sync to master
2026-02-03 22:10:53 -07:00
303d5cc581 preparation for upcoming release 2.17.4 2026-02-03 13:28:35 -07:00
deepend-tildeclub
dc76c2ea37 Change C standard from C17 to c17 2026-01-26 18:08:01 -07:00
6e5149fbe6 add C17 to meson.build 2026-01-26 16:01:47 -07:00
2b98ebc544 HEXCHAT -> ZOITECHAT 2026-01-25 16:13:47 -07:00
deepend-tildeclub
87e9d93f5e Bump version from 2.17.2 to 2.17.3 2026-01-17 14:54:56 -07:00
46da9fe581 remove theme manager in favor of theme selector in preferences. 2026-01-16 17:54:40 -07:00
bdee1481ed version bump for minor fix (auto replace) 2026-01-13 14:38:07 -07:00
8a4b19a8fd minor feature release 2.17.1 (dark mode) 2026-01-12 21:43:18 -07:00
a1ed2b1bed Zoitechat naming fixes. 2026-01-07 20:33:55 -07:00
4683ef705b new name after fork 2026-01-05 23:12:38 -07:00
Patrick Griffis
434a210ef7 2.16.2 2024-02-07 06:01:12 -06:00
Patrick Griffis
4ee2342404 checksum: Move checksum operation to a thread 2023-05-01 14:28:43 -05:00
Patrick Griffis
73c0b672a2 Bump to 2.16.1 2022-02-12 12:28:17 -06:00
Patrick Griffis
7c27dcd524 build: Set G_LOG_DOMAIN 2021-12-22 11:46:55 -06:00
Patrick Griffis
40399b1cb6 Bump version to 2.16.0 2021-10-01 14:52:09 -05:00
Patrick Griffis
3f07670b34 win32: Update to OpenSSL 1.1 2021-10-01 13:47:42 -05:00
Patrick Griffis
c144d0468b Remove libnotify dependency
Instead just talk directly to the service. This fixes *sending*
a notification being blocking IO.
2021-07-13 12:26:34 -05:00
Patrick Griffis
cbb0927a7a build: Misc cleanup of options
Cleanup of option names, use features where applicable, and printing
of summary.
2021-07-13 11:26:59 -05:00
Michael Catanzaro
25440a07c3 Avoid direct use of libproxy
Since hexchat already depends on GLib, it's better to use GProxyResolver
instead. This might use libproxy, or not, as appropriate.

P.S. This removes a memory safety issue because proxy_list is allocated
using malloc(), not g_malloc(), and therefore using g_strfreev() is
incorrect. The proper way to free the proxy list returned by libproxy
is to use px_proxy_factory_free_proxies() (but nobody does that because
it was added in libproxy 0.4.16, which is somewhat recent).
2021-07-12 11:29:15 -05:00
delthas
c2cdf0d2a1 win32: Disable ASLR for Windows debug builds
GDB is usually able to debug executables with ASLR by temporarily
disabling ASLR when running that executable. This is only supported on
Linux. On Windows, GDB cannot debug ASLR executables.

This removes the dynamicbase linker flag on Windows for debug builds in
order to be able to debug that executable later.

Hardening an executable with ASLR is important for release builds, but
for debug builds being able to debug is much more important.
2020-04-19 16:13:18 -07:00
Patrick Griffis
bfd6eea98f Bump version to 2.14.3 2019-12-20 23:19:32 -08:00
Patrick Griffis
eeada79a64 build: Fix some meson warnings 2019-12-20 22:24:30 -08:00
Patrick Griffis
706f9bca82 python: Rewrite with CFFI 2018-11-09 18:36:59 -05:00
Patrick Griffis
c7322f406c build: Silence some Meson warnings and bump requirement to 0.40.0 2018-09-01 16:50:31 -04:00
Patrick Griffis
8665501c77 Bump version to 2.14.2 2018-08-29 16:41:08 +00:00
Patrick Griffis
28a3d42ad1 Bump to 2.14.1 2018-03-13 22:26:31 -04:00
Patrick Griffis
d72249d91f build: Remove -pie from global ldflags
According to `hardening-check` the cflag is enough for `hexchat`
and this was causing breakage in plugins

Closes #2132
2018-03-10 20:49:35 -05:00
Patrick Griffis
2286990a6f Bump to 2.14.0 2018-03-10 17:02:52 -05:00
Patrick Griffis
e9b9ff9f38 Various fixes for mingw 2018-03-09 18:23:25 +00:00
Patrick Griffis
98ca4e98d5 Bump meson dependency to 0.38.0
We rely upon the behavior of 11f9425a5e
2017-06-26 22:18:59 -04:00
Patrick Griffis
e68976ab39 build: More robust compiler flag checks
Don't hardcode platforms but check if things actually link.

This should fix cygwin.
2017-06-26 16:38:03 -04:00
Patrick Griffis
ce91bebc39 Fix OpenSSL 1.1 deprecations 2017-06-15 00:26:43 -04:00
Patrick Griffis
628100c19f build: Replace Autotools with Meson
Quick rundown of benefits:

- Much faster:
  - Autotools (with autogen): 22 seconds
  - Meson: 7 seconds
  - Meson (with ccache): 2 seconds

- Simpler:
  - ~1000 lines smaller
  - Single simple language

- Potentially better Windows (Visual Studio) support

What is not done:

- Complete Windows support
- OSX support (easy)

Closes #2013
Closes #1937
Closes #1803
2017-06-13 23:54:51 -04:00