dino/doc/BUILD.md

70 lines
3.0 KiB
Markdown
Raw Permalink Normal View History

# Dependency package names
### Debian / Ubuntu
```
sudo apt install cmake ninja-build valac gettext libgee-0.8-dev libsqlite3-dev libgtk-3-dev libgpgme-dev libsoup2.4-dev libgcrypt20-dev libqrencode-dev libgspell-1-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libwebrtc-audio-processing-dev libsrtp2-dev libnice-dev glib-networking gstreamer1.0-plugins-good gstreamer1.0-gtk3 libsignal-protocol-c-dev
```
### Fedora
```
sudo dnf install cmake gcc-c++ gpgme-devel libnotify-devel libgcrypt-devel pkgconfig vala libsignal-protocol-c-devel "pkgconfig(gee-0.8)" "pkgconfig(gio-2.0)" "pkgconfig(glib-2.0)" "pkgconfig(gthread-2.0)" "pkgconfig(gtk+-3.0)" "pkgconfig(libsoup-2.4)" "pkgconfig(sqlite3)" "pkgconfig(libqrencode)" "pkgconfig(gspell-1)" "pkgconfig(gstreamer-1.0)" "pkgconfig(gstreamer-app-1.0)" "pkgconfig(gstreamer-audio-1.0)" "pkgconfig(gstreamer-rtp-1.0)" "pkgconfig(gstreamer-video-1.0)" "pkgconfig(nice)" "pkgconfig(libsrtp2)" "pkgconfig(webrtc-audio-processing)"
```
### OpenSUSE Tumbleweed
```
sudo zypper install cmake gcc-c++ gpgme-devel libnotify-devel libgcrypt-devel pkgconfig vala "pkgconfig(gee-0.8)" "pkgconfig(gio-2.0)" "pkgconfig(glib-2.0)" "pkgconfig(gthread-2.0)" "pkgconfig(gtk+-3.0)" "pkgconfig(libsoup-2.4)" "pkgconfig(sqlite3)" "pkgconfig(libqrencode)" "pkgconfig(gspell-1)" "pkgconfig(gstreamer-1.0)" "pkgconfig(gstreamer-app-1.0)" "pkgconfig(gstreamer-audio-1.0)" "pkgconfig(gstreamer-rtp-1.0)" "pkgconfig(gstreamer-video-1.0)" "pkgconfig(nice)" "pkgconfig(libsrtp2)" "pkgconfig(webrtc-audio-processing)" openssl-devel libsignal-protocol-c-devel
```
### Arch Linux
```
sudo pacman -S cmake vala ninja glib2 glib-networking gtk3 gpgme libgee>=0.10 libgcrypt libsoup sqlite qrencode gspell gstreamer gst-plugins-base gst-plugins-good gst-plugin-gtk webrtc-audio-processing libnice libsrtp libsignal-protocol-c
```
### Alpine Linux
```
sudo apk add git make cmake gcc g++ vala libgee-dev sqlite-dev gst-plugins-good gtk4.0-dev libadwaita-dev libgcrypt-dev libsrtp-dev libsoup-dev libnice-dev musl-utils libqrencode-dev libsignal-protocol-c-dev gpgme-dev gstreamer-dev gst-plugins-base-dev
```
# libsignal-protocol-c
If build complains about missing or incompatible libsignal-protocol-c and it is not provided by your distribution, you can fetch and build it in tree by using `./configure --with-libsignal-in-tree`.
# Dependencies
Basics
* C compiler
* CMake
* Emoji font (recommend)
* gettext
* GLib (≥ 2.38)
* GTK (≥ 3.22)
* libgee-0.8 (≥ 0.10)
* libgspell
* libqrencode3 (For the OMEMO plugin)
* ninja(-build) (recommend)
* SQLite3 (≥ 3.24)
* valac (≥ 0.34)
Encryption
* GPGME (For the OpenPGP plugin)
* libgcrypt (For the OMEMO plugin)
* libsignal-protocol-c (≥ 2.3.2, for the OMEMO plugin)
* libsrtp2 (For calls)
Connection establishment
* glib-networking
* libnice (≥ 0.1.15)
* libsoup (For the HTTP files plugin)
Audio/video processing
* GStreamer
* webrtc-audio-processing
***
### Basic instructions:
* `./configure`
* `make`
* `sudo make install`
* `sudo ldconfig`