Building

Windows

The Windows build is currently x64-only and follows the same shape as ZoiteChat’s Windows GitHub Actions workflow: prepare C:\gtk-build, put the dependency bundles where win32\zoitechat.props expects them, then build win32\zoitechat.sln with MSBuild.

Software

Install:

Source code

Clone the source and enter the checkout:

git clone https://github.com/zoitechat/zoitechat.git
cd zoitechat

Dependencies

Create the dependency root:

mkdir C:\gtk-build

Download the GTK3 x64 bundle and extract it to C:\gtk-build\gtk\x64\release.

Download the remaining Windows dependency artifacts from the ZoiteChat gvsbuild releases and extract them to these paths:

  • gendef: C:\gtk-build\gendef

  • WinSparkle x64 bundle: C:\gtk-build\WinSparkle\x64

  • Perl 5.42 x64 bundle: C:\gtk-build\perl-5.42.0.1\x64

Set up Python where the project file expects it. From PowerShell, adjust the Python path if your install is elsewhere:

mkdir C:\gtk-build\python-3.14
cmd /c mklink /J C:\gtk-build\python-3.14\x64 C:\Python314
C:\gtk-build\python-3.14\x64\python.exe -m pip install --upgrade pip cffi

If you use different locations, set these environment variables before building instead of editing win32\zoitechat.props:

  • ZOITECHAT_DEPS_PATH

  • ZOITECHAT_GENDEF_PATH

  • ZOITECHAT_PERL_PATH

  • ZOITECHAT_PYTHON3_PATH

  • ZOITECHAT_WINSPARKLE_PATH

  • ZOITECHAT_ISCC_PATH

Building

Open Developer Command Prompt for VS 2022 in the source checkout and run:

msbuild win32\zoitechat.sln /m /verbosity:minimal /p:Configuration=Release /p:Platform=x64

To build the installer, open win32\zoitechat.sln in Visual Studio, set release/installer as the startup project, then run Build.

The build output is written to ..\zoitechat-build\x64. The installer build writes a ZoiteChat*.exe installer in that output tree.

Unix

First of all, you have to install the build dependencies. Package names differ across distros, so be creative and check meson’s output if you get an error.

Most package-managers can get the dependencies for you:

  • dnf:

    dnf install -y meson gettext-devel gtk3-devel iso-codes-devel libarchive-devel libayatana-appindicator-gtk3-devel libcanberra-devel lua-devel openssl-devel perl-devel perl-ExtUtils-Embed python3-cffi python3-devel
    
  • apt:

    apt-get install -y meson gettext iso-codes libarchive-dev libayatana-appindicator3-dev libcanberra-dev libglib2.0-dev libgtk-3-dev liblua5.4-dev libpci-dev libperl-dev libssl-dev python3-dev python3-cffi desktop-file-utils
    

ZoiteChat has its source code hosted using Git, so you have to install Git as well. When it’s ready, you can start the actual compilation, which is basically:

git clone https://github.com/zoitechat/zoitechat.git
cd zoitechat
meson setup build
ninja -C build
sudo ninja -C build install

This will compile with defaults. See meson configure build for more info about flags.