#! /bin/bash # Qt5 QtWayland 5.15.12 # Source: https://github.com/qt/qtwayland/archive/refs/tags/v5.15.12-lts-lgpl.tar.gz # # $BUILD = Directory to temporarily install # $PKGS = Directory to store built packages # # Required: wayland qt5-qtbase qt5-qtdeclarative qt5-qtquickcontrols2 # Recommended: NONE # Optional: NONE # Per Alpine: # Make configure think we are running in a git directory # This makes it symlink the include files to the right directory mkdir .git # Check PATH to include /opt/qt5/bin but not /opt/qt6/bin (if Qt6 is installed) export PATH=/usr/bin:/opt/Xorg/bin:/opt/qt5/bin qmake read -p "Compile?" && make -j2 && sudo -SE make INSTALL_ROOT=$BUILD install && # Drop QMAKE_PRL_BUILD_DIR because reference the build dir find "$BUILD/opt/qt5/lib" -type f -name '*.prl' \ -exec sudo sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; # Run-path (rpath) for shared binaries are missing rpath's for /opt/qt5/lib # # For now use patchelf to patch in missing rpath: sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/bin/qtwaylandscanner sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/bin/qtwaylandscanner sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/lib/libQt5*.so.* sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/plugins/platforms/*.so sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/plugins/wayland-decoration-client/libbradient.so sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/plugins/wayland-graphics-integration-client/*.so sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/plugins/wayland-graphics-integration-server/*.so sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/plugins/wayland-shell-integration/*.so sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/qml/QtWayland/Compositor/*.so sudo -E patchelf --remove-rpath $BUILD/opt/qt5-5.15.10/qml/QtWayland/Compositor/TextureSharingExtension/*.so sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/lib/libQt5*.so.* sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/plugins/platforms/*.so sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/plugins/wayland-decoration-client/libbradient.so sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/plugins/wayland-graphics-integration-client/*.so sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/plugins/wayland-graphics-integration-server/*.so sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/plugins/wayland-shell-integration/*.so sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/qml/QtWayland/Compositor/*.so sudo -E patchelf --set-rpath /opt/qt5/lib:/opt/openssl/lib:/opt/Xorg/lib \ $BUILD/opt/qt5-5.15.10/qml/QtWayland/Compositor/TextureSharingExtension/*.so cd $BUILD && sudo -S mkdir -v ${BUILD}/install && cat > /tmp/slack-desc << "EOF" # HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' # on the right side marks the last column you can put a character in. You must # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':' except on otherwise blank lines. |-----handy-ruler------------------------------------------------------| qt5-qtwayland: Qt5 - QtWayland qt5-qtwayland: qt5-qtwayland: A cross-platform C++ application framework. Qt's primary feature qt5-qtwayland: is its rich set of widgets that provide standard GUI functionality. qt5-qtwayland: qt5-qtwayland: http://qt-project.org qt5-qtwayland: EOF sudo -S mv -v /tmp/slack-desc install/ && sudo -S makepkg -l y -c n $PKGS/qt5-qtwayland-5.15.12-$PSUFFIX && sudo -S rm -rf ${BUILD}/*