Browse Source

Merge pull request #3402

Zetok Zalbavar (1):
      refactor(boostrap.sh): add line to locallib.conf only if doesn't exist

sudden6 (1):
      chore(simple_make): Fix build for Fedora
pull/3413/head
sudden6 9 years ago
parent
commit
d94f5f3bd8
No known key found for this signature in database
GPG Key ID: 279509B499E032B9
  1. 4
      INSTALL.md
  2. 193
      simple_make.sh

4
INSTALL.md

@ -210,11 +210,11 @@ libsqlcipher-dev
**This means that you have to compile sqlcipher yourself, otherwise compiling **This means that you have to compile sqlcipher yourself, otherwise compiling
qTox will fail.** qTox will fail.**
```bash ```bash
sudo dnf groupinstall "Development Tools" sudo dnf groupinstall "Development Tools" "C Development Tools and Libraries"
# (can also use sudo dnf install @"Development Tools") # (can also use sudo dnf install @"Development Tools")
sudo dnf install qt-devel qt-doc qt-creator qt5-qtsvg qt5-qtsvg-devel \ sudo dnf install qt-devel qt-doc qt-creator qt5-qtsvg qt5-qtsvg-devel \
openal-soft-devel libXScrnSaver-devel qrencode-devel ffmpeg-devel \ openal-soft-devel libXScrnSaver-devel qrencode-devel ffmpeg-devel \
qtsingleapplication qt5-linguist gtk2-devel qtsingleapplication qt5-linguist gtk2-devel libtool openssl-devel
``` ```
**Go to [sqlcipher](#sqlcipher) section to compile it.** **Go to [sqlcipher](#sqlcipher) section to compile it.**

193
simple_make.sh

@ -1,44 +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
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 local dnf_packages=(
elif which zypper; then ffmpeg-devel
sudo zypper in \ gdk-pixbuf2-devel
git patterns-openSUSE-devel_basis libqt5-qtbase-common-devel \ git
libqt5-qtsvg-devel libqt5-linguist libQt5Network-devel \ glib2-devel
libQt5OpenGL-devel libQt5Concurrent-devel libQt5Xml-devel \ gtk2-devel
libQt5Sql-devel openal-soft-devel qrencode-devel \ libsodium-devel
libXScrnSaver-devel libQt5Sql5-sqlite libffmpeg-devel \ libtool
libsodium-devel libvpx-devel libopus-devel \ libvpx-devel
patterns-openSUSE-devel_basis sqlcipher-devel libXScrnSaver-devel
else openal-soft-devel
echo "Unknown package manager, attempting to compile anyways" openssl-devel
fi opus-devel
qrencode-devel
./bootstrap.sh qt5-qtsvg
if [ -e /etc/redhat-release -o -e /etc/zypp ]; then qt5-qtsvg-devel
qmake-qt5 qt5-qttools-devel
else qt-creator
qmake qt-devel
fi qt-doc
make -j$(nproc) 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…
Cancel
Save