mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
refactor(boostrap.sh): add line to locallib.conf only if doesn't exist
Didn't actually test.
This commit is contained in:
parent
00ac9ba606
commit
099bb439ce
199
simple_make.sh
199
simple_make.sh
|
@ -1,48 +1,157 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if which apt-get; then
|
||||
sudo apt-get install \
|
||||
git build-essential qt5-qmake qt5-default qttools5-dev-tools \
|
||||
libqt5opengl5-dev libqt5svg5-dev libopenal-dev libavdevice-dev \
|
||||
libxss-dev qrencode libqrencode-dev libtool autotools-dev \
|
||||
automake checkinstall check libopus-dev libvpx-dev libsodium-dev \
|
||||
libglib2.0-dev libgdk-pixbuf2.0-dev libgtk2.0-dev \
|
||||
libsqlcipher-dev
|
||||
elif which pacman; then
|
||||
sudo pacman -S --needed \
|
||||
git base-devel qt5 openal libxss qrencode opus libvpx libsodium
|
||||
elif which dnf; then
|
||||
sudo dnf group install \
|
||||
"Development Tools" \
|
||||
"C Development Tools and Libraries"
|
||||
# pure Fedora doesn't have what it takes to compile qTox (ffmpeg)
|
||||
sudo dnf install \
|
||||
http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
|
||||
sudo dnf install \
|
||||
git qt-devel qt-doc qt-creator qt5-qtsvg qt5-qtsvg-devel \
|
||||
openal-soft-devel qt5-qttools-devel libXScrnSaver-devel \
|
||||
qrencode-devel opus-devel libvpx-devel glib2-devel gdk-pixbuf2-devel \
|
||||
gtk2-devel libsodium-devel ffmpeg-devel sqlite sqlite-devel libtool \
|
||||
openssl-devel
|
||||
# Fedora by default doesn't include libs in /usr/local/lib so add it
|
||||
echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf
|
||||
elif which zypper; then
|
||||
sudo zypper in \
|
||||
git patterns-openSUSE-devel_basis libqt5-qtbase-common-devel \
|
||||
libqt5-qtsvg-devel libqt5-linguist libQt5Network-devel \
|
||||
libQt5OpenGL-devel libQt5Concurrent-devel libQt5Xml-devel \
|
||||
libQt5Sql-devel openal-soft-devel qrencode-devel \
|
||||
libXScrnSaver-devel libQt5Sql5-sqlite libffmpeg-devel \
|
||||
libsodium-devel libvpx-devel libopus-devel \
|
||||
patterns-openSUSE-devel_basis sqlcipher-devel
|
||||
else
|
||||
echo "Unknown package manager, attempting to compile anyways"
|
||||
fi
|
||||
set -eu -o pipefail
|
||||
|
||||
./bootstrap.sh
|
||||
if [ -e /etc/redhat-release -o -e /etc/zypp ]; then
|
||||
qmake-qt5
|
||||
else
|
||||
qmake
|
||||
fi
|
||||
make -j$(nproc)
|
||||
apt_install() {
|
||||
local apt_packages=(
|
||||
automake
|
||||
autotools-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
|
||||
libtool
|
||||
libvpx-dev
|
||||
libxss-dev
|
||||
qrencode
|
||||
qt5-default
|
||||
qt5-qmake
|
||||
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)
|
||||
local fedora_version=$(rpm -E %fedora)
|
||||
local dnf_rpmfusion_package=(
|
||||
http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$fedora_version.noarch.rpm
|
||||
)
|
||||
sudo dnf install "$dnf_rpmfusion_package"
|
||||
|
||||
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
|
||||
opus-devel
|
||||
qrencode-devel
|
||||
qt5-qtsvg
|
||||
qt5-qtsvg-devel
|
||||
qt5-qttools-devel
|
||||
qt-creator
|
||||
qt-devel
|
||||
qt-doc
|
||||
sqlite
|
||||
sqlite-devel
|
||||
)
|
||||
sudo dnf install "${dnf_packages[@]}"
|
||||
}
|
||||
|
||||
# Fedora by default doesn't include libs in /usr/local/lib so add it
|
||||
fedora_locallib() {
|
||||
local llib_file="/etc/ld.so.conf.d/locallib.conf"
|
||||
local llib_line="/usr/local/lib/"
|
||||
|
||||
# check whether needed line already exists
|
||||
is_locallib() {
|
||||
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
Block a user