From d1f04bf33ed4e2b6f17bdc32784aa23c6dfd6a20 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Fri, 29 Sep 2023 10:53:41 +0200 Subject: Import wiki documentation from upstream Imported from: commit 2484d45a8abcb55e900de8538de6ec646992d682 (HEAD) Author: Marvin W Date: Fri Aug 19 14:41:11 2022 +0200 Destroyed _Footer (markdown) --- doc/BUILD.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 doc/BUILD.md (limited to 'doc/BUILD.md') 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` -- cgit v1.2.3