1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
#!/usr/bin/env bash
set -e
NCPUS=$(getconf _NPROCESSORS_ONLN)
QT_INSTALL_URL="https://download.qt.io/official_releases/qt/5.10/5.10.1/qt-opensource-linux-x64-5.10.1.run"
FRAMEWORK_VERSION="5.45"
CMAKE_FRAMEWORKS_URL="https://download.kde.org/stable/frameworks/${FRAMEWORK_VERSION}"
MODULE_VERSION="${FRAMEWORK_VERSION}.0"
QTDIR="/root/Qt/5.10.1/gcc_64"
trap "rm -rf *${MODULE_VERSION} *.tar.xz phonon* qt-installer* setup.sh" EXIT 1 2
# Install Qt
cd /root
wget $QT_INSTALL_URL -O qt-installer
chmod u+x qt-installer
./qt-installer --script qt-installer-noninteractive.qs --platform minimal -v || :
echo "export QTDIR=$QTDIR" > /root/env.sh
NEEDED_MODULES="ki18n
kcoreaddons
kconfig
kwindowsystem
kauth
kcodecs
kguiaddons
kwidgetsaddons
kconfigwidgets
kdbusaddons
karchive
kitemviews
kiconthemes
knotifications
kcrash
kservice
kwallet
solid
sonnet
kcompletion
ktextwidgets
attica
kglobalaccel
kxmlgui
kbookmarks
kjobwidgets
kio"
moduleBuild() {
mkdir build && cd build
cmake -DBUILD_TESTING=OFF -DBUILD_QCH=OFF -DCMAKE_PREFIX_PATH=$QTDIR/lib/cmake -DCMAKE_INSTALL_PREFIX=$QTDIR -DCMAKE_INSTALL_LIBDIR=lib ..
make -j${NCPUS}
make install
}
# Install ECM
wget "${CMAKE_FRAMEWORKS_URL}/extra-cmake-modules-${MODULE_VERSION}.tar.xz" -O extra-cmake-modules.tar.xz
tar xf extra-cmake-modules.tar.xz
pushd extra-cmake-modules-${MODULE_VERSION}
moduleBuild
popd
# Install PHONON
wget https://download.kde.org/stable/phonon/4.10.1/phonon-4.10.1.tar.xz -O phonon.tar.xz
tar xf phonon.tar.xz
pushd phonon-4.10.1
mkdir build && cd build
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=$QTDIR \
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
-DPLUGIN_INSTALL_DIR:PATH=$QTDIR/plugins \
-DPHONON_BUILD_PHONON4QT5=ON -DCMAKE_PREFIX_PATH=$QTDIR ..
make -j${NCPUS}
make install
popd
# Install RQUIRED MODULES
for MODULE_NAME in ${NEEDED_MODULES}; do
wget "${CMAKE_FRAMEWORKS_URL}/${MODULE_NAME}-${MODULE_VERSION}.tar.xz" -O ${MODULE_NAME}.tar.xz
tar xf ${MODULE_NAME}.tar.xz
pushd ${MODULE_NAME}-${MODULE_VERSION}
moduleBuild
popd
done
pushd $QTDIR/plugins/kf5
chrpath --replace '$ORIGIN/../../lib' *.so
chrpath --replace '$ORIGIN/../../../lib' */*.so
popd
exit
|