mirror of https://github.com/qTox/qTox.git
1 changed files with 152 additions and 43 deletions
@ -1,48 +1,157 @@ |
|||||||
#!/usr/bin/env bash |
#!/usr/bin/env bash |
||||||
|
|
||||||
if which apt-get; then |
set -eu -o pipefail |
||||||
sudo apt-get install \ |
|
||||||
git build-essential qt5-qmake qt5-default qttools5-dev-tools \ |
apt_install() { |
||||||
libqt5opengl5-dev libqt5svg5-dev libopenal-dev libavdevice-dev \ |
local apt_packages=( |
||||||
libxss-dev qrencode libqrencode-dev libtool autotools-dev \ |
automake |
||||||
automake checkinstall check libopus-dev libvpx-dev libsodium-dev \ |
autotools-dev |
||||||
libglib2.0-dev libgdk-pixbuf2.0-dev libgtk2.0-dev \ |
check |
||||||
|
checkinstall |
||||||
|
git build-essential |
||||||
|
libavdevice-dev |
||||||
|
libgdk-pixbuf2.0-dev |
||||||
|
libglib2.0-dev |
||||||
|
libgtk2.0-dev |
||||||
|
libopenal-dev |
||||||
|
libopus-dev |
||||||
|
libqrencode-dev |
||||||
|
libqt5opengl5-dev |
||||||
|
libqt5svg5-dev |
||||||
|
libsodium-dev |
||||||
libsqlcipher-dev |
libsqlcipher-dev |
||||||
elif which pacman; then |
libtool |
||||||
sudo pacman -S --needed \ |
libvpx-dev |
||||||
git base-devel qt5 openal libxss qrencode opus libvpx libsodium |
libxss-dev |
||||||
elif which dnf; then |
qrencode |
||||||
sudo dnf group install \ |
qt5-default |
||||||
"Development Tools" \ |
qt5-qmake |
||||||
"C Development Tools and Libraries" |
qttools5-dev-tools |
||||||
|
) |
||||||
|
sudo apt-get install "${apt_packages[@]}" |
||||||
|
} |
||||||
|
|
||||||
|
pacman_install() { |
||||||
|
local pacman_packages=( |
||||||
|
base-devel |
||||||
|
git |
||||||
|
libsodium |
||||||
|
libvpx |
||||||
|
libxss |
||||||
|
openal |
||||||
|
opus |
||||||
|
qrencode |
||||||
|
qt5 |
||||||
|
) |
||||||
|
sudo pacman -S --needed "${pacman_packages[@]}" |
||||||
|
} |
||||||
|
|
||||||
|
dnf_install() { |
||||||
|
local dnf_group_packages=( |
||||||
|
'Development Tools' |
||||||
|
'C Development Tools and Libraries' |
||||||
|
) |
||||||
|
sudo dnf group install "${dnf_group_packages[@]}" |
||||||
|
|
||||||
# pure Fedora doesn't have what it takes to compile qTox (ffmpeg) |
# pure Fedora doesn't have what it takes to compile qTox (ffmpeg) |
||||||
sudo dnf install \ |
local fedora_version=$(rpm -E %fedora) |
||||||
http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm |
local dnf_rpmfusion_package=( |
||||||
sudo dnf install \ |
http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$fedora_version.noarch.rpm |
||||||
git qt-devel qt-doc qt-creator qt5-qtsvg qt5-qtsvg-devel \ |
) |
||||||
openal-soft-devel qt5-qttools-devel libXScrnSaver-devel \ |
sudo dnf install "$dnf_rpmfusion_package" |
||||||
qrencode-devel opus-devel libvpx-devel glib2-devel gdk-pixbuf2-devel \ |
|
||||||
gtk2-devel libsodium-devel ffmpeg-devel sqlite sqlite-devel libtool \ |
local dnf_packages=( |
||||||
|
ffmpeg-devel |
||||||
|
gdk-pixbuf2-devel |
||||||
|
git |
||||||
|
glib2-devel |
||||||
|
gtk2-devel |
||||||
|
libsodium-devel |
||||||
|
libtool |
||||||
|
libvpx-devel |
||||||
|
libXScrnSaver-devel |
||||||
|
openal-soft-devel |
||||||
openssl-devel |
openssl-devel |
||||||
# Fedora by default doesn't include libs in /usr/local/lib so add it |
opus-devel |
||||||
echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf |
qrencode-devel |
||||||
elif which zypper; then |
qt5-qtsvg |
||||||
sudo zypper in \ |
qt5-qtsvg-devel |
||||||
git patterns-openSUSE-devel_basis libqt5-qtbase-common-devel \ |
qt5-qttools-devel |
||||||
libqt5-qtsvg-devel libqt5-linguist libQt5Network-devel \ |
qt-creator |
||||||
libQt5OpenGL-devel libQt5Concurrent-devel libQt5Xml-devel \ |
qt-devel |
||||||
libQt5Sql-devel openal-soft-devel qrencode-devel \ |
qt-doc |
||||||
libXScrnSaver-devel libQt5Sql5-sqlite libffmpeg-devel \ |
sqlite |
||||||
libsodium-devel libvpx-devel libopus-devel \ |
sqlite-devel |
||||||
patterns-openSUSE-devel_basis sqlcipher-devel |
) |
||||||
else |
sudo dnf install "${dnf_packages[@]}" |
||||||
echo "Unknown package manager, attempting to compile anyways" |
} |
||||||
fi |
|
||||||
|
# Fedora by default doesn't include libs in /usr/local/lib so add it |
||||||
./bootstrap.sh |
fedora_locallib() { |
||||||
if [ -e /etc/redhat-release -o -e /etc/zypp ]; then |
local llib_file="/etc/ld.so.conf.d/locallib.conf" |
||||||
qmake-qt5 |
local llib_line="/usr/local/lib/" |
||||||
else |
|
||||||
qmake |
# check whether needed line already exists |
||||||
fi |
is_locallib() { |
||||||
make -j$(nproc) |
grep -q "^$llib_line\$" "$llib_file" |
||||||
|
} |
||||||
|
|
||||||
|
# proceed only if line doesn't exist |
||||||
|
is_locallib \ |
||||||
|
|| echo "$llib_line" \ |
||||||
|
| sudo tee -a "$llib_file" |
||||||
|
} |
||||||
|
|
||||||
|
zypper_install() { |
||||||
|
local zypper_packages=( |
||||||
|
git |
||||||
|
libffmpeg-devel |
||||||
|
libopus-devel |
||||||
|
libQt5Concurrent-devel |
||||||
|
libqt5-linguist |
||||||
|
libQt5Network-devel |
||||||
|
libQt5OpenGL-devel |
||||||
|
libqt5-qtbase-common-devel |
||||||
|
libqt5-qtsvg-devel |
||||||
|
libQt5Sql5-sqlite |
||||||
|
libQt5Sql-devel |
||||||
|
libQt5Xml-devel |
||||||
|
libsodium-devel |
||||||
|
libvpx-devel |
||||||
|
libXScrnSaver-devel |
||||||
|
openal-soft-devel |
||||||
|
patterns-openSUSE-devel_basis |
||||||
|
patterns-openSUSE-devel_basis |
||||||
|
qrencode-devel |
||||||
|
sqlcipher-devel |
||||||
|
) |
||||||
|
sudo zypper in "${zypper_packages[@]}" |
||||||
|
} |
||||||
|
|
||||||
|
main() { |
||||||
|
if which apt-get |
||||||
|
then |
||||||
|
apt_install |
||||||
|
elif which pacman |
||||||
|
then |
||||||
|
pacman_install |
||||||
|
elif which dnf |
||||||
|
then |
||||||
|
dnf_install |
||||||
|
fedora_locallib |
||||||
|
elif which zypper |
||||||
|
then |
||||||
|
zypper_install |
||||||
|
else |
||||||
|
echo "Unknown package manager, attempting to compile anyways" |
||||||
|
fi |
||||||
|
|
||||||
|
./bootstrap.sh |
||||||
|
if [ -e /etc/redhat-release -o -e /etc/zypp ]; then |
||||||
|
qmake-qt5 |
||||||
|
else |
||||||
|
qmake |
||||||
|
fi |
||||||
|
make -j$(nproc) |
||||||
|
} |
||||||
|
main |
||||||
|
Loading…
Reference in new issue