Building
Here you can find build instructions for Kristall.
Requirements
- Qt 5.9 or higher with
widgetsandnetworkmodules
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.1instead oflibzstd.so.3.2. Just symlink that file into the build directory - Use
makeand notgmaketo build the project.
Notes on FreeBSD
- Kristall can't be used with LibreSSL, but requires OpenSSL (probably because of Qt)
- Required packages
qt5makegit- 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-defaultqt5-qmakeqttools5-dev-toolsqtmultimedia5-devlibqt5svg5-devlibssl-devmake-
g++ -
Additional packages (to use dynamic libraries)
libcmark-devlibgumbo-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-qtbaseqt5-qtbase-develqt5-qtmultimedia-develqt5-qtsvg-develqt5-linguistccache-3.7.7-1.fc32.x86_64makeopenssl-devel- And the packages they depend on
Notes for Manjaro/Arch
- Required packages
qt5-baseqt5-multimediaqt5-svgopensslorlibresslqt5-tools
Notes on void linux
- set env variable
QT_SELECT=5
Notes on alpine linux
- Required packages for 0.3
qt5-qtbase-devqtchooserqt5-qtsvg-devqt5-qtmultimedia-dev- Additionally for current state (38b353e)
qt5-qttools-devbash
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
- Run
brew install qt@5 opensslto install theqtandopensslpackages with Homebrew. - Run
brew link qt5to enable the use ofqmake - Run
make build/kristallto buildkristall.appin thebuilddirectory.
Haiku
- Install the following packages with
pkgman:qt5qt5_develqt5_toolslibiconv_developenssl_devel(should be preinstalled)
- Use
maketo build the executable
Haiku x86
- Install the following packages with
pkgman:qt5_x86qt5_x86_develqt5_x86_toolslibiconv_x86_developenssl_x86_devel(should be preinstalled)
- run
setarch x86 - Use
maketo 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 .
