# Template file for 'qt5'
pkgname=qt5
version=5.5.0
revision=1
wrksrc="qt-everywhere-opensource-src-${version}"
homepage="http://qt.io/"
short_desc="A cross-platform application and UI framework (QT5)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
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=7ea2a16ecb8088e67db86b0835b887d5316121aeef9565d5d19be3d539a2c2af

nocross=yes
hostmakedepends="flex ruby gperf python perl pkg-config"
makedepends="
 libressl-devel libpng-devel MesaLib-devel libXrender-devel unixodbc-devel
 fontconfig-devel libXi-devel libXv-devel libXinerama-devel libXrandr-devel
 libXcursor-devel dbus-devel glib-devel icu-devel cups-devel libjpeg-turbo-devel
 sqlite-devel alsa-lib-devel tiff-devel libmng-devel libxshmfence-devel
 xcb-util-keysyms-devel xcb-util-image-devel xcb-util-wm-devel libSM-devel
 libXcomposite-devel libwebp-devel libxkbcommon-devel harfbuzz-devel gtk+-devel
 mtdev-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 libxkbcommon-devel
 wayland-devel"
depends="qtchooser"

pre_configure() {
	sed -i "s|-O2|${CXXFLAGS}|" qtbase/mkspecs/common/{g++,gcc}-base.conf
	sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" qtbase/mkspecs/common/gcc-base.conf

	# 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 .../linx/*/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
		# Define WTF_OS_LINUX_MUSL to 1 to activate the patch qt-musl-pthread_getattr_np.patch
		sed -i ${chromium}/third_party/WebKit/Source/platform/heap/ThreadState.cpp \
			-e "/namespace blink/i #define WTF_OS_LINUX_MUSL 1"
	esac
}
do_configure() {
	export LD_LIBRARY_PATH="${wrksrc}/qtbase/lib:${wrksrc}/qttools/lib:${LD_LIBRARY_PATH}"
	export LD="$CXX"
	unset CPP AR AS RANLIB
	local opts="-confirm-license -opensource \
		-prefix /usr \
		-bindir /usr/lib/qt5/bin \
		-datadir /usr/share/qt5 \
		-headerdir /usr/include/qt5 \
		-sysconfdir /etc/xdg \
		-plugindir /usr/lib/qt5/plugins \
		-docdir /usr/share/doc/qt5 \
		-importdir /usr/lib/qt5/imports \
		-translationdir /usr/share/qt5/translations \
		-examplesdir /usr/share/qt5/examples \
		-archdatadir /usr/lib/qt5 \
		-nomake examples \
		-accessibility -fontconfig -icu \
		-openssl-linked -dbus-linked \
		-no-pch -no-strip -silent -optimized-qmake \
		-system-libjpeg -system-libpng -system-zlib \
		-system-sqlite -system-harfbuzz"
	case "$XBPS_TARGET_MACHINE" in
		arm*|*-musl) # -reduce-relocations is experimental; may cause linker errors
			;;
		*)	opts+=" -reduce-relocations"
			;;
	esac
	./configure ${opts}
}
do_build() {
	export LD_LIBRARY_PATH="${wrksrc}/qtbase/lib:${wrksrc}/qttools/lib:${LD_LIBRARY_PATH}"
	export LD="$CXX"
	unset CPP AR AS RANLIB
	make ${makejobs}
}
do_install() {
	# base
	cd qtbase
	make INSTALL_ROOT=${DESTDIR} install
	vlicense LGPL_EXCEPTION.txt
	vmkdir usr/bin
	for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do
		ln -s /usr/lib/qt5/bin/$(basename $f) ${DESTDIR}/usr/bin/$(basename $f)-qt5
	done
}

qt5-connectivity-devel_package() {
	short_desc+=" - Connectivity component (development)"
	depends="qt5-connectivity-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtconnectivity
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-connectivity_package() {
	short_desc+=" - Connectivity component"
	pkg_install() {
		cd ${wrksrc}/qtconnectivity
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/bin
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-declarative-devel_package() {
	short_desc+=" - Declarative component (development)"
	depends="qt5-declarative-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtdeclarative
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/bin
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-declarative_package() {
	short_desc+=" - Declarative component"
	pkg_install() {
		cd ${wrksrc}/qtdeclarative
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.a
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
		vmkdir usr/bin
		for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do
			ln -s /usr/lib/qt5/bin/$(basename $f) ${PKGDESTDIR}/usr/bin/$(basename $f)-qt5
		done
	}
}
qt5-doc_package() {
	short_desc+=" - Documentation"
	# This requires qdoc from qtbase and qhelpgenerator from qttools
	depends="qt5-${version}_${revision} qt5-tools-${version}_${revision}"
	pkg_install() {
		cd $wrksrc
		vmove usr/share/doc
		# Original (installed) binaries directory
		local qtbin=/usr/lib/qt5/bin
		# Temporary binaries directory
		local tmpbin=$wrksrc/docbuild/bin
		local tmplib=$wrksrc/docbuild/lib
		local plugins=$wrksrc/qtbase/plugins
		mkdir -p $tmpbin/platforms $tmpbin/sqldrivers $tmplib
		# Install qdoc binary
		install $wrksrc/qtbase/bin/qdoc $tmpbin/
		# Install qhelpgenerator binary
		install $wrksrc/qttools/bin/qhelpgenerator $tmpbin/
		# Install required plugins below $tmpbin
		install $plugins/platforms/libqminimal.so $tmpbin/platforms/
		install $plugins/sqldrivers/libqsqlite.so $tmpbin/sqldrivers/
		# Install required libraries
		install $wrksrc/qtbase/lib/*.so* $tmplib
		install $wrksrc/qttools/lib/*.so* $tmplib
		# Patch Makefiles to refer to $tmpbin/{qdoc,qhelpgenerator}
		for m in $(find . -iname "Makefile*" -type f | grep -v "\.orig$"); do
			mv $m $m.orig
			sed $m.orig \
				-e "s;$qtbin/qdoc;$tmpbin/qdoc;g" \
				-e "s;$qtbin/qhelpgenerator;$tmpbin/qhelpgenerator;g" \
			> $m
		done
		export LD_LIBRARY_PATH="$tmplib:$LD_LIBRARY_PATH"
		make ${makejobs} docs
		make INSTALL_ROOT=${PKGDESTDIR} install_docs
		# Restore original Makefiles just in case...
		for m in $(find . -iname "Makefile*.orig" -type f); do
			mv $m ${m%.orig}
		done
	}
}
qt5-enginio-devel_package() {
	short_desc+=" - Enginio component (development)"
	depends="qt5-enginio-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtenginio
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-enginio_package() {
	short_desc+=" - Enginio component"
	pkg_install() {
		cd ${wrksrc}/qtenginio
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-graphicaleffects_package() {
	short_desc+=" - Graphicaleffects component"
	pkg_install() {
		cd ${wrksrc}/qtgraphicaleffects
		make INSTALL_ROOT=${PKGDESTDIR} install
	}
}
qt5-imageformats_package() {
	short_desc+=" - Plugins for additional image formats"
	pkg_install() {
		cd ${wrksrc}/qtimageformats
		make INSTALL_ROOT=${PKGDESTDIR} install
	}
}
qt5-location-devel_package() {
	short_desc+=" - Location component (development)"
	depends="qt5-location-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtlocation
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-location_package() {
	short_desc+=" - Location component"
	pkg_install() {
		cd ${wrksrc}/qtlocation
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-multimedia-devel_package() {
	short_desc+=" - Multimedia component (development)"
	depends="qt5-multimedia-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtmultimedia
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-multimedia_package() {
	short_desc+=" - Multimedia component"
	pkg_install() {
		cd ${wrksrc}/qtmultimedia
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-quick1-devel_package() {
	short_desc+=" - Qt Quick 1 (development)"
	depends="qt5-quick1-${version}_${revision}
		qt5-xmlpatterns-devel-${version}_${revision}
		qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtquick1
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/bin
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm -r ${PKGDESTDIR}/usr/lib/qt5/imports
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-quick1_package() {
	short_desc+=" - Qt Quick 1"
	pkg_install() {
		cd ${wrksrc}/qtquick1
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
		vmkdir usr/bin
		for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do
			ln -s /usr/lib/qt5/bin/$(basename $f) ${PKGDESTDIR}/usr/bin/$(basename $f)-qt5
		done
	}
}
qt5-quickcontrols_package() {
	short_desc+=" - Quick UI controls"
	pkg_install() {
		cd ${wrksrc}/qtquickcontrols
		make INSTALL_ROOT=${PKGDESTDIR} install
	}
}
qt5-script-devel_package() {
	short_desc+=" - Scriptable classes (development)"
	depends="qt5-script-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtscript
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-script_package() {
	short_desc+=" - Scriptable classes"
	pkg_install() {
		cd ${wrksrc}/qtscript
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-sensors-devel_package() {
	short_desc+=" - Sensors component (development)"
	depends="qt5-sensors-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtsensors
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-sensors_package() {
	short_desc+=" - Sensors component"
	pkg_install() {
		cd ${wrksrc}/qtsensors
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-serialport-devel_package() {
	short_desc+=" - Serialport component (development)"
	depends="qt5-serialport-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtserialport
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-serialport_package() {
	short_desc+=" - Serialport component"
	pkg_install() {
		cd ${wrksrc}/qtserialport
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-svg-devel_package() {
	short_desc+=" - Svg component (development)"
	depends="qt5-svg-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtsvg
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-svg_package() {
	short_desc+=" - Svg component"
	pkg_install() {
		cd ${wrksrc}/qtsvg
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-wayland-devel_package() {
	short_desc+=" - Wayland component (development)"
	depends="qt5-wayland-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtwayland
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-wayland_package() {
	short_desc+=" - Wayland component"
	pkg_install() {
		cd ${wrksrc}/qtwayland
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/bin
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-webchannel-devel_package() {
	short_desc+=" - Webchannel component (development)"
	depends="qt5-webchannel-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtwebchannel
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-webchannel_package() {
	short_desc+=" - Webchannel component"
	pkg_install() {
		cd ${wrksrc}/qtwebchannel
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-webengine-devel_package() {
	short_desc+=" - Webengine component (development)"
	depends="qt5-webengine-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtwebengine
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/share
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm -r ${PKGDESTDIR}/usr/lib/qt5/libexec
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-webengine_package() {
	short_desc+=" - Webengine component"
	pkg_install() {
		cd ${wrksrc}/qtwebengine
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-webkit-devel_package() {
	short_desc+=" - WebKit2 component (development)"
	depends="qt5-webkit-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtwebkit
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm -r ${PKGDESTDIR}/usr/lib/qt5/libexec
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-webkit_package() {
	short_desc+=" - WebKit2 component"
	pkg_install() {
		cd ${wrksrc}/qtwebkit
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-websockets-devel_package() {
	short_desc+=" - Websockets component (development)"
	depends="qt5-websockets-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtwebsockets
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/qml
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-websockets_package() {
	short_desc+=" - Websockets component"
	pkg_install() {
		cd ${wrksrc}/qtwebsockets
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-x11extras-devel_package() {
	short_desc+=" - X11 extras (development)"
	depends="qt5-x11extras-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtx11extras
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-x11extras_package() {
	short_desc+=" - X11 extras"
	pkg_install() {
		cd ${wrksrc}/qtx11extras
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
	}
}
qt5-xmlpatterns-devel_package() {
	short_desc+=" - XML components (development)"
	depends="qt5-xmlpatterns-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qtxmlpatterns
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/bin
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-xmlpatterns_package() {
	short_desc+=" - XML components"
	pkg_install() {
		cd ${wrksrc}/qtxmlpatterns
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
		vmkdir usr/bin
		for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do
			ln -s /usr/lib/qt5/bin/$(basename $f) ${PKGDESTDIR}/usr/bin/$(basename $f)-qt5
		done
	}
}
qt5-translations_package() {
	short_desc+=" - Translations"
	pkg_install() {
		cd ${wrksrc}/qttranslations
		make INSTALL_ROOT=${PKGDESTDIR} install
	}
}
qt5-tools-devel_package() {
	short_desc+=" - Development tools (development)"
	depends="qt5-tools-${version}_${revision} qt5-devel-${version}_${revision}"
	pkg_install() {
		cd ${wrksrc}/qttools
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/lib/qt5/bin
		rm -r ${PKGDESTDIR}/usr/share
		rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins
		rm ${PKGDESTDIR}/usr/lib/*.so.*
	}
}
qt5-tools_package() {
	short_desc+=" - Development tools"
	depends="qt5-translations desktop-file-utils hicolor-icon-theme"
	pkg_install() {
		cd ${wrksrc}/qttools
		make INSTALL_ROOT=${PKGDESTDIR} install
		rm -r ${PKGDESTDIR}/usr/include
		rm -r ${PKGDESTDIR}/usr/lib/cmake
		rm -r ${PKGDESTDIR}/usr/lib/pkgconfig
		rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs
		rm ${PKGDESTDIR}/usr/lib/*.a
		rm ${PKGDESTDIR}/usr/lib/*.so
		rm ${PKGDESTDIR}/usr/lib/*.prl
		# install missing icons and desktop files
		for icon in 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 src/assistant/assistant/images/assistant.png \
			${PKGDESTDIR}/usr/share/icons/hicolor/32x32/apps/assistant-qt5.png
		install -Dm644 src/assistant/assistant/images/assistant-128.png \
			${PKGDESTDIR}/usr/share/icons/hicolor/128x128/apps/assistant-qt5.png
		install -Dm644 src/designer/src/designer/images/designer.png \
			${PKGDESTDIR}/usr/share/icons/hicolor/128x128/apps/designer-qt5.png
		install -Dm644 src/qdbus/qdbusviewer/images/qdbusviewer.png \
			${PKGDESTDIR}/usr/share/icons/hicolor/32x32/apps/qdbusviewer-qt5.png
		install -Dm644 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
		vmkdir usr/bin
		for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do
			ln -s /usr/lib/qt5/bin/$(basename $f) ${PKGDESTDIR}/usr/bin/$(basename $f)-qt5
		done
	}
}
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-plugin-gtk-${version}_${revision}
		qt5-qmake-${version}_${revision}"
	short_desc+=" - Development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.prl"
		vmove usr/lib/pkgconfig
		vmove usr/lib/cmake
	}
}
qt5-plugin-gtk_package() {
	short_desc+=" - GTK+ theme plugin"
	pkg_install() {
		vmove usr/lib/qt5/plugins/platformthemes/libqgtk2.so
	}
}
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-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
	}
}
