README.md 4.61 KB
Newer Older
Linus Jahn's avatar
Linus Jahn committed
1
# Kaidan - A user-friendly XMPP client for every device!
2

3
[![Build Status](https://travis-ci.org/KaidanIM/Kaidan.svg?branch=master)](https://travis-ci.org/KaidanIM/Kaidan)
4 5 6
[![Release](https://img.shields.io/github/release/kaidanim/kaidan.svg)](https://github.com/kaidanim/kaidan/releases)
[![Downloads](https://img.shields.io/github/downloads/kaidanim/kaidan/total.svg)](https://github.com/kaidanim/kaidan/releases)
[![Issues](https://img.shields.io/github/issues/kaidanim/kaidan.svg)](https://github.com/kaidanim/kaidan/issues)
7
[![Translation](https://hosted.weblate.org/widgets/kaidan/-/svg-badge.svg)](https://hosted.weblate.org/projects/kaidan/translations/)
Linus Jahn's avatar
Linus Jahn committed
8
[![license](https://img.shields.io/badge/License-GPLv3%2B%20%2F%20CC%20BY--SA%204.0-blue.svg)](https://raw.githubusercontent.com/kaidanim/kaidan/master/LICENSE)
9

10
![](https://user-images.githubusercontent.com/13557034/34342627-3f82443e-e9b6-11e7-9898-05205e9e9f9b.png)
Linus Jahn's avatar
Linus Jahn committed
11 12 13

## About

14 15 16 17
Kaidan is a simple, user-friendly Jabber/XMPP client providing a modern user-interface using
[Kirigami](https://techbase.kde.org/Kirigami) and [QtQuick](http://wiki.qt.io/Qt_Quick). The back-end of
Kaidan is entirely written in C++ using the [gloox](https://camaya.net/gloox/) XMPP client library and
[Qt 5](https://www.qt.io/).
Linus Jahn's avatar
Linus Jahn committed
18

19 20 21 22 23 24
Currently Kaidan only has been tested on GNU/Linux Desktops, Android & Plasma Mobile, but of course
Ubuntu Touch, OS X, iOS and Windows will follow. Of course this is still not everything, i.e. Sailfish OS
is missing. To support that we need to wait for a proper QtQuickControls 2 style for it or rewrite the GUI
using Silica. Both options are rather unlikely in the near future, so if you want to get a client for
Sailfish OS _now_, maybe take a look at [Shmoose](https://github.com/geobra/harbour-shmoose), a fork by an
earlier developer of Kaidan.
Linus Jahn's avatar
Linus Jahn committed
25

Linus Jahn's avatar
Linus Jahn committed
26
Kaidan is *not* finished yet, so don't expect it working as well as a finished client will do.
Linus Jahn's avatar
Linus Jahn committed
27

28 29 30 31 32 33
## Compilation & Installation

* [Debian Stretch based systems](#debian-stretch-based-systems)
* [Linux Desktop](#compile-kaidan-for-desktop-linux)
* [Ubuntu Touch (click package)](#compile-kaidan-for-ubuntu-touch)

34

35
### Debian Stretch based systems
36

37
Add our APT repository to your system (currently very outdated, will be fixed soon™)
38

39
```
Linus Jahn's avatar
Linus Jahn committed
40
sudo apt install apt-transport-https software-properties-common dirmngr gnupg
41
sudo apt-add-repository "deb https://raw.githubusercontent.com/kaidanim/packages/master stretch main"
42
sudo apt-key adv --recv-key "210EB0BCA70439F0"
Linus Jahn's avatar
Linus Jahn committed
43
sudo apt update
44
```
45

Linus Jahn's avatar
Linus Jahn committed
46
Then you can install Kaidan
47

Linus Jahn's avatar
Linus Jahn committed
48
```bash
Linus Jahn's avatar
Linus Jahn committed
49
sudo apt install kaidan
Linus Jahn's avatar
Linus Jahn committed
50
```
51

52
### Compile Kaidan for Desktop Linux
53

54
#### Install all dependencies:
Linus Jahn's avatar
Linus Jahn committed
55
 * [Qt](http://doc.qt.io/qt-5/build-sources.html) (Core Qml Quick Sql QuickControls2) (>= 5.8.0)
56
 * [gloox](https://camaya.net/gloox/download/) (>= 1.0.19)
57
 * [Kirigami 2](https://phabricator.kde.org/source/kirigami/) (>= 5.42.0)
58 59 60 61 62 63 64

Build only dependencies:
 * A C++ compiler
 * Qt Tools
 * CMake
 * Git (if you don't want to use tarballs/zips from github)

65
##### On Ubuntu *18.04+*, KDE Neon 16.04 or debian *sid* do the following:
66

Linus Jahn's avatar
Linus Jahn committed
67
Debian strech and older Ubuntu distros are not supported since they don't provide Qt 5.8 or newer.
Linus Jahn's avatar
Linus Jahn committed
68 69

```bash
70 71 72 73
sudo apt install apt-transport-https git-core cmake build-essential zlib1g-dev \
  libgloox-dev libnotify-bin libqt5quick5 libqt5quickcontrols2-5 libqt5quickwidgets5 \
  libqt5qml5 libqt5gui5 libqt5core5a qtdeclarative5-dev qttools5-dev qt5-default \
  qtquickcontrols2-5-dev kirigami2-dev
Linus Jahn's avatar
Linus Jahn committed
74
```
75 76 77

#### Get the source code:

Linus Jahn's avatar
Linus Jahn committed
78 79 80
```bash
git clone https://github.com/kaidanim/kaidan
```
81

Linus Jahn's avatar
Linus Jahn committed
82
#### Compile it:
83 84 85 86 87 88 89 90 91

```bash
mkdir kaidan/build ; cd kaidan/build
cmake .. -DI18N=1
make -j$(nproc)
```

#### Now you can run Kaidan:

Linus Jahn's avatar
Linus Jahn committed
92 93 94
```bash
./kaidan
```
95 96

#### If you like it, install it by:
Linus Jahn's avatar
Linus Jahn committed
97

Linus Jahn's avatar
Linus Jahn committed
98 99 100
```bash
sudo make install
```
Linus Jahn's avatar
Linus Jahn committed
101

102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
### Compile Kaidan for Ubuntu Touch

This will fully automatically compile and build a click packge for Ubuntu Touch 16.04. Clickable and our
build script do the hard work for you, so building is rather simple.

Build-dependencies:
 * [Clickable](https://github.com/bhdouglass/clickable)
 * [Docker](https://www.docker.com/)
 * Git

#### Set up clickable docker container

After you've installed the dependencies, you need to set up the Ubuntu Touch SDK docker container.

```bash
clickable setup-docker
```

#### Clone Kaidan and start build

Now, you can clone our Kaidan repository using git and start building kaidan using clickable.

```bash
git clone https://github.com/kaidanim/kaidan
cd kaidan
clickable clean build click-build
```

The built click package will be located at `bin/ubuntu-touch/`.

132 133 134 135
----

![GPLv3](https://www.gnu.org/graphics/gplv3-127x51.png)
![CC BY-SA 4.0](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)