aboutsummaryrefslogtreecommitdiff

Building

Here you can find build instructions for Kristall.

Requirements

  • Qt 5.9 or higher with widgets and network modules

Build

*nix

There's a small Makefile provided that does all necessary steps and creates a build directory, then copies the build artifact from the build directory. Just do make in the root directory, it should work.

Or you can use the usual Qt5 build process:

mkdir build
cd build
qmake ../src/kristall.pro
make

Notes for OpenBSD

  • It seems like Qt wants libzstd.so.3.1 instead of libzstd.so.3.2. Just symlink that file into the build directory
  • Use make and not gmake to build the project.

Notes on FreeBSD

  • Kristall can't be used with LibreSSL, but requires OpenSSL (probably because of Qt)
  • Required packages
  • qt5
  • make
  • git - optional, for cloning from CLI
  • Additionally, the following must be exported for qmake: export QMAKESPEC=freebsd-clang

Notes for Ubuntu and Debian

  • Supported Versions:
  • Ubuntu: 18.04, 20.04
  • Debian: 10, 11, 12 (TBA)

  • Unsupported Versions

  • Ubuntu: 16.04
  • Debian: 9

  • Required packages

  • qt5-default
  • qt5-qmake
  • qttools5-dev-tools
  • qtmultimedia5-dev
  • libqt5svg5-dev
  • libssl-dev
  • make
  • g++

  • Additional packages (to use dynamic libraries)

  • libcmark-dev
  • libgumbo-dev

Notes for Fedora 32 (and probably other recent versions)

In the small Makefile mentioned above, comment out the line:

  • QMAKE_COMMAND := qmake

And uncomment the line: * # QMAKE_COMMAND := /usr/bin/qmake-qt5

This is because Fedora has a different naming scheme for the qmake executable.

  • Key required packages
    • qt5-qtbase
    • qt5-qtbase-devel
    • qt5-qtmultimedia-devel
    • qt5-qtsvg-devel
    • qt5-linguist
    • ccache-3.7.7-1.fc32.x86_64
    • make
    • openssl-devel
    • And the packages they depend on

Notes for Manjaro/Arch

  • Required packages
  • qt5-base
  • qt5-multimedia
  • qt5-svg
  • openssl or libressl
  • qt5-tools

Notes on void linux

  • set env variable QT_SELECT=5

Notes on alpine linux

  • Required packages for 0.3
  • qt5-qtbase-dev
  • qtchooser
  • qt5-qtsvg-dev
  • qt5-qtmultimedia-dev
  • Additionally for current state (38b353e)
  • qt5-qttools-dev
  • bash

Windows (MinGW)

Install Qt via the Qt installer. Install the following components:

Required: - Qt/Qt 5.15.0/MinGW 8.1.0 64-bit - Qt/Developer and Designer Tools/MinGW 8.1.0 64 bit - Qt/Developer and Designer Tools/OpenSSL 64-bit binaries Optional: - Qt/Developer and Designer Tools/Qt Creator 4.12.3 CDB Debugger Support - Qt/Developer and Designer Tools/Debugging Tools for Windows - Qt/Developer and Designer Tools/Qt Creator 4.12.3 CDB Debugger Support - Qt/Developer and Designer Tools/OpenSSL source code

If you didn't istall Qt to C:\Qt, you have to adjust the paths in src/kristall.pro for the win32-g++ adjustments to the path you used.

Then open src/kristall.pro with Qt creator to compile the project. Alternatively you can use ci\build-and-deploy.bat, but note that this script tries to deploy the file to random-projects.net, so this will fail in the end.

Troubleshouting: If you get an error message that MSVCR100.dll is missing, you may need to install the Microsoft C++ Runtime.

Troubleshouting: QtCreator says the exe crashed when starting. This happens when you are missing the OpenSSL dlls. Copy them from C:\Qt\Tools\OpenSSL\Win_x64\bin\libcrypto-1_1-x64.dll and C:\Qt\Tools\OpenSSL\Win_x64\bin\libssl-1_1-x64.dll to the debug/release folder of your build. Then the exe should be starting.

Windows MSVC (not up to date)

Compile OpenSSL with the following steps:
- Install Perl (either ActiveState or Strawberry) - Install NASM - Add both to your PATH - Clone OpenSSL - Open a Visual Studio Developer Command Prompt (or a command prompt that has ran vcvarsall.bat). You will need Administrator privileges for the install step - In the OpenSSL root directory, run perl Configure VC-WIN32 if compiling for 32 bit, perl Configure VC-WIN64A for 64 bit - Run nmake - Run nmake install to install OpenSSL in C:\Program Files\OpenSSL

Use QtCreator to build ./src/kristall.pro with default settings.

macOS

  1. Run brew install qt@5 openssl to install the qt and openssl packages with Homebrew.
  2. Run brew link qt5 to enable the use of qmake
  3. Run make build/kristall to build kristall.app in the build directory.

Haiku

  1. Install the following packages with pkgman:
    • qt5
    • qt5_devel
    • qt5_tools
    • libiconv_devel
    • openssl_devel (should be preinstalled)
  2. Use make to build the executable

Haiku x86

  1. Install the following packages with pkgman:
    • qt5_x86
    • qt5_x86_devel
    • qt5_x86_tools
    • libiconv_x86_devel
    • openssl_x86_devel (should be preinstalled)
  2. run setarch x86
  3. Use make to build the executable

Manual Installation

Unix / XDG

The provided desktop file and additional mime types (along with the text/gemini) can be installed into the local system

cp Kristall.desktop ~/.local/share/applications/kristall.desktop
cp kristall-mime-info.xml ~/.local/share/mime/packages/kristall-mime-info.xml
update-desktop-database ~/.local/share/applications
update-mime-database ~/.local/share/mime

macOS

Copy kristall.app from the build directory to /Applications.

Haiku

Link the kristall executable to your applications menu:

cd ~/config/settings/deskbar/menu/Applications/
ln -s /path/to/kristall .