# Template file for 'qt'
pkgname=qt
version=4.8.5
revision=1
_distname=qt-everywhere-opensource-src
wrksrc=${_distname}-${version}
homepage="http://qt-project.com/"
short_desc="A cross-platform application and UI framework"
maintainer="Juan RP <xtraeme@gmail.com>"
license="GPL-3, LGPL-2.1"
distfiles="http://download.qt-project.org/official_releases/qt/4.8/${version}/${_distname}-${version}.tar.gz"
checksum=eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138

if [ "$CROSS_BUILD" ]; then
	msg_error "${pkgname}-${version}: this package cannot be cross compiled right now.\n"
fi

hostmakedepends="pkg-config"
makedepends="libpng-devel>=1.6 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 openssl-devel tiff-devel libmng-devel gtk+-devel
 libmysqlclient-devel>=5.5.27 postgresql-libs-devel pulseaudio-devel libSM-devel"

do_configure() {
	export LD_LIBRARY_PATH="${wrksrc}/lib:${LD_LIBRARY_PATH}"
	export LD="$CXX"

	sed -i "s|-O2|${XBPS_CXXFLAGS}|" mkspecs/common/g++.conf
	sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${XBPS_LDFLAGS}|g" mkspecs/common/g++.conf

	./configure -confirm-license -opensource \
		-prefix /usr -sysconfdir /etc -plugindir /usr/lib/qt/plugins \
		-importdir /usr/lib/qt/imports \
		-translationdir /usr/share/qt/translations \
		-datadir /usr/share/qt \
		-nomake demos -nomake examples -nomake docs -gtkstyle \
		-system-sqlite -no-phonon -no-phonon-backend \
		-graphicssystem raster -openssl-linked -silent -no-rpath \
		-optimized-qmake -reduce-relocations -dbus-linked -no-openvg
}

do_build() {
	export LD_LIBRARY_PATH="${wrksrc}/lib:${LD_LIBRARY_PATH}"
	export LD="$CXX"
	make ${makejobs}
}

do_install() {
	local hicolordir=${DESTDIR}/usr/share/icons/hicolor

	make INSTALL_ROOT=${DESTDIR} install

	# delete tests
	rm -rf ${DESTDIR}/usr/tests

	# install missing icons and desktop files
	for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
		size=$(echo $(basename ${icon}) | cut -d- -f2)
		install -D -m644 ${icon} \
			${hicolordir}/${size}x${size}/apps/linguist.png
	done
	install -Dm644 src/gui/dialogs/images/qtlogo-64.png \
		${hicolordir}/64x64/apps/qtlogo.png
	install -Dm644 src/gui/dialogs/images/qtlogo-64.png \
		${DESTDIR}/usr/share/pixmaps/qtlogo.png
	install -Dm644 tools/assistant/tools/assistant/images/assistant.png \
		${hicolordir}/32x32/apps/assistant.png
	install -Dm644 tools/designer/src/designer/images/designer.png \
		${hicolordir}/128x128/apps/designer.png
	install -d ${DESTDIR}/usr/share/applications
	install -m644 ${FILESDIR}/*.desktop \
		${DESTDIR}/usr/share/applications

	vinstall LGPL_EXCEPTION.txt 644 usr/share/licenses/qt
}

qt-designer_package() {
	depends="hicolor-icon-theme"
	short_desc+=" - GUI designer"
	pkg_install() {
		vmove usr/bin/designer
		vmove "usr/lib/libQtDesigner.so*"
		vmove "usr/lib/libQtDesignerComponents.so*"
		vmove usr/lib/qt/plugins/designer
		vmove "usr/share/icons/hicolor/128x128/apps/designer.*"
		vmove "usr/share/applications/designer.*"
		vmove "usr/share/qt/translations/designer*"
	}
}

qt-devel-tools_package() {
	depends="hicolor-icon-theme"
	short_desc+=" - development tools"
	pkg_install() {
		for f in assistant* lconvert linguist pixeltool qcollectiongenerator \
			qhelp* xmlpatterns* qttrace* qdoc3 qmlviewer; do
			vmove usr/bin/${f}
		done
		vmove usr/share/icons/hicolor
		for f in linguist assistant; do
			vmove usr/share/applications/${f}.desktop
			[ ! -f ${DESTDIR}/usr/share/pixmaps/${f}.png ] && continue
			vmove usr/share/pixmaps/${f}.png
		done
		vmove usr/share/qt/phrasebooks
	}
}

qt-devel_package() {
	depends="qt-qmake libX11-devel icu-devel"
	short_desc+=" - development files"
	pkg_install() {
		for f in lrelease lupdate moc qdbuscpp2xml qdbusxml2cpp qt3to4 \
			rcc uic uic3; do
			vmove usr/bin/${f}
		done
		vmove usr/include
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.prl"
		vmove usr/lib/pkgconfig
	}
}

qt-plugin-odbc_package() {
	short_desc+=" - ODBC plugin"
	pkg_install() {
		vmove usr/lib/qt/plugins/sqldrivers/libqsqlodbc.so
	}
}

qt-plugin-pgsql_package() {
	short_desc+=" - PostgreSQL plugin"
	pkg_install() {
		vmove usr/lib/qt/plugins/sqldrivers/libqsqlpsql.so
	}
}

qt-plugin-mysql_package() {
	short_desc+=" - MySQL plugin"
	pkg_install() {
		vmove usr/lib/qt/plugins/sqldrivers/libqsqlmysql.so
	}
}

qt-plugin-sqlite_package() {
	short_desc+=" - SQLite plugin"
	pkg_install() {
		vmove usr/lib/qt/plugins/sqldrivers/libqsqlite.so
	}
}

qt-qmake_package() {
	short_desc+=" - qmake Makefile generator tool"
	pkg_install() {
		vmove usr/bin/qmake
		vmove usr/share/qt/mkspecs
	}
}

qt-qtconfig_package() {
	depends="hicolor-icon-theme"
	short_desc+=" - configuration tool"
	pkg_install() {
		vmove usr/bin/qtconfig
		vmove usr/share/applications/qtconfig.desktop
		vmove usr/share/pixmaps/qtlogo.png
		vmove "usr/share/qt/translations/qtconfig*"
	}
}
