# Template file for 'qt5' pkgname=qt5 version=5.7.1 revision=4 wrksrc="qt-everywhere-opensource-src-${version}" homepage="http://qt.io/" short_desc="A cross-platform application and UI framework (QT5)" maintainer="Juan RP " license="GPL-3, LGPL-2.1" distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/single/qt-everywhere-opensource-src-${version}.tar.xz" checksum=46ebca977deb629c5e69c2545bc5fe13f7e40012e5e2e451695c583bd33502fa if [ "${XBPS_MACHINE%%-musl}" = i686 ]; then nodebug=yes # prevent OOM fi hostmakedepends="flex ruby gperf git python perl pkg-config re2c" makedepends=" libressl-devel libpng-devel MesaLib-devel libXrender-devel unixodbc-devel fontconfig-devel libXi-devel libXv-devel libXinerama-devel libXrandr-devel libXcursor-devel libXScrnSaver-devel dbus-devel glib-devel icu-devel cups-devel libjpeg-turbo-devel sqlite-devel alsa-lib-devel tiff-devel libmng-devel libsrtp-devel snappy-devel minizip-devel libxshmfence-devel libSM-devel xcb-util-keysyms-devel xcb-util-image-devel xcb-util-renderutil-devel xcb-util-wm-devel libXcomposite-devel libwebp-devel libxkbcommon-devel harfbuzz-devel gtk+-devel mtdev-devel freetds-devel libmysqlclient-devel postgresql-libs-devel pulseaudio-devel libbluetooth-devel gst-plugins-base1-devel libxslt-devel pciutils-devel nss-devel libcap-devel libinput-devel libproxy-devel libxcb-devel libxkbcommon-devel tslib-devel wayland-devel" depends="qtchooser" replaces="qt5-doc<5.6.0 qt5-quick1<5.6.0 qt5-quick1-devel<5.6.0 qt5-webkit<5.6.0 qt5-webkit-devel<5.6.0 qt5-enginio<5.7.1 qt5-enginio-devel<5.7.1 qt5-plugin-gtk<5.7.1" # Work around SSLv3_{client,server}_method missing in libressl-2.3.3 CFLAGS="-DOPENSSL_NO_SSL3_METHOD" CXXFLAGS="-DOPENSSL_NO_SSL3_METHOD" # Required for musl libc LDFLAGS="-pthread" case "$XBPS_TARGET_MACHINE" in armv[5-6]*) ;; # Can't cross compile libvpx *) makedepends+=" libvpx-devel" esac if [ -n "$CROSS_BUILD" ]; then # Need some devel packages in the host to build qmake, moc, uic, rcc # wayland-devel contains /usr/bin/wayland-scanner hostmakedepends+=" zlib-devel icu-devel wayland-devel" fi _cleanup_wrksrc_leak() { if [ -d "${PKGDESTDIR}/usr/lib/cmake" ]; then # Replace ${wrksrc} in cmake files sed -i ${PKGDESTDIR}/usr/lib/cmake/*/*.cmake \ -e "s;${wrksrc}/qtbase/host;/usr/lib/qt5;g" \ -e "s;devices/void-${XBPS_CROSS_TRIPLET}-g++;linux-g++;g" fi if [ -d "${PKGDESTDIR}/usr/lib/pkgconfig" ]; then # Replace ${wrksrc} in pkgconfig files sed -i ${PKGDESTDIR}/usr/lib/pkgconfig/*.pc \ -e "s;${wrksrc}/qtbase/host;/usr/lib/qt5;g" \ -e "s;devices/void-${XBPS_CROSS_TRIPLET}-g++;linux-g++;g" fi # Remove QMAKE_PRL_BUILD_DIR from linker hint files find ${PKGDESTDIR} -iname "*.prl" -exec sed -i "{}" \ -e "/^QMAKE_PRL_BUILD_DIR/d" \ -e "s;-L${wrksrc}/qtbase/lib;/usr/lib;g" \; # Replace ${wrksrc} in project include files find ${PKGDESTDIR} -iname "*.pri" -exec sed -i "{}" \ -e "s;${wrksrc}/qtbase;/usr/lib/qt5;g" \; } _move_examples() { local dest=${XBPS_DESTDIR}/${XBPS_CROSS_TRIPLET}/qt5-examples-${version} if [ -d ${PKGDESTDIR}/usr/share/qt5/examples ]; then # Copy examples to /destdir/qt5-examples-${version} subpackage mkdir -p ${dest}/usr/share/qt5 cp -pR ${PKGDESTDIR}/usr/share/qt5/examples ${dest}/usr/share/qt5 rm -rf ${PKGDESTDIR}/usr/share/qt5/examples # The help files (*.qch) are in the qt5-doc package find ${dest}/usr/share/qt5/examples -iname "*.qch" -delete fi } _install_subpkg() { local module=$1 f base cd ${wrksrc}/${module} make INSTALL_ROOT=${PKGDESTDIR} install rm -rf ${PKGDESTDIR}/builddir rm -rf ${PKGDESTDIR}/usr/include rm -rf ${PKGDESTDIR}/usr/lib/cmake rm -rf ${PKGDESTDIR}/usr/lib/qt5/mkspecs rm -rf ${PKGDESTDIR}/usr/lib/pkgconfig rm -f ${PKGDESTDIR}/usr/lib/*.so rm -f ${PKGDESTDIR}/usr/lib/*.prl if [ -d ${PKGDESTDIR}/usr/lib/qt5/bin ]; then vmkdir usr/bin for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do base=$(basename $f) ln -sf /usr/lib/qt5/bin/${base} ${PKGDESTDIR}/usr/bin/${base}-qt5 done fi _move_examples } _install_devel() { local module=$1 cd ${wrksrc}/${module} make INSTALL_ROOT=${PKGDESTDIR} install rm -rf ${PKGDESTDIR}/builddir rm -rf ${PKGDESTDIR}/usr/share rm -rf ${PKGDESTDIR}/usr/lib/qt5/bin rm -rf ${PKGDESTDIR}/usr/lib/qt5/qml rm -rf ${PKGDESTDIR}/usr/lib/qt5/libexec rm -rf ${PKGDESTDIR}/usr/lib/qt5/plugins rm -f ${PKGDESTDIR}/usr/lib/*.so.* _cleanup_wrksrc_leak } _create_config() { local specs=${wrksrc}/qtbase/mkspecs/devices device="$1" qmake_conf mkdir -p ${specs}/${device} echo "#" > ${specs}/${device}/qmake.conf echo "# qmake configuration for building with $XBPS_TARGET_MACHINE" >> ${specs}/${device}/qmake.conf echo "#" >> ${specs}/${device}/qmake.conf echo >> ${specs}/${device}/qmake.conf echo "include(../common/linux_device_pre.conf)" >> ${specs}/${device}/qmake.conf echo >> ${specs}/${device}/qmake.conf # Fake distro name to tell we want control echo "DISTRO = arch" >> ${specs}/${device}/qmake.conf # Hard float on armv6, armv7, not on armv5tel case "$XBPS_TARGET_MACHINE" in armv6*|armv7*) echo "DISTRO_OPTS += hard-float" >> ${specs}/${device}/qmake.conf ;; esac echo "QMAKE_CC = ${CC}" >> ${specs}/${device}/qmake.conf echo "QMAKE_CXX = ${CXX}" >> ${specs}/${device}/qmake.conf echo "QMAKE_LINK = ${CXX}" >> ${specs}/${device}/qmake.conf echo "QMAKE_LINK_SHLIB = ${CXX}" >> ${specs}/${device}/qmake.conf echo "QMAKE_LFLAGS = ${LDFLAGS}" >> ${specs}/${device}/qmake.conf echo "QMAKE_CFLAGS = ${CFLAGS}" >> ${specs}/${device}/qmake.conf echo "QMAKE_CXXFLAGS = ${CXXFLAGS}" >> ${specs}/${device}/qmake.conf # FIXME: is this required? echo "QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2" >> ${specs}/${device}/qmake.conf echo >> ${specs}/${device}/qmake.conf case "$XBPS_TARGET_MACHINE" in arm*) echo "include(../common/linux_arm_device_post.conf)" >> ${specs}/${device}/qmake.conf ;; *) echo "include(../common/linux_device_post.conf)" >> ${specs}/${device}/qmake.conf ;; esac echo "load(qt_config)" >> ${specs}/${device}/qmake.conf echo '#include "../../linux-g++/qplatformdefs.h"' > ${specs}/${device}/qplatformdefs.h } pre_configure() { if [ ${XBPS_GCC_VERSION_MAJOR} -gt 5 ]; then CXXFLAGS+=" -fno-delete-null-pointer-checks" fi # Compatibility functions res_ninit() and res_nclose() for musl libc cp ${FILESDIR}/resolv_compat.h ${wrksrc}/qtwebengine/src/3rdparty/chromium/net/dns case "$XBPS_TARGET_MACHINE" in *-musl) # Patch .../linux/*/config.{h,asm} to define HAVE_SYSCTL 0 local config chromium=${wrksrc}/qtwebengine/src/3rdparty/chromium for config in $(find ${chromium}/third_party/ffmpeg/chromium/config -name "config\.*" | grep linux); do sed -i ${config} -e "s;HAVE_SYSCTL 1;HAVE_SYSCTL 0;" done esac # qmake CFLAGS/LDFLAGS sed -i qtbase/configure \ -e 's;cd "$0/qmake";cd "$0";' \ -e 's;"$outpath" "$MAKE";"$outpath/qmake" "$MAKE";' \ -e '/outpath\/qmake.*$MAKE/s;\"$MAKE\"\(.*\);\"$MAKE\" QMAKE_CFLAGS=\"$CFLAGS\" QMAKE_CXXFLAGS=\"$CXXFLAGS\" QMAKE_LFLAGS=\"$LDFLAGS\"\1;' \ -e 's;\(setBootstrapVariable\s\+\|EXTRA_C\(XX\)\?FLAGS=.*\)QMAKE_C\(XX\)\?FLAGS_\(DEBUG\|RELEASE\).*;:;' # cross build patches if [ -n "$CROSS_BUILD" ]; then # Patch to skip non-working check for GCC version patch -p0 < ${FILESDIR}/cross-gcc.patch # Patches to fix non-working python scripts host CXX detection patch -p0 < ${FILESDIR}/cross-ninja.patch fi } do_configure() { local opts spec opts+=" -confirm-license" opts+=" -opensource" opts+=" -prefix /usr" opts+=" -bindir /usr/lib/qt5/bin" opts+=" -datadir /usr/share/qt5" opts+=" -headerdir /usr/include/qt5" opts+=" -sysconfdir /etc/xdg" opts+=" -plugindir /usr/lib/qt5/plugins" opts+=" -docdir /usr/share/doc/qt5" opts+=" -importdir /usr/lib/qt5/imports" opts+=" -translationdir /usr/share/qt5/translations" opts+=" -examplesdir /usr/share/qt5/examples" opts+=" -archdatadir /usr/lib/qt5" opts+=" -accessibility -fontconfig -icu" opts+=" -openssl-linked" opts+=" -dbus-linked" opts+=" -silent" opts+=" -no-pch" # For ccache support opts+=" -no-strip" opts+=" -optimized-qmake" opts+=" -system-libjpeg" opts+=" -system-libpng" opts+=" -system-zlib" opts+=" -system-sqlite" opts+=" -system-harfbuzz" opts+=" -v" # Enable for verbose configuration tests if [ -z "$CROSS_BUILD" ]; then if [ "${XBPS_MACHINE%%-musl}" = i686 ]; then LDFLAGS+=" -Wl,--no-keep-memory" # else OOM on 32-bit fi else spec=void-${XBPS_CROSS_TRIPLET}-g++ _create_config ${spec} opts+=" -device ${spec}" opts+=" -device-option CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-" opts+=" -opengl es2" opts+=" -sysroot ${XBPS_CROSS_BASE}" opts+=" -hostprefix host" opts+=" -extprefix /usr" export CFLAGS="$XBPS_CFLAGS" export CXXFLAGS="$XBPS_CXXFLAGS" export CPPFLAGS="$XBPS_CPPFLAGS" export LDFLAGS="$XBPS_LDFLAGS" fi export CC="$XBPS_CC" export CXX="$XBPS_CXX" export CPP="$XBPS_CPP" export LD="$XBPS_CXX" export AR="ar" export AS="as" export NM="nm" export OBJDUMP="objdump" export STRIP="strip" export RANLIB="ranlib" ./configure ${opts} } do_build() { export LD_LIBRARY_PATH="${wrksrc}/qtbase/lib:${wrksrc}/qttools/lib:${LD_LIBRARY_PATH}" if [ -z "$CROSS_BUILD" ]; then unset CC CXX LD CPP AR AS RANLIB make ${makejobs} else export CC="$XBPS_CC" export CXX="$XBPS_CXX" export CPP="$XBPS_CPP" export LD="$XBPS_CXX" export CFLAGS="$XBPS_CFLAGS" export CXXFLAGS="$XBPS_CXXFLAGS" export CPPFLAGS="$XBPS_CPPFLAGS" export LDFLAGS="$XBPS_LDFLAGS" export AR="ar" export AS="as" export NM="nm" export OBJDUMP="objdump" export RANLIB="ranlib" export STRIP="strip" make ${makejobs} fi } do_install() { local f base if [ -z "$CROSS_BUILD" ]; then unset CC CXX LD CPP AR AS RANLIB fi cd ${wrksrc}/qtbase make INSTALL_ROOT=${DESTDIR} install # Remove the host utilities rm -rf ${DESTDIR}/builddir if [ -n "$CROSS_BUILD" ]; then # # For some reason qmake and some tools are not built for the target. # Do this manually by patching their Makefiles and installing # the targets to ${DESTDIR}/usr/lib/qt5/bin # vmkdir usr/lib/qt5/bin echo ">>> Building qmake or target ${CROSS_BUILD} ..." cd qmake sed Makefile \ -e "s;^\(CC\\s*\)=.*;\1= $CC;" \ -e "s;^\(CXX\\s*\)=.*;\1= $CXX;" \ -e "s;^\(QMAKE_CFLAGS\\s*\)=.*;\1= $CFLAGS;" \ -e "s;^\(QMAKE_CXXFLAGS\\s*\)=.*;\1= $CXXFLAGS;" \ -e "s;^\(QMAKE_LFLAGS\\s*\)=.*;\1= $LDFLAGS;" \ -e "s;.(BUILD_PATH)/bin;${DESTDIR}/usr/lib/qt5/bin;" \ > Makefile.target make clean make -f Makefile.target ${makejobs} mkdir -p ${wrksrc}/tools cd ${wrksrc}/tools # Create a .qmake.conf file for building the tools echo "load(qt_build_config)" > .qmake.conf echo "CONFIG += warning_clean" >> .qmake.conf echo "QT_SOURCE_TREE = ${wrksrc}/qtbase" >> .qmake.conf echo "QT_BUILD_TREE = ${wrksrc}/tools" >> .qmake.conf echo "MODULE_VERSION = ${version}" >> .qmake.conf for f in moc rcc uic qlalr qdbuscpp2xml qdbusxml2cpp; do echo ">>> Building ${f} for target ${CROSS_BUILD} ..." mkdir -p ${wrksrc}/tools/${f} cd ${wrksrc}/tools/${f} cp -pR ${wrksrc}/qtbase/src/tools/${f}/* . cp ${FILESDIR}/${f}/${f}.pro . ${wrksrc}/qtbase/bin/qmake -o Makefile ${f}.pro sed -i Makefile \ -e"s;^\(CFLAGS\\s=.*\);\1 $CFLAGS;" \ -e"s;^\(CXXFLAGS\\s=.*\);\1 $CXXFLAGS;" make ${makejobs} # Install the resulting binary vinstall ${wrksrc}/tools/bin/${f} 755 usr/lib/qt5/bin done cd ${wrksrc}/qtbase # Install the mkspecs vcopy mkspecs usr/lib/qt5 fi vlicense ${wrksrc}/LGPL_EXCEPTION.txt vmkdir usr/bin for f in ${DESTDIR}/usr/lib/qt5/bin/*; do base=$(basename $f) ln -sf /usr/lib/qt5/bin/${base} ${PKGDESTDIR}/usr/bin/${base}-qt5 done _move_examples _cleanup_wrksrc_leak } qt5-3d-devel_package() { short_desc+=" - C++ and QML APIs for 3D graphics (development)" depends="qt5-3d-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qt3d } } qt5-3d_package() { short_desc+=" - C++ and QML APIs for 3D graphics" pkg_install() { _install_subpkg qt3d } } qt5-canvas3d_package() { short_desc+=" - Canvas 3D component" pkg_install() { _install_subpkg qtcanvas3d } } qt5-charts-devel_package() { short_desc+=" - Charts component (development)" depends="qt5-charts-${version}_${revision} qt5-declarative-devel-${version}_${revision}" pkg_install() { _install_devel qtcharts } } qt5-charts_package() { short_desc+=" - Charts component" pkg_install() { _install_subpkg qtcharts } } qt5-gamepad-devel_package() { short_desc+=" - Gamepad component (development)" depends="qt5-gamepad-${version}_${revision} qt5-declarative-devel-${version}_${revision}" pkg_install() { _install_devel qtgamepad } } qt5-gamepad_package() { short_desc+=" - Gamepad component" pkg_install() { _install_subpkg qtgamepad } } qt5-datavis3d-devel_package() { short_desc+=" - 3D data visualization (development)" depends="qt5-datavis3d-${version}_${revision} qt5-declarative-devel-${version}_${revision}" pkg_install() { _install_devel qtdatavis3d } } qt5-datavis3d_package() { short_desc+=" - 3D data visualization" pkg_install() { _install_subpkg qtdatavis3d } } qt5-connectivity-devel_package() { short_desc+=" - Connectivity component (development)" depends="qt5-connectivity-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtconnectivity } } qt5-connectivity_package() { short_desc+=" - Connectivity component" pkg_install() { _install_subpkg qtconnectivity } } qt5-declarative-devel_package() { short_desc+=" - Declarative component (development)" depends="qt5-declarative-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtdeclarative } } qt5-declarative_package() { short_desc+=" - Declarative component" pkg_install() { _install_subpkg qtdeclarative } } qt5-examples_package() { short_desc+=" - Examples" depends="qt5-devel-${version}_${revision} qt5-qmake-${version}_${revision}" pkg_install() { # In case any examples are still left in $DESTDIR if [ -d ${DESTDIR}/usr/share/qt5/examples ]; then vmkdir usr/share/qt5 cp -pR ${DESTDIR}/usr/share/qt5/examples \ ${PKGDESTDIR}/usr/share/qt5 rm -rf ${DESTDIR}/usr/share/qt5/examples fi } } qt5-graphicaleffects_package() { short_desc+=" - Graphicaleffects component" pkg_install() { _install_subpkg qtgraphicaleffects } } qt5-imageformats_package() { short_desc+=" - Plugins for additional image formats" pkg_install() { _install_subpkg qtimageformats } } qt5-location-devel_package() { short_desc+=" - Location and Positioning components (development)" depends="qt5-location-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtlocation } } qt5-location_package() { short_desc+=" - Location and Positioning components" pkg_install() { _install_subpkg qtlocation } } qt5-multimedia-devel_package() { short_desc+=" - Multimedia component (development)" depends="qt5-multimedia-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtmultimedia } } qt5-multimedia_package() { short_desc+=" - Multimedia component" pkg_install() { _install_subpkg qtmultimedia } } qt5-quickcontrols_package() { short_desc+=" - Quick UI controls" pkg_install() { _install_subpkg qtquickcontrols } } qt5-quickcontrols2_package() { short_desc+=" - Quick UI controls (ver. 2)" pkg_install() { _install_subpkg qtquickcontrols2 } } qt5-script-devel_package() { short_desc+=" - Scriptable classes (development)" depends="qt5-script-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtscript } } qt5-script_package() { short_desc+=" - Scriptable classes" pkg_install() { _install_subpkg qtscript } } qt5-scxml-devel_package() { short_desc+=" - SCXML model integration (development)" depends="qt5-scxml-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtscxml } } qt5-scxml_package() { short_desc+=" - SCXML model integration" pkg_install() { _install_subpkg qtscxml } } qt5-sensors-devel_package() { short_desc+=" - Sensors component (development)" depends="qt5-sensors-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtsensors } } qt5-sensors_package() { short_desc+=" - Sensors component" pkg_install() { _install_subpkg qtsensors } } qt5-serialbus-devel_package() { short_desc+=" - Serial bus component (development)" depends="qt5-serialbus-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtserialbus } } qt5-serialbus_package() { short_desc+=" - Serial bus component" pkg_install() { _install_subpkg qtserialbus } } qt5-serialport-devel_package() { short_desc+=" - Serial port component (development)" depends="qt5-serialport-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtserialport } } qt5-serialport_package() { short_desc+=" - Serial port component" pkg_install() { _install_subpkg qtserialport } } qt5-svg-devel_package() { short_desc+=" - Svg component (development)" depends="qt5-svg-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtsvg } } qt5-svg_package() { short_desc+=" - Svg component" pkg_install() { _install_subpkg qtsvg } } qt5-virtualkeyboard-devel_package() { short_desc+=" - Virtual keyboard (development)" depends="qt5-virtualkeyboard-${version}_${revision} qt5-declarative-devel-${version}_${revision}" pkg_install() { _install_devel qtvirtualkeyboard } } qt5-virtualkeyboard_package() { short_desc+=" - Virtual keyboard" pkg_install() { _install_subpkg qtvirtualkeyboard } } qt5-wayland-devel_package() { short_desc+=" - Wayland component (development)" depends="qt5-wayland-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtwayland } } qt5-wayland_package() { short_desc+=" - Wayland component" pkg_install() { _install_subpkg qtwayland } } qt5-webchannel-devel_package() { short_desc+=" - WebChannel component (development)" depends="qt5-webchannel-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtwebchannel } } qt5-webchannel_package() { short_desc+=" - WebChannel component" pkg_install() { _install_subpkg qtwebchannel } } qt5-webengine-devel_package() { short_desc+=" - WebEngine component (development)" depends="qt5-webengine-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtwebengine } } qt5-webengine_package() { short_desc+=" - WebEngine component" pkg_install() { _install_subpkg qtwebengine } } qt5-websockets-devel_package() { short_desc+=" - WebSockets component (development)" depends="qt5-websockets-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtwebsockets } } qt5-websockets_package() { short_desc+=" - WebSockets component" pkg_install() { _install_subpkg qtwebsockets } } qt5-webview-devel_package() { short_desc+=" - WebView component (development)" depends="qt5-webview-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtwebview } } qt5-webview_package() { short_desc+=" - WebView component" pkg_install() { _install_subpkg qtwebview } } qt5-x11extras-devel_package() { short_desc+=" - X11 extras (development)" depends="qt5-x11extras-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtx11extras } } qt5-x11extras_package() { short_desc+=" - X11 extras" pkg_install() { _install_subpkg qtx11extras } } qt5-xmlpatterns-devel_package() { short_desc+=" - XML components (development)" depends="qt5-xmlpatterns-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qtxmlpatterns } } qt5-xmlpatterns_package() { short_desc+=" - XML components" pkg_install() { _install_subpkg qtxmlpatterns } } qt5-translations_package() { short_desc+=" - Translations" pkg_install() { _install_subpkg qttranslations } } qt5-host-tools_package() { short_desc+=" - Tools required when cross compiling" pkg_install() { for f in moc rcc uic qlalr qdbuscpp2xml qdbusxml2cpp; do vmove usr/lib/qt5/bin/${f} done } } qt5-tools-devel_package() { short_desc+=" - Development tools (development)" depends="qt5-tools-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { _install_devel qttools } } qt5-tools_package() { short_desc+=" - Development tools" depends="qt5-translations desktop-file-utils hicolor-icon-theme" pkg_install() { _install_subpkg qttools # install missing icons and desktop files for icon in ${wrksrc}/qttools/src/linguist/linguist/images/icons/linguist-*-32.png ; do size=$(echo $(basename ${icon}) | cut -d- -f2) install -p -D -m644 ${icon} \ ${PKGDESTDIR}/usr/share/icons/hicolor/${size}x${size}/apps/linguist-qt5.png done install -Dm644 ${wrksrc}/qttools/src/assistant/assistant/images/assistant.png \ ${PKGDESTDIR}/usr/share/icons/hicolor/32x32/apps/assistant-qt5.png install -Dm644 ${wrksrc}/qttools/src/assistant/assistant/images/assistant-128.png \ ${PKGDESTDIR}/usr/share/icons/hicolor/128x128/apps/assistant-qt5.png install -Dm644 ${wrksrc}/qttools/src/designer/src/designer/images/designer.png \ ${PKGDESTDIR}/usr/share/icons/hicolor/128x128/apps/designer-qt5.png install -Dm644 ${wrksrc}/qttools/src/qdbus/qdbusviewer/images/qdbusviewer.png \ ${PKGDESTDIR}/usr/share/icons/hicolor/32x32/apps/qdbusviewer-qt5.png install -Dm644 ${wrksrc}/qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \ ${PKGDESTDIR}/usr/share/icons/hicolor/128x128/apps/qdbusviewer-qt5.png # install desktop files vmkdir usr/share/applications install -m644 ${FILESDIR}/*.desktop ${PKGDESTDIR}/usr/share/applications } } qt5-devel_package() { depends="zlib-devel libressl-devel>=2.1.4 libXext-devel libXrender-devel fontconfig-devel libglib-devel MesaLib-devel mtdev-devel dbus-devel icu-devel qt5-${version}_${revision} qt5-qmake-${version}_${revision} qt5-host-tools-${version}_${revision}" short_desc+=" - Development files" # qt5-enginio-devel is gone pkg_install() { vmove usr/include vmove usr/lib/*.a vmove usr/lib/*.prl vmove usr/lib/cmake vmove usr/lib/pkgconfig _cleanup_wrksrc_leak } } qt5-plugin-odbc_package() { short_desc+=" - ODBC plugin" pkg_install() { vmove usr/lib/qt5/plugins/sqldrivers/libqsqlodbc.so } } qt5-plugin-pgsql_package() { short_desc+=" - PostgreSQL plugin" pkg_install() { vmove usr/lib/qt5/plugins/sqldrivers/libqsqlpsql.so } } qt5-plugin-mysql_package() { short_desc+=" - MySQL plugin" pkg_install() { vmove usr/lib/qt5/plugins/sqldrivers/libqsqlmysql.so } } qt5-plugin-sqlite_package() { short_desc+=" - SQLite plugin" pkg_install() { vmove usr/lib/qt5/plugins/sqldrivers/libqsqlite.so } } qt5-plugin-tds_package() { short_desc+=" - TDS plugin" pkg_install() { vmove usr/lib/qt5/plugins/sqldrivers/libqsqltds.so } } qt5-qmake_package() { short_desc+=" - Qmake Makefile generator tool" pkg_install() { vmove usr/lib/qt5/bin/qmake vmove usr/lib/qt5/mkspecs vmove usr/bin/qmake-qt5 # Change -isystem to -I to avoid "#include_next " errors sed -i ${PKGDESTDIR}/usr/lib/qt5/mkspecs/common/gcc-base.conf \ -e '/^QMAKE_CFLAGS_ISYSTEM/s;-isystem;-I;' } }