Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Mar 2016 14:11:17 +0000 (UTC)
From:      Raphael Kubo da Costa <rakuco@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r410751 - in head: databases/qt4-ibase-plugin databases/qt4-ibase-plugin/files databases/qt4-mysql-plugin databases/qt4-mysql-plugin/files databases/qt4-odbc-plugin databases/qt4-odbc-p...
Message-ID:  <201603101411.u2AEBH65074559@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rakuco
Date: Thu Mar 10 14:11:16 2016
New Revision: 410751
URL: https://svnweb.freebsd.org/changeset/ports/410751

Log:
  qt4 sqldrivers: Switch to a proper qmake build, use Makefile.sqldrivers.
  
  We've recently started receiving pkg-fallout emails because qt4-mysql-plugin
  is failing to build in HEAD. It turns out we were using some custom-made
  Makefile.bsd files to drive the builds, and they did not always register all
  dependencies between the files correctly.
  
  Fix it by switching to a proper qmake build that uses the .pro files shipped
  with Qt4 itself: they can be used without running the `configure' script
  almost as if they were not part of the Qt distribution itself. By doing this
  we can stop having our own Makefiles and also stop setting a lot of
  variables in the port Makefiles.
  
  While here, consolidate most of the variable setting into a single
  Makefile.sqldrivers in devel/qt4 (like we already do for devel/qt5) so that
  each of the qt4-*-plugin ports only need to set a few values such as the
  plugin name and additional USES or includes that might be necessary.
  
  Bump PORTREVISION because we now include the debug versions of the plugins
  in PLIST_FILES when the ports are built with WITH_DEBUG=yes (they were
  already shipped before, but not registered in the plists).

Added:
  head/devel/qt4/Makefile.sqldrivers   (contents, props changed)
Deleted:
  head/databases/qt4-ibase-plugin/files/
  head/databases/qt4-ibase-plugin/pkg-plist
  head/databases/qt4-mysql-plugin/files/
  head/databases/qt4-mysql-plugin/pkg-plist
  head/databases/qt4-odbc-plugin/files/
  head/databases/qt4-odbc-plugin/pkg-plist
  head/databases/qt4-pgsql-plugin/files/
  head/databases/qt4-pgsql-plugin/pkg-plist
  head/databases/qt4-sqlite-plugin/files/
  head/databases/qt4-sqlite-plugin/pkg-plist
  head/databases/qt4-sqlite3-plugin/files/
  head/databases/qt4-sqlite3-plugin/pkg-plist
Modified:
  head/databases/qt4-ibase-plugin/Makefile
  head/databases/qt4-mysql-plugin/Makefile
  head/databases/qt4-odbc-plugin/Makefile
  head/databases/qt4-pgsql-plugin/Makefile
  head/databases/qt4-sqlite-plugin/Makefile
  head/databases/qt4-sqlite3-plugin/Makefile

Modified: head/databases/qt4-ibase-plugin/Makefile
==============================================================================
--- head/databases/qt4-ibase-plugin/Makefile	Thu Mar 10 13:25:54 2016	(r410750)
+++ head/databases/qt4-ibase-plugin/Makefile	Thu Mar 10 14:11:16 2016	(r410751)
@@ -1,38 +1,10 @@
 # Created by: Michael Nottebrock <lofi@FreeBSD.org>
 # $FreeBSD$
 
-PORTNAME=	qt4-${DB}-plugin
-DISTVERSION=	${QT4_VERSION}
-CATEGORIES=	databases
+PORTREVISION=	1
 
-MAINTAINER=	kde@FreeBSD.org
 COMMENT=	Qt InterBase/Firebird database plugin
-
 DB=		ibase
-
 USE_FIREBIRD=	yes
-USE_QT4=	moc_build sql
-QT_DIST=	yes
-
-DRIVER=		src/sql/drivers/${DB}
-PLUGIN=		src/plugins/sqldrivers/${DB}
-EXTRACT_AFTER_ARGS?=	${DISTNAME}/${DRIVER} ${DISTNAME}/${PLUGIN} \
-			${DISTNAME}/include/QtSql \
-			${DISTNAME}/src/corelib \
-			${DISTNAME}/src/sql/kernel
-MAKEFILE=	${FILESDIR}/Makefile.bsd
-MAKE_ENV+=	DB="${DB}" DRIVER="${DRIVER}" MOC="${MOC}" \
-		PLUGIN="${PLUGIN}" \
-		QT_INCDIR="${QT_INCDIR}" \
-		QT_LIBDIR="${QT_LIBDIR}"
-PLIST_SUB=	DB=${DB}
-
-EXTRA_PATCHES=	# empty
-
-SQL_PLUGINDIR=	${PREFIX}/${QT_PLUGINDIR_REL}/sqldrivers
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${SQL_PLUGINDIR}
-	${INSTALL_LIB} ${WRKSRC}/libqsql${DB}.so ${STAGEDIR}${SQL_PLUGINDIR}
 
-.include <bsd.port.mk>
+.include "${.CURDIR:H:H}/devel/qt4/Makefile.sqldrivers"

Modified: head/databases/qt4-mysql-plugin/Makefile
==============================================================================
--- head/databases/qt4-mysql-plugin/Makefile	Thu Mar 10 13:25:54 2016	(r410750)
+++ head/databases/qt4-mysql-plugin/Makefile	Thu Mar 10 14:11:16 2016	(r410751)
@@ -1,37 +1,13 @@
 # Created by: Kay Lehmann <kay_lehmann@web.de>
 # $FreeBSD$
 
-PORTNAME=	qt4-${DB}-plugin
-DISTVERSION=	${QT4_VERSION}
-CATEGORIES=	databases
+PORTREVISION=	1
 
-MAINTAINER=	kde@FreeBSD.org
 COMMENT=	Qt MySQL database plugin
-
 DB=		mysql
-
-USE_QT4=	moc_build sql
-QT_DIST=	yes
-
 USE_MYSQL=	yes
-DRIVER=		src/sql/drivers/${DB}
-PLUGIN=		src/plugins/sqldrivers/${DB}
-EXTRACT_AFTER_ARGS?=	${DISTNAME}/${DRIVER} \
-			${DISTNAME}/src/corelib \
-			${DISTNAME}/${PLUGIN}
-MAKEFILE=	${FILESDIR}/Makefile.bsd
-MAKE_ENV+=	DB="${DB}" DRIVER="${DRIVER}" MOC="${MOC}" \
-		PLUGIN="${PLUGIN}" \
-		QT_INCDIR="${QT_INCDIR}" \
-		QT_LIBDIR="${QT_LIBDIR}"
-PLIST_SUB=	DB=${DB}
-
-EXTRA_PATCHES=	# empty
-
-SQL_PLUGINDIR=	${PREFIX}/${QT_PLUGINDIR_REL}/sqldrivers
 
-do-install:
-	@${MKDIR} ${STAGEDIR}${SQL_PLUGINDIR}
-	${INSTALL_LIB} ${WRKSRC}/libqsql${DB}.so ${STAGEDIR}${SQL_PLUGINDIR}
+CXXFLAGS+=	-I${LOCALBASE}/include/mysql
+LDFLAGS+=	-L${LOCALBASE}/lib/mysql
 
-.include <bsd.port.mk>
+.include "${.CURDIR:H:H}/devel/qt4/Makefile.sqldrivers"

Modified: head/databases/qt4-odbc-plugin/Makefile
==============================================================================
--- head/databases/qt4-odbc-plugin/Makefile	Thu Mar 10 13:25:54 2016	(r410750)
+++ head/databases/qt4-odbc-plugin/Makefile	Thu Mar 10 14:11:16 2016	(r410751)
@@ -1,38 +1,11 @@
 # Created by: Michael Nottebrock <lofi@FreeBSD.org>
 # $FreeBSD$
 
-PORTNAME=	qt4-${DB}-plugin
-DISTVERSION=	${QT4_VERSION}
-CATEGORIES=	databases
-
-MAINTAINER=	kde@FreeBSD.org
-COMMENT=	Qt Open Database Connectivity plugin
+PORTREVISION=	1
 
 DB=		odbc
+COMMENT=	Qt Open Database Connectivity plugin
 
-LIB_DEPENDS+=	libodbc.so:${PORTSDIR}/databases/unixODBC
-
-USE_QT4=	moc_build sql
-QT_DIST=	yes
-
-DRIVER=		src/sql/drivers/${DB}
-PLUGIN=		src/plugins/sqldrivers/${DB}
-EXTRACT_AFTER_ARGS?=	${DISTNAME}/${DRIVER} \
-			${DISTNAME}/src/corelib \
-			${DISTNAME}/${PLUGIN}
-MAKEFILE=	${FILESDIR}/Makefile.bsd
-MAKE_ENV+=	DB="${DB}" DRIVER="${DRIVER}" MOC="${MOC}" \
-		PLUGIN="${PLUGIN}" \
-		QT_INCDIR="${QT_INCDIR}" \
-		QT_LIBDIR="${QT_LIBDIR}"
-PLIST_SUB=	DB=${DB}
-
-EXTRA_PATCHES=	# empty
-
-SQL_PLUGINDIR=	${PREFIX}/${QT_PLUGINDIR_REL}/sqldrivers
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${SQL_PLUGINDIR}
-	${INSTALL_LIB} ${WRKSRC}/libqsql${DB}.so ${STAGEDIR}${SQL_PLUGINDIR}
+LIB_DEPENDS=	libodbc.so:${PORTSDIR}/databases/unixODBC
 
-.include <bsd.port.mk>
+.include "${.CURDIR:H:H}/devel/qt4/Makefile.sqldrivers"

Modified: head/databases/qt4-pgsql-plugin/Makefile
==============================================================================
--- head/databases/qt4-pgsql-plugin/Makefile	Thu Mar 10 13:25:54 2016	(r410750)
+++ head/databases/qt4-pgsql-plugin/Makefile	Thu Mar 10 14:11:16 2016	(r410751)
@@ -1,37 +1,10 @@
 # Created by: Lauri Watts <lauri@kde.org>
 # $FreeBSD$
 
-PORTNAME=	qt4-${DB}-plugin
-DISTVERSION=	${QT4_VERSION}
-CATEGORIES=	databases
+PORTREVISION=	1
 
-MAINTAINER=	kde@FreeBSD.org
 COMMENT=	Qt PostgreSQL database plugin
-
 DB=		psql
+USES=		pgsql
 
-USE_QT4=	moc_build sql
-QT_DIST=	yes
-
-USES+=		pgsql
-DRIVER=		src/sql/drivers/${DB}
-PLUGIN=		src/plugins/sqldrivers/${DB}
-EXTRACT_AFTER_ARGS?=	${DISTNAME}/${DRIVER} \
-			${DISTNAME}/src/corelib \
-			${DISTNAME}/${PLUGIN}
-MAKEFILE=	${FILESDIR}/Makefile.bsd
-MAKE_ENV+=	DB="${DB}" DRIVER="${DRIVER}" MOC="${MOC}" \
-		PLUGIN="${PLUGIN}" \
-		QT_INCDIR="${QT_INCDIR}" \
-		QT_LIBDIR="${QT_LIBDIR}"
-PLIST_SUB=	DB=${DB}
-
-EXTRA_PATCHES=	# empty
-
-SQL_PLUGINDIR=	${PREFIX}/${QT_PLUGINDIR_REL}/sqldrivers
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${SQL_PLUGINDIR}
-	${INSTALL_LIB} ${WRKSRC}/libqsql${DB}.so ${STAGEDIR}${SQL_PLUGINDIR}
-
-.include <bsd.port.mk>
+.include "${.CURDIR:H:H}/devel/qt4/Makefile.sqldrivers"

Modified: head/databases/qt4-sqlite-plugin/Makefile
==============================================================================
--- head/databases/qt4-sqlite-plugin/Makefile	Thu Mar 10 13:25:54 2016	(r410750)
+++ head/databases/qt4-sqlite-plugin/Makefile	Thu Mar 10 14:11:16 2016	(r410751)
@@ -1,38 +1,10 @@
 # Created by: Michael Nottebrock <lofi@FreeBSD.org>
 # $FreeBSD$
 
-PORTNAME=	qt4-${DB}-plugin
-DISTVERSION=	${QT4_VERSION}
-CATEGORIES=	databases
+PORTREVISION=	1
 
-MAINTAINER=	kde@FreeBSD.org
 COMMENT=	Qt SQLite 2 database plugin
-
 DB=		sqlite2
-
-USE_QT4=	moc_build sql
-QT_DIST=	yes
 USE_SQLITE=	2
 
-DRIVER=		src/sql/drivers/${DB}
-PLUGIN=		src/plugins/sqldrivers/${DB}
-EXTRACT_AFTER_ARGS?=	${DISTNAME}/${DRIVER} ${DISTNAME}/${PLUGIN} \
-			${DISTNAME}/include/QtSql \
-			${DISTNAME}/src/corelib \
-			${DISTNAME}/src/sql/kernel
-MAKEFILE=	${FILESDIR}/Makefile.bsd
-MAKE_ENV+=	DB="${DB}" DRIVER="${DRIVER}" MOC="${MOC}" \
-		PLUGIN="${PLUGIN}" \
-		QT_INCDIR="${QT_INCDIR}" \
-		QT_LIBDIR="${QT_LIBDIR}"
-PLIST_SUB=	DB=${DB}
-
-EXTRA_PATCHES=	# empty
-
-SQL_PLUGINDIR=	${PREFIX}/${QT_PLUGINDIR_REL}/sqldrivers
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${SQL_PLUGINDIR}
-	${INSTALL_LIB} ${WRKSRC}/libq${DB}.so ${STAGEDIR}${SQL_PLUGINDIR}
-
-.include <bsd.port.mk>
+.include "${.CURDIR:H:H}/devel/qt4/Makefile.sqldrivers"

Modified: head/databases/qt4-sqlite3-plugin/Makefile
==============================================================================
--- head/databases/qt4-sqlite3-plugin/Makefile	Thu Mar 10 13:25:54 2016	(r410750)
+++ head/databases/qt4-sqlite3-plugin/Makefile	Thu Mar 10 14:11:16 2016	(r410751)
@@ -1,38 +1,10 @@
 # Created by: Michael Nottebrock <lofi@FreeBSD.org>
 # $FreeBSD$
 
-PORTNAME=	qt4-${DB}-plugin
-DISTVERSION=	${QT4_VERSION}
-CATEGORIES=	databases
+PORTREVISION=	1
 
-MAINTAINER=	kde@FreeBSD.org
 COMMENT=	Qt SQLite 3 database plugin
-
 DB=		sqlite
-
-USE_QT4=	moc_build sql
-QT_DIST=	yes
 USE_SQLITE=	3
 
-DRIVER=		src/sql/drivers/${DB}
-PLUGIN=		src/plugins/sqldrivers/${DB}
-EXTRACT_AFTER_ARGS?=	${DISTNAME}/${DRIVER} ${DISTNAME}/${PLUGIN} \
-			${DISTNAME}/include/QtSql \
-			${DISTNAME}/src/corelib \
-			${DISTNAME}/src/sql/kernel
-MAKEFILE=	${FILESDIR}/Makefile.bsd
-MAKE_ENV+=	DB="${DB}" DRIVER="${DRIVER}" MOC="${MOC}" \
-		PLUGIN="${PLUGIN}" \
-		QT_INCDIR="${QT_INCDIR}" \
-		QT_LIBDIR="${QT_LIBDIR}"
-PLIST_SUB=	DB=${DB}
-
-EXTRA_PATCHES=	# empty
-
-SQL_PLUGINDIR=	${PREFIX}/${QT_PLUGINDIR_REL}/sqldrivers
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${SQL_PLUGINDIR}
-	${INSTALL_LIB} ${WRKSRC}/libq${DB}.so ${STAGEDIR}${SQL_PLUGINDIR}
-
-.include <bsd.port.mk>
+.include "${.CURDIR:H:H}/devel/qt4/Makefile.sqldrivers"

Added: head/devel/qt4/Makefile.sqldrivers
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/qt4/Makefile.sqldrivers	Thu Mar 10 14:11:16 2016	(r410751)
@@ -0,0 +1,27 @@
+# $FreeBSD$
+
+PORTNAME=	${DB:tl}
+DISTVERSION=	${QT4_VERSION}
+CATEGORIES=	databases
+PKGNAMEPREFIX=	qt4-
+PKGNAMESUFFIX=	-plugin
+
+MAINTAINER=	kde@FreeBSD.org
+
+EXTRA_PATCHES=	# empty
+
+USE_QT4=	corelib sql moc_build qmake_build
+QT_DIST=	yes
+USES+=		qmake:outsource
+
+CXXFLAGS+=	-I${WRKSRC}/include  # For private QtSql headers.
+
+EXTRACT_AFTER_ARGS=	${DISTNAME}/include/QtSql \
+			${DISTNAME}/src/corelib ${DISTNAME}/src/plugins \
+			${DISTNAME}/src/qt_targets.pri ${DISTNAME}/src/sql
+QMAKE_SOURCE_PATH=	${WRKSRC}/src/plugins/sqldrivers/${DB}/${DB}.pro
+
+PLIST_FILES=	${QT_PLUGINDIR_REL}/sqldrivers/libqsql${DB:tl:C/^sql//}.so \
+		%%DEBUG%%${QT_PLUGINDIR_REL}/sqldrivers/libq${DB:tl:C/^sql//}.so.debug
+
+.include <bsd.port.mk>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603101411.u2AEBH65074559>