Commit Graph
216 Commits
Author SHA1 Message Date
deepend e373000cdb installer: show install dir page on Windows setup 2026-03-13 14:36:38 -06:00
deepend 50346683a1 feat: GTK3-only theming overhaul—new theme service (discover/import/inherits), layered CSS+settings.ini apply w/ safe rollback + caching; widget/xtext palette mapping + all-colors editor; lots of win32/CI libarchive plumbing + installer assets; 2026-03-04 23:28:01 -07:00
deepend 349d7f4c55 win32: install hicolor icons + CI now pulls real hicolor-icon-theme 2026-03-01 11:09:19 -07:00
deepend 1ef81951b7 win32: wire icon-resolver into VS build, kill old menu icon payload (copy + installer) 2026-02-28 23:39:08 -07:00
deepend b93bad9859 windows x64-only purge: kill Win32 configs, simplify installer. 2026-02-28 09:53:37 -07:00
deepend 733f932b78 squash: win32 packaging detox (no comsupp/VC2013, trim payload, gate lua/python) 2026-02-28 09:36:50 -07:00
deepend 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
deepend 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
deepend 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
deepend 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
deepend 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
deepend 173d10f336 revert: back to 874ea99 2026-02-14 17:40:42 -07:00
deepend 3e2268b391 chore: normalize line endings 2026-02-14 17:02:11 -07:00
deepend 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
deepend 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
deepend 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
deepend 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
deepend 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
deepend 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
deepend 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