Build - dino/dino GitHub Wiki

Dependency package names

Debian / Ubuntu

sudo apt install meson ninja-build valac gettext libgee-0.8-dev libsqlite3-dev libgtk-4-dev libadwaita-1-0 libgpgme-dev libsoup2.4-dev libgcrypt20-dev libqrencode-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libwebrtc-audio-processing-dev libsrtp2-dev libnice-dev glib-networking gstreamer1.0-plugins-good libomemo-c-dev libadwaita-1-dev

Fedora

sudo dnf install meson gcc-c++ gpgme-devel libnotify-devel libgcrypt-devel pkgconfig vala libomemo-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(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 meson 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(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 libomemo-c-devel

Arch Linux

sudo pacman -S meson vala ninja glib2 glib-networking gtk4 libadwaita gpgme libgee>=0.10 libgcrypt libsoup sqlite qrencode gstreamer gst-plugins-base gst-plugins-good webrtc-audio-processing libnice libsrtp libomemo-c

Dependencies

Basics

  • C compiler
  • Adwaita
  • Meson
  • Emoji font (recommend)
  • gettext
  • GLib (≥ 2.38)
  • GTK (≥ 4)
  • ICU
  • libgee-0.8 (≥ 0.10)
  • 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)
  • libomemo-c (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:

Meson

  • meson setup build
  • meson compile -C build
  • sudo meson install -C build --no-rebuild
  • sudo ldconfig

If you want to enable a certain plugin you can use -Dpluginname=enabled in the setup command:

  • -Dplugin-notification-sound=enabled
  • -Dplugin-rtp-h264=enabled
  • -Dplugin-rtp-vaapi=enabled
  • -Dplugin-rtp-vp9=enabled
  • -Dplugin-rtp-msdk=enabled