freebsd-ports/misc/qt4-qtconfig/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

65 lines
2 KiB
Makefile

# Created by: lofi@FreeBSD.org
# $FreeBSD$
PORTNAME= qtconfig
DISTVERSION= ${QT4_VERSION}
CATEGORIES= misc
PKGNAMEPREFIX= qt4-
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt 4 graphical configuration utility
USES= pkgconfig
USE_QT4= qmake_build moc_build rcc_build uic_build \
corelib dbus gui xml
QT_DIST= yes
HAS_CONFIGURE= yes
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
DESKTOP_ENTRIES="Qt 4 Configuration" "" \
"${PREFIX}/share/pixmaps/qtconfig-qt4.png" \
"${PREFIX}/${QT_BINDIR_REL}/qtconfig${_QT_BINSUFX}" \
"Settings;Qt;" true
DO_NOT_EXTRACT= demos doc examples mkspecs qmake translations \
src/activeqt src/dbus src/multimedia src/network src/opengl \
src/openvg src/s60installs src/s60main src/script \
src/scripttools src/sql 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/webkit
.for dne in ${DO_NOT_EXTRACT}
EXTRACT_AFTER_ARGS+= --exclude '${DISTNAME}/${dne}'
.endfor
OPTIONS_DEFINE= PHONON
OPTIONS_DEFAULT=PHONON
PHONON_DESC= Phonon multimedia framework support (implies GStreamer)
PHONON_USE= GSTREAMER=yes QT4=phonon,phonon-gst
PHONON_CONFIGURE_ON= -phonon -gstreamer
PHONON_CONFIGURE_OFF= -no-phonon -no-gstreamer
BUILD_WRKSRC= ${WRKSRC}/tools/${PORTNAME}
INSTALL_WRKSRC= ${BUILD_WRKSRC}
pre-configure:
${REINPLACE_CMD} -e 's|^TARGET.*|TARGET=qtconfig${_QT_BINSUFX}|g' \
${BUILD_WRKSRC}/${PORTNAME}.pro
${ECHO_CMD} "INCLUDEPATH+=${EXTRA_INCL}" >> ${BUILD_WRKSRC}/${PORTNAME}.pro
${MKDIR} ${WRKSRC}/mkspecs
${LN} -sf ${QMAKE} ${WRKSRC}/bin/qmake
${LN} -sf ${MOC} ${WRKSRC}/bin/moc
${LN} -sf ${UIC} ${WRKSRC}/bin/uic
${LN} -sf ${RCC} ${WRKSRC}/bin/rcc
post-install:
${INSTALL_DATA} ${INSTALL_WRKSRC}/images/appicon.png \
${STAGEDIR}${PREFIX}/share/pixmaps/qtconfig-qt4.png
.include <bsd.port.mk>