Skip to content

Instantly share code, notes, and snippets.

@Kakadu
Last active August 29, 2015 14:04
Show Gist options
  • Save Kakadu/7d1a144856d292d3e80e to your computer and use it in GitHub Desktop.
Save Kakadu/7d1a144856d292d3e80e to your computer and use it in GitHub Desktop.
Installing Qt5 on 12.04 with abandoning package dependencies.
#!/usr/bin/env bash
set -x -e
lsb_release -a
uname -a
UBUNTU_PREFIX=http://fr.archive.ubuntu.com/ubuntu/pool/main
PACKAGES="\
$UBUNTU_PREFIX/i/icu/libicu52_52.1-3_amd64.deb \
$UBUNTU_PREFIX/h/harfbuzz/libharfbuzz0b_0.9.27-1_amd64.deb \
$UBUNTU_PREFIX/g/graphite2/libgraphite2-3_1.2.4-1ubuntu1_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/qt5-qmake_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/qtbase5-dev_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/qtbase5-dev-tools_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/libqt5gui5_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/libqt5widgets5_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/libqt5core5a_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/libqt5dbus5_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/libqt5xml5_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtbase-opensource-src/libqt5network5_5.2.1+dfsg-1ubuntu14_amd64.deb \
$UBUNTU_PREFIX/q/qtdeclarative-opensource-src/qtdeclarative5-dev-tools_5.2.1-3ubuntu15_amd64.deb \
$UBUNTU_PREFIX/q/qtdeclarative-opensource-src/qtdeclarative5-dev_5.2.1-3ubuntu15_amd64.deb \
$UBUNTU_PREFIX/q/qtdeclarative-opensource-src/libqt5quick5_5.2.1-3ubuntu15_amd64.deb \
$UBUNTU_PREFIX/q/qtdeclarative-opensource-src/libqt5quickparticles5_5.2.1-3ubuntu15_amd64.deb \
$UBUNTU_PREFIX/q/qtdeclarative-opensource-src/libqt5qml5_5.2.1-3ubuntu15_amd64.deb \
$UBUNTU_PREFIX/q/qtdeclarative-opensource-src/libqt5quicktest5_5.2.1-3ubuntu15_amd64.deb \
$UBUNTU_PREFIX/q/qtdeclarative-opensource-src/libqt5quickparticles5_5.2.1-3ubuntu15_amd64.deb \
"
# Maybe get libxcb-xkb1 from trusty
# we don't install qtchooser, it says:
#dpkg: regarding qtchooser_39-g4717841-3_amd64.deb containing qtchooser:
# qtchooser breaks qdbus (<= 4:4.8.4+dfsg-1~)
# qdbus (version 4:4.8.1-0ubuntu4.6) is present and installed.
#dpkg: error processing qtchooser_39-g4717841-3_amd64.deb (--install):
# installing qtchooser would break qdbus, and
# deconfiguration is not permitted (--auto-deconfigure might help)
sudo apt-get install libicu48 libxcb-icccm4 libudev0 libgles2-mesa libxcb-image0 libxcb-render-util0 libxcb-sync0 libxcb-xfixes0 libxkbcommon0
rm -fr *.deb
wget $PACKAGES &&
sudo dpkg -i --force-depends *.deb &&
echo "Checking for pkg-config" &&
pkg-config --cflags Qt5Quick &&
pkg-config --cflags Qt5Widgets
if [ $? != 0 ]; then
exit 1
fi
function compile_test() {
# tries to build test C++ application with Qt linking
echo "Compiling test C++&Qt application..."
echo "#include <QtQuick/qquickview.h>
int main() {
QQuickView viewer;
viewer.show();
return 0;
}" > testQtDeclarative.cpp
g++ -fPIC `pkg-config --cflags Qt5Quick` testQtDeclarative.cpp `pkg-config --libs Qt5Quick`
}
compile_test
if [ $? != 0 ]; then
echo "Building test C++&Qt application failed."
exit 1
else
echo "Test C++&Qt application is built successfully"
fi
echo Done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment