#!/bin/bash GIT_URL="https://github.com/dino/dino.git" MASTER_DIR="dino" BUILD_DIR="build" if [[ -z "${1}" ]];then echo "Please specify how many threads you want the build to use" echo "Example: ${0} 4" echo "The above example will use 4 threads" exit 0 fi echo "getting dependencies..." if [[ -f /usr/bin/apt ]];then sudo apt install meson ninja-build valac gettext libgee-0.8-dev libsqlite3-dev libgtk-4-dev libadwaita-1-dev 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 libcanberra-dev elif [[ -f /usr/bin/dnf ]];then sudo dnf install meson gcc-c++ vala gpgme-devel gtk4-devel libadwaita-devel libnotify-devel libgcrypt-devel libomemo-c-devel libgee-devel libsoup-devel sqlite-devel qrencode-devel gstreamer1-devel gstreamer1-plugins-base-devel libnice-devel libsrtp-devel webrtc-audio-processing-devel elif [[ -f /usr/bin/pacman ]];then sudo pacman -S --needed meson vala ninja glib2 glib-networking gtk4 libadwaita gpgme libgee libgcrypt libsoup sqlite qrencode gstreamer gst-plugins-base gst-plugins-good webrtc-audio-processing libnice libsrtp libomemo-c else echo "Package manager not detected" fi if [[ ! -d "${MASTER_DIR}" ]];then git clone ${GIT_URL} cd ${MASTER_DIR} meson setup ${BUILD_DIR} meson compile -C ${BUILD_DIR} -j ${1} if [[ ! -f "${BUILD_DIR}/main/dino" ]];then echo "The build failed, since ${BUILD_DIR}/main/dino is missing" exit 1 else echo "You can now run the binary located in $(pwd)/${BUILD_DIR}/main" fi else echo "${MASTER_DIR} directory exists already" fi