aboutsummaryrefslogtreecommitdiff
path: root/doc/BUILD.md
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-09-29 10:53:41 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-09-29 10:53:49 +0200
commitd1f04bf33ed4e2b6f17bdc32784aa23c6dfd6a20 (patch)
tree25dee3e79bcc98c5b4cc753eedb6e10c176f93c5 /doc/BUILD.md
parentf25bfb00969a7e09996da2d5500e6718f4cc0148 (diff)
downloaddino-d1f04bf33ed4e2b6f17bdc32784aa23c6dfd6a20.tar.gz
Import wiki documentation from upstream
Imported from: commit 2484d45a8abcb55e900de8538de6ec646992d682 (HEAD) Author: Marvin W <git@larma.de> Date: Fri Aug 19 14:41:11 2022 +0200 Destroyed _Footer (markdown)
Diffstat (limited to 'doc/BUILD.md')
-rw-r--r--doc/BUILD.md63
1 files changed, 63 insertions, 0 deletions
diff --git a/doc/BUILD.md b/doc/BUILD.md
new file mode 100644
index 00000000..51ac6bcd
--- /dev/null
+++ b/doc/BUILD.md
@@ -0,0 +1,63 @@
+# 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
+```
+
+# 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`