mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-25 20:48:52 +03:00
Update build instructions
This commit is contained in:
parent
197b2dac74
commit
9884e02eb8
1 changed files with 32 additions and 18 deletions
50
README.md
50
README.md
|
@ -14,6 +14,7 @@ feels more like a mainstream chat app ([Riot], Telegram etc) and less like an IR
|
||||||
Most of the features you would expect from a chat application are missing right now
|
Most of the features you would expect from a chat application are missing right now
|
||||||
but we are getting close to a more feature complete client.
|
but we are getting close to a more feature complete client.
|
||||||
Specifically there is support for:
|
Specifically there is support for:
|
||||||
|
- E2EE encryption.
|
||||||
- User registration.
|
- User registration.
|
||||||
- Creating, joining & leaving rooms.
|
- Creating, joining & leaving rooms.
|
||||||
- Sending & receiving invites.
|
- Sending & receiving invites.
|
||||||
|
@ -29,20 +30,15 @@ Specifically there is support for:
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Nightly releases
|
### Releases
|
||||||
- Linux [AppImage](https://github.com/mujx/nheko/releases/download/nightly/nheko-x86_64.AppImage)
|
|
||||||
- Windows [x64 installer](https://github.com/mujx/nheko/releases/download/nightly/nheko-installer.exe)
|
You can find releases for Linux (AppImage), macOS (disk image) & Windows (x64 installer) on the [Bintray repo](https://bintray.com/mujx/matrix/nheko).
|
||||||
- macOS [disk image](https://github.com/mujx/nheko/releases/download/nightly/nheko.dmg)
|
|
||||||
|
|
||||||
### Repositories
|
### Repositories
|
||||||
|
|
||||||
#### Arch Linux
|
#### Arch Linux
|
||||||
```bash
|
```bash
|
||||||
pacaur -S nheko-git
|
pacaur -S nheko # nheko-git
|
||||||
|
|
||||||
# or
|
|
||||||
|
|
||||||
pacaur -S nheko
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Fedora
|
#### Fedora
|
||||||
|
@ -69,7 +65,13 @@ sudo apk add nheko
|
||||||
- Qt5 (5.7 or greater). Qt 5.7 adds support for color font rendering with
|
- Qt5 (5.7 or greater). Qt 5.7 adds support for color font rendering with
|
||||||
Freetype, which is essential to properly support emoji.
|
Freetype, which is essential to properly support emoji.
|
||||||
- CMake 3.1 or greater.
|
- CMake 3.1 or greater.
|
||||||
- [LMDB](https://symas.com/lightning-memory-mapped-database/).
|
- [mtxclient](https://github.com/mujx/mtxclient)
|
||||||
|
- [matrix-structs](https://github.com/mujx/matrix-structs)
|
||||||
|
- [LMDB](https://symas.com/lightning-memory-mapped-database/)
|
||||||
|
- Boost 1.66 or greater.
|
||||||
|
- [libolm](https://git.matrix.org/git/olm)
|
||||||
|
- [libsodium](https://github.com/jedisct1/libsodium)
|
||||||
|
- [spdlog](https://github.com/gabime/spdlog)
|
||||||
- A compiler that supports C++ 14:
|
- A compiler that supports C++ 14:
|
||||||
- Clang 5 (tested on Travis CI)
|
- Clang 5 (tested on Travis CI)
|
||||||
- GCC 7 (tested on Travis CI)
|
- GCC 7 (tested on Travis CI)
|
||||||
|
@ -89,7 +91,16 @@ Debian as the build host in an attempt to work around this [issue](https://githu
|
||||||
##### Arch Linux
|
##### Arch Linux
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo pacman -S qt5-base qt5-tools qt5-multimedia qt5-svg cmake gcc fontconfig lmdb
|
sudo pacman -S qt5-base \
|
||||||
|
qt5-tools \
|
||||||
|
qt5-multimedia \
|
||||||
|
qt5-svg \
|
||||||
|
cmake \
|
||||||
|
gcc \
|
||||||
|
fontconfig \
|
||||||
|
lmdb \
|
||||||
|
boost \
|
||||||
|
libsodium
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Gentoo Linux
|
##### Gentoo Linux
|
||||||
|
@ -105,28 +116,31 @@ sudo add-apt-repository ppa:beineri/opt-qt592-trusty
|
||||||
sudo add-apt-repository ppa:george-edison55/cmake-3.x
|
sudo add-apt-repository ppa:george-edison55/cmake-3.x
|
||||||
sudo add-apt-repository ppa:ubuntu-toolchain-r-test
|
sudo add-apt-repository ppa:ubuntu-toolchain-r-test
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y g++-7 qt59base qt59svg qt59tools qt59multimedia cmake liblmdb-dev
|
sudo apt-get install -y g++-7 qt59base qt59svg qt59tools qt59multimedia cmake liblmdb-dev libsodium-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
##### macOS (Xcode 8 or later)
|
##### macOS (Xcode 8 or later)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
brew update
|
brew update
|
||||||
brew install qt5 lmdb cmake llvm
|
brew install qt5 lmdb cmake llvm libsodium spdlog boost
|
||||||
```
|
```
|
||||||
|
|
||||||
### Building
|
### Building
|
||||||
|
|
||||||
Clone the repo and run
|
First we need to install the rest of the dependencies that are not available in our system
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make release
|
cmake -Hdeps -B.deps \
|
||||||
|
-DUSE_BUNDLED_BOOST=OFF # if we already have boost & spdlog installed.
|
||||||
|
-DUSE_BUNDLED_SPDLOG=OFF
|
||||||
|
cmake --build .deps
|
||||||
```
|
```
|
||||||
|
|
||||||
which invokes cmake and translates to
|
We can now build nheko by pointing it to the path that we installed the dependencies.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=.deps/usr
|
||||||
cmake --build build
|
cmake --build build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -143,7 +157,7 @@ You might need to pass `-DCMAKE_PREFIX_PATH` to cmake to point it at your qt5 in
|
||||||
e.g on macOS
|
e.g on macOS
|
||||||
|
|
||||||
```
|
```
|
||||||
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)
|
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)
|
||||||
cmake --build build
|
cmake --build build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue