Commit Graph

210 Commits

Author SHA1 Message Date
0a5c95c6b4 Fixed the Windows installer so it now installs GTK icon theme assets (share\icons) into the app directory. This ensures icon-name lookups used by menus/widgets can resolve real icons instead of placeholders on Windows installs.
The change was made in the [Files] section by adding a recursive copy rule for share\icons\* under the libs component.
2026-02-17 21:08:18 -07:00
643ea9c7fb Removed the Windows-specific forced Adwaita icon theme override from win32_configure_icon_theme(), so ZoiteChat will no longer switch to Adwaita at runtime and can use the app’s own icon assets from the configured icon search path.
Removed Adwaita icon bundle copy rules from the Windows packaging project (copy.vcxproj), so share/icons/Adwaita is no longer pulled into Windows build artifacts.
Removed Adwaita icon inclusion from the Windows installer manifest (zoitechat.iss.tt), so installer builds no longer ship Adwaita icon files.
2026-02-17 20:39:12 -07:00
dd452f82ff The Windows copy project already stages Adwaita icons into win32/rel\share\icons\Adwaita, but the Inno Setup script did not include that folder in [Files], so installed builds could miss those icons. I added an installer file rule to include share\icons\Adwaita\* recursively under the libs component. 2026-02-17 18:25:29 -07:00
ef87b569d7 Updated the Windows copy project to explicitly include GLib GSettings schema files from $(DepsRoot)\share\glib-2.0\schemas\* and copy them into the release tree at share\glib-2.0\schemas\..., ensuring gschemas.compiled is bundled with portable/release artifacts.
Updated the Inno Setup installer file list to install share\glib-2.0\schemas\* into {app}\share\glib-2.0\schemas under the libs component, so installed builds also ship required schema data.
Updated gtkutil_file_req_response() so only GTK_RESPONSE_ACCEPT runs the file-selection path; all non-accept responses now immediately destroy the dialog via the callback’s dialog pointer, avoiding chooser access on cancel paths.
Kept native chooser handling aligned with that behavior: chooser reads are still gated behind GTK_RESPONSE_ACCEPT, while cleanup remains a single unref path deferred to idle to avoid teardown-in-signal-stack issues on Windows.
2026-02-16 18:57:48 -07:00
deepend-tildeclub
87ec58f9d3 Fix component selection for Python in installer script 2026-02-16 02:52:46 -07:00
deepend-tildeclub
64909893e7 Add additional DLLs to installer configuration 2026-02-15 14:19:00 -07:00
deepend-tildeclub
1f031d8966 Add new DLLs and remove conditional helper sources 2026-02-15 10:18:20 -07:00
deepend-tildeclub
2a4aa2f8ac Fix Lua file path in installer script 2026-02-15 10:06:02 -07:00
deepend-tildeclub
d646607066 Update Lua file paths in installer script 2026-02-15 10:02:01 -07:00
deepend-tildeclub
c37b45308e Update Lua LGI DLL source path in installer script 2026-02-15 09:57:49 -07:00
deepend-tildeclub
2cec6a6778 Update library sources in installer script
Removed conditional compilation for x64 libraries and updated to use newer versions of libcrypto and libssl.
2026-02-15 09:52:40 -07:00
deepend-tildeclub
a4c635ee52 Rename fontconfig.dll to fontconfig-1.dll 2026-02-15 09:48:52 -07:00
deepend-tildeclub
37d8126128 Update freetype.dll to freetype-6.dll in installer 2026-02-15 09:45:11 -07:00
deepend-tildeclub
86ab733de0 Add skipifsourcedoesntexist flag to theme source 2026-02-15 09:41:03 -07:00
deepend-tildeclub
95d87732c4 Implement fallback procedures for Inno Download Plugin
Added no-op procedures for Inno Download Plugin fallback.
2026-02-15 09:34:30 -07:00
deepend-tildeclub
019f591627 Update installer.vcxproj with new configurations 2026-02-15 09:24:18 -07:00
deepend-tildeclub
8cbfb29a49 Modify installer project file for Inno Setup paths
Updated the installer project file to include checks for Inno Setup executable paths and added a directory creation command for the output path.
2026-02-15 09:14:24 -07:00
deepend-tildeclub
58eed1682c Change Inno Setup path to version 6
Updated Inno Setup path from version 5 to 6.
2026-02-14 23:34:03 -07:00
deepend-tildeclub
34de343fa6 Update installer.vcxproj with new XML structure 2026-02-14 23:23:46 -07:00
deepend-tildeclub
1c4fd1d02d Add ISCC path for pre-build event
Added ISCC path configuration for Inno Setup.
2026-02-14 23:18:26 -07:00
deepend-tildeclub
bb796bb364 Update installer.vcxproj.filters for resource files 2026-02-14 22:58:36 -07:00
deepend-tildeclub
b413762457 Update installer.vcxproj for new file inclusion 2026-02-14 22:58:15 -07:00
deepend-tildeclub
de7807bc6a Fix XML formatting in installer.vcxproj 2026-02-14 22:12:58 -07:00
deepend-tildeclub
4927413bcb Change plugin and language descriptions to custom 2026-02-14 21:55:15 -07:00
deepend-tildeclub
c3c814b28d Modify installer project file for pre-build event
Updated pre-build event command to include ISCC path.
2026-02-14 21:37:13 -07:00
ba892240cb Fixed the Windows installer pre-build PowerShell invocation by replacing the bare powershell command with a configurable $(PowerShellPath) call in installer.vcxproj, and added stable flags (-NoProfile -ExecutionPolicy Bypass) to reduce environment-specific failures. This addresses the MSB3073/9009 command-not-found class of error you reported.
Added a PowerShellPath resolution chain in zoitechat.props so builds can use:

    POWERSHELL_EXE override,

    %WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe when present,

    fallback powershell.exe from PATH.
2026-02-14 17:56:27 -07:00
173d10f336 revert: back to 874ea99 2026-02-14 17:40:42 -07:00
3e2268b391 chore: normalize line endings 2026-02-14 17:02:11 -07:00
874ea99492 win32/copy/copy.vcxproj
Switched hardcoded DLL names to wildcard patterns (ex: atk-1.0-0.dll → *atk-1.0-0.dll, iconv.dll → *iconv*.dll, etc.) so it correctly picks up lib* prefixed builds.
  Made Enchant provider copying resilient by copying lib\enchant\*.dll instead of a single hardcoded libenchant_myspell.dll.
  Added optional copy support for LuaJIT DLLs (luajit*.dll) alongside lua51.dll.

win32/installer/zoitechat.iss.tt
  Updated DLL Source: entries to match real-world names from dependency bundles using wildcards (*glib-2*.dll, *gtk-3*.dll, etc.).
  Added optional LuaJIT inclusion (skip if missing) and wildcarded girepository.

win32/zoitechat.props
  Added env overrides so CI (and humans) can actually control paths:
  ZOITECHAT_DEPS_PATH
  ZOITECHAT_PYTHON3_PATH
  already supported ISCC_EXE and now it actually matters.
  Fixed glib-genmarshal handling to prefer glib-genmarshal.exe if present (and only use Python script path if needed).
  Added library-name auto-detection for MSVC import libs (gtk-3.lib vs gtk-3.0.lib vs libgtk-3.lib, etc.) so linking doesn’t die just because the bundle names differ.
  Ensured InstallerEnabled gets re-evaluated after IsccPath is resolved (GTK3 had the order wrong, so installer builds could be silently disabled).

.github/workflows/windows-build.yml
  Made artifact collection and plugin validation tolerate win32 vs Win32 output directory naming, instead of assuming humans are consistent (they aren’t).
2026-02-14 15:57:41 -07:00
deepend-tildeclub
a8db164ef7 Change plugin and language types to normal custom 2026-02-14 13:25:05 -07:00
deepend-tildeclub
7f9920554e Update typelib source path from girepository-2.0 to 1.0 2026-02-14 11:55:20 -07:00
deepend-tildeclub
6fd191f32d Rename girepository-2.0.dll to girepository-2.0-0.dll 2026-02-14 02:31:35 -07:00
deepend-tildeclub
0117092f83 Update girepository DLL and typelib references 2026-02-14 02:15:37 -07:00
deepend-tildeclub
0872d3b445 Fix XML formatting in installer.vcxproj 2026-02-14 01:55:01 -07:00
deepend-tildeclub
dba80a5a9e Upgrade PlatformToolset from v142 to v143 2026-02-14 01:28:08 -07:00
deepend-tildeclub
2436c3bad1 Update installer.vcxproj XML structure 2026-02-14 00:53:47 -07:00
9acec081a4 Fixed installer detection to evaluate IsccPath safely when the path contains spaces by changing the existence check to Exists('$(IsccPath)').
Fixed ISCC path normalization by trimming surrounding quotes from ZOITECHAT_ISCC_PATH and storing discovered default paths unquoted (so they can be checked reliably with Exists(...)).
Fixed installer invocation by quoting $(IsccPath) at execution time in the pre-build command, which supports paths like C:\Program Files (x86)\Inno Setup 6\ISCC.exe
2026-02-13 20:40:48 -07:00
a86dc5ae85 Added build capability switches in the shared Windows props file so optional components are only enabled when their prerequisites exist:
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.
2026-02-13 20:14:39 -07:00
bb70bcb4e3 Updated the Windows installer pre-build script to create $(ZoiteChatBin) if it doesn’t exist before generating zoitechat.iss, which addresses the “The system cannot find the path specified” failure path during installer project builds. 2026-02-13 20:04:12 -07:00
6491dc1bde Added JPEG runtime DLL patterns to the Windows release copy step so the build artifacts include JPEG dependencies required by GTK stack DLLs.
Included JPEG runtime DLLs in the Windows installer payload to ensure they are shipped with both x86 and x64 packages.
2026-02-06 00:03:08 -07:00
1eee70ff9b Updated the Windows installer to package Lua lgi DLLs and scripts from the Lua 2.1 paths produced by the build, instead of the older paths, so the files are found during packaging. 2026-02-05 23:16:12 -07:00
0550fb90c5 Documented that the GTK 3 immodules are input method (IME) modules and printbackends are GTK 3 printing backends, noting they are still GTK-related but may be absent in some CI dependency bundles. 2026-02-05 21:33:17 -07:00
deepend-tildeclub
8cf9f8ba9d Change SourceDir from '..\release' to '..\rel' 2026-02-05 16:51:43 -07:00
deepend-tildeclub
f80c3adfe0 Update SourceDir from 'rel' to 'release' 2026-02-05 11:20:29 -07:00
c49d8e4d44 Updated the Windows installer file list to accept both legacy libxml2-*.dll and new xml2-*.dll names, avoiding missing-file failures in builds. 2026-02-05 09:57:26 -07:00
045134fcff Updated the Windows installer file list to include libcrypto/libssl DLLs via wildcard matches, covering OpenSSL 3 artifacts and avoiding missing-file errors in builds. 2026-02-05 09:03:50 -07:00
0074a8ba1e Updated the Windows installer script to skip missing MS-Windows theme sources so builds don’t fail when that directory is absent. 2026-02-05 01:31:03 -07:00
deepend-tildeclub
4a70ae125d Update DLL source patterns in installer script 2026-02-04 23:36:29 -07:00
deepend-tildeclub
3efd975d2f Update DLL sources for GTK 3 in installer script 2026-02-04 18:08:52 -07:00
deepend-tildeclub
0e661dec95 Delete win32/installer/zoitechat-arm64.iss 2026-01-19 14:43:40 -07:00