File indexing completed on 2024-05-19 04:58:30

0001 #!/usr/bin/env bash
0002 set -e
0003 
0004 NCPUS=$(getconf _NPROCESSORS_ONLN)
0005 
0006 QT_INSTALL_URL="https://download.qt.io/official_releases/qt/5.10/5.10.1/qt-opensource-linux-x64-5.10.1.run"
0007 
0008 FRAMEWORK_VERSION="5.45"
0009 CMAKE_FRAMEWORKS_URL="https://download.kde.org/stable/frameworks/${FRAMEWORK_VERSION}"
0010 MODULE_VERSION="${FRAMEWORK_VERSION}.0"
0011 
0012 QTDIR="/root/Qt/5.10.1/gcc_64"
0013 
0014 trap "rm -rf *${MODULE_VERSION} *.tar.xz phonon* qt-installer* setup.sh" EXIT 1 2
0015 
0016 # Install Qt
0017 cd /root
0018 wget $QT_INSTALL_URL -O qt-installer
0019 chmod u+x qt-installer
0020 ./qt-installer --script qt-installer-noninteractive.qs --platform minimal -v || :
0021 
0022 echo "export QTDIR=$QTDIR" > /root/env.sh
0023 
0024 NEEDED_MODULES="ki18n
0025 kcoreaddons
0026 kconfig
0027 kwindowsystem
0028 kauth
0029 kcodecs
0030 kguiaddons
0031 kwidgetsaddons
0032 kconfigwidgets
0033 kdbusaddons
0034 karchive
0035 kitemviews
0036 kiconthemes
0037 knotifications
0038 kcrash
0039 kservice
0040 kwallet
0041 solid
0042 sonnet
0043 kcompletion
0044 ktextwidgets
0045 attica
0046 kglobalaccel
0047 kxmlgui
0048 kbookmarks
0049 kjobwidgets
0050 kio"
0051 
0052 moduleBuild() {
0053     mkdir build && cd build
0054     cmake -DBUILD_TESTING=OFF -DBUILD_QCH=OFF -DCMAKE_PREFIX_PATH=$QTDIR/lib/cmake -DCMAKE_INSTALL_PREFIX=$QTDIR -DCMAKE_INSTALL_LIBDIR=lib ..
0055     make -j${NCPUS}
0056     make install
0057 }
0058 
0059 # Install ECM
0060 wget "${CMAKE_FRAMEWORKS_URL}/extra-cmake-modules-${MODULE_VERSION}.tar.xz" -O extra-cmake-modules.tar.xz
0061 tar xf extra-cmake-modules.tar.xz
0062 pushd extra-cmake-modules-${MODULE_VERSION}
0063 moduleBuild
0064 popd
0065 
0066 # Install PHONON
0067 wget https://download.kde.org/stable/phonon/4.10.1/phonon-4.10.1.tar.xz -O phonon.tar.xz
0068 tar xf phonon.tar.xz
0069 pushd phonon-4.10.1
0070 mkdir build && cd build
0071 cmake \
0072     -DCMAKE_INSTALL_PREFIX:PATH=$QTDIR \
0073     -DCMAKE_INSTALL_LIBDIR:PATH=lib \
0074     -DPLUGIN_INSTALL_DIR:PATH=$QTDIR/plugins \
0075     -DPHONON_BUILD_PHONON4QT5=ON -DCMAKE_PREFIX_PATH=$QTDIR ..
0076 make -j${NCPUS}
0077 make install
0078 popd
0079 
0080 # Install RQUIRED MODULES
0081 for MODULE_NAME in ${NEEDED_MODULES}; do
0082     wget "${CMAKE_FRAMEWORKS_URL}/${MODULE_NAME}-${MODULE_VERSION}.tar.xz" -O ${MODULE_NAME}.tar.xz
0083     tar xf ${MODULE_NAME}.tar.xz
0084     pushd ${MODULE_NAME}-${MODULE_VERSION}
0085     moduleBuild
0086     popd
0087 done
0088 
0089 pushd $QTDIR/plugins/kf5
0090 chrpath --replace '$ORIGIN/../../lib' *.so
0091 chrpath --replace '$ORIGIN/../../../lib' */*.so
0092 popd
0093 exit