freebsd-ports/databases/qt4-sql/Makefile
Raphael Kubo da Costa 39ced03cc1 Update the Qt4 ports to 4.8.7.
According to upstream, this is the last planned Qt4 release.
A list of changes since 4.8.6 can be found here:
<http://download.qt.io/official_releases/qt/4.8/4.8.7/changes-4.8.7>

Porting notes and changes:
- Remove several patches that have been upstreamed.
- Make Uses/qmake.mk pass the contents of LIBS to the qmake environment. [1]
- Repurpose devel/qt4/files/extrapatch-src-corelib-global-qglobal.h now the
  original patch is part of the release (curiously enough, the original
  patch was never actually used, as the ?= assignment in r362837 after
  r362770 was never possible).

  This works around the way compiler support for C++11 features is detected
  in Qt 4.8.7: while it originally only uses the compiler to determine if
  something is supported or not, the initializer lists feature also depends
  on the C++ standard library being used. It's a problem in FreeBSD 9.x,
  where USES=compiler:c++0x or USES=compiler:c++11-lang means we will use
  clang to build a port but use libstdc++ from base (GCC 4.2). The latter
  obviously does not support initializer lists, and the build fails because
  Qt tries to include headers that do not exist (<initializer_list>).

  Since detecting libstdc++'s version is not trivial (we need to include a
  non-lightweight header like cstdio and then check for __GLIBCXX__), we
  just enable Q_COMPILER_INITIALIZER_LISTS support only when libc++ is used
  (there should be no reason for someone to be using clang with GCC 4.8's
  libstdc++, for example).

  x11/kdelibs4's FindQt4.cmake had to include a backported change from the
  upstream FindQt4.cmake in CMake itself to use a C++ compiler to detect
  flags like Q_WS_X11, otherwise the inclusion of <ciso646> in qglobal.h
  makes the build fail.

This patch contains changes by me, makc@ and alonso@.

PR:             202552 [1]
PR:             202808 [exp-run]
Submitted by:	pawel@ [1]
2015-09-16 08:55:04 +00:00

51 lines
1.7 KiB
Makefile

# Created by: lofi@FreeBSD.org
# $FreeBSD$
PORTNAME= sql
DISTVERSION= ${QT4_VERSION}
CATEGORIES= databases
PKGNAMEPREFIX= qt4-
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt SQL database integration module
USE_QT4= qmake_build moc_build corelib
QT_DIST= yes
HAS_CONFIGURE= yes
USE_LDCONFIG= ${PREFIX}/${QT_LIBDIR_REL}
ALL_TARGET= first
CONFIGURE_ENV?= QTDIR=${WRKSRC} PATH=${WRKSRC}/bin:$$PATH
MAKE_ENV?= QTDIR=${WRKSRC} LD_LIBRARY_PATH=${WRKSRC}/lib:$$LD_LIBRARY_PATH \
PATH=${WRKSRC}/bin:$$PATH
DO_NOT_EXTRACT= demos doc examples mkspecs qmake tools translations \
src/activeqt src/dbus src/gui src/multimedia src/network \
src/opengl src/openvg src/phonon src/qt3support \
src/s60installs src/s60main src/script src/scripttools src/svg \
src/testlib src/tools src/winmain src/xml src/xmlpatterns \
src/3rdparty/clucene src/3rdparty/freetype \
src/3rdparty/libjpeg src/3rdparty/libmng src/3rdparty/libpng \
src/3rdparty/libtiff src/3rdparty/phonon src/3rdparty/webkit
.for dne in ${DO_NOT_EXTRACT}
EXTRACT_AFTER_ARGS+= --exclude '${DISTNAME}/${dne}'
.endfor
BUILD_WRKSRC= ${WRKSRC}/src/${PORTNAME}
INSTALL_WRKSRC= ${BUILD_WRKSRC}
pre-configure:
${MKDIR} ${WRKSRC}/mkspecs
${LN} -sf ${QMAKE} ${WRKSRC}/bin/qmake
${LN} -sf ${MOC} ${WRKSRC}/bin/moc
post-configure:
${REINPLACE_CMD} -e 's|${PREFIX}/${QT_LIBDIR_REL}/pkgconfig|${PREFIX}/libdata/pkgconfig|g' \
-e 's|.*$$(QMAKE).*||g' ${BUILD_WRKSRC}/Makefile
${REINPLACE_CMD} -E -e 's|-L.[^[:space:]]*qt-x11-opensource.[^[:space:]]*lib||g' \
-E -e 's|(.*location=).*moc|\1${PREFIX}/${QT_BINDIR_REL}/${MOC:T}|g' \
-E -e 's|(.*location=).*uic|\1${PREFIX}/${QT_BINDIR_REL}/${UIC:T}|g' \
${WRKSRC}/lib/pkgconfig/QtSql.pc
.include <bsd.port.mk>