From a320ff2ae7cd38045113218d83fbdfd19c0a64b1 Mon Sep 17 00:00:00 2001 From: link2xt Date: Tue, 23 Feb 2021 23:06:50 +0300 Subject: Do not build libdeltachat as ExternalProject deltachat-core-rust has CMakeLists.txt now and can be used as a module within `kdesrc-build`. The recommended way for building KDeltaChat is using `kdesrc-build` now, README is updated accordingly. --- README.md | 92 +++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 54 insertions(+), 38 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 1775ace..1b08f03 100644 --- a/README.md +++ b/README.md @@ -4,30 +4,70 @@ KDeltaChat is a [Delta Chat](https://delta.chat/) client using [Kirigami](https: # Dependencies -KDeltaChat build depends on Rust for core building, Kirigami framework and several QML modules. +KDeltaChat build depends on +[libdeltachat](https://github.com/deltachat/deltachat-core-rust/), +Kirigami framework and several QML modules. + +## kdesrc-build + +It's recommended to build KDeltaChat with [kdesrc-build](https://kdesrc-build.kde.org/). +This allows to avoid installing `libdeltachat` system-wide and use +upstream Kirigami instead of usually outdated packaged versions. + +Install it with: +``` +mkdir -p ~/kde/src +cd ~/kde/src +git clone https://invent.kde.org/sdk/kdesrc-build.git +cd kdesrc-build +./kdesrc-build-setup +./kdesrc-build kirigami +``` + +Run +``` +source ~/.config/kde-env-master.sh +``` +in your shell to enter `kdesrc-build` environment. ## Rust -Install Rust from https://rustup.rs/ with +Building `libdeltachat` requires Rust. +Install it from https://rustup.rs/ with +``` +$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none +``` + +## libdeltachat + +If you are using [`kdesrc-build`](https://kdesrc-build.kde.org/), +add module into `~/.kdesrc-buildrc` as follows ``` -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none +module deltachat + repository https://github.com/deltachat/deltachat-core-rust.git +end module ``` +Then build `libdeltachat` with `kdesrc-build deltachat`. -Clone [`deltachat-core-rust` repository](https://github.com/deltachat/deltachat-core-rust/) alongside -`kdeltachat` repository, for example into `~/src/deltachat-core-rust/` if `kdeltachat` is checked out at `~/src/kdeltachat`: +Alternatively, if you are not using `kdesrc-build`, install `libdeltachat` system-wide: ``` -git clone https://github.com/deltachat/deltachat-core-rust.git +$ git clone https://github.com/deltachat/deltachat-core-rust.git +$ cd deltachat-core-rust +$ mkdir build +$ cd build +$ cmake .. +$ make +$ sudo make install ``` -## Kirigami and Qt +## Qt -Install Kirigami and required QML modules from your distribution repositories. +Install QtQuick and required QML modules using your system package manager. ### Debian Build time dependencies: - `qtdeclarative5-dev` (for `/usr/lib/x86_64-linux-gnu/cmake/Qt5Quick/Qt5QuickConfig.cmake`) -- `kirigami2-dev` Runtime dependencies: - `qml-module-qtquick-controls` @@ -39,9 +79,6 @@ Runtime dependencies: Install FileDialog: - `pacman -S qt5-quickcontrols` -Install kirigami2: -- `pacman -S kirigami2` - ### OpenSUSE OpenSUSE Leap 15.2: @@ -52,33 +89,15 @@ zypper install -y libopenssl-devel perl-FindBin-Real # Install KDeltaChat dependencies zypper install -y cmake gcc-c++ -zypper install -y libqt5-qtbase-devel libQt5QuickControls2-devel kirigami2-devel libqt5-quickcontrols +zypper install -y libqt5-qtbase-devel libQt5QuickControls2-devel libqt5-quickcontrols ``` -### Building with upstream Kirigami - -If you want to use upstream Kirigami, for example to avoid bugs fixed -upstream but not in the packaged version, you can use -[kdesrc-build](https://kdesrc-build.kde.org/). - -Install it with: -``` -mkdir -p ~/kde/src -cd ~/kde/src -git clone https://invent.kde.org/sdk/kdesrc-build.git -cd kdesrc-build -./kdesrc-build-setup -./kdesrc-build kirigami -``` +## Kirigami -Then, run -``` -source ~/.config/kde-env-master.sh -``` -in your shell and rebuild the app, starting with a complete removal of -the `build` directory. +Build Kirigami with `kdesrc-build kirigami`. -The source of Kirigami will be available in `~/kde/src/kirigami` then. +Alternatively, if you are not using `kdesrc-build`, install system package for Kirigami, +such as `kirigami2-dev` on Debian or Ubuntu, `kirigami2` on Arch Linux or `kirigami2-devel` on OpenSUSE. # Building @@ -90,9 +109,6 @@ cmake .. make ``` -This will build `deltachat-core-rust` and install core library into -build directory automatically. - # Running Run `./kdeltachat`. Import existing account from backup or setup a -- cgit v1.2.3-70-g09d2