40 lines
1.7 KiB
Bash
Executable File
40 lines
1.7 KiB
Bash
Executable File
#!/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
|