1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-26 09:46:09 +00:00
freebsd-ports/misc/qt4-qtdemo/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

70 lines
2.2 KiB
Makefile

# Created by: lofi@FreeBSD.org
# $FreeBSD$
PORTNAME= qtdemo
DISTVERSION= ${QT4_VERSION}
CATEGORIES= misc
PKGNAMEPREFIX= qt4-
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt 4 demonstration and example applications
USES= pkgconfig
USE_GSTREAMER= yes
USE_QT4= qmake_build moc_build rcc_build uic_build corelib designer \
gui network opengl sql svg qtestlib xml imageformats_run dbus \
script webkit phonon help assistant_run phonon-gst_run scripttools \
xmlpatterns multimedia
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
# qtlogo.png is installed by qt4-gui
DESKTOP_ENTRIES="Qt 4 Examples and Demos" "" \
"${QT_PREFIX}/share/pixmaps/qtlogo.png" \
"${PREFIX}/${QT_BINDIR_REL}/qtdemo" \
"Development;Qt;" true
DO_NOT_EXTRACT= doc mkspecs qmake translations \
src/activeqt src/openvg src/s60installs src/s60main src/tools \
src/winmain src/3rdparty/clucene src/3rdparty/freetype \
src/3rdparty/libjpeg src/3rdparty/libmng src/3rdparty/libpng \
src/3rdparty/libtiff
.for dne in ${DO_NOT_EXTRACT}
EXTRACT_AFTER_ARGS+= --exclude '${DISTNAME}/${dne}'
.endfor
BUILD_WRKSRC= ${WRKSRC}/demos
INSTALL_WRKSRC= ${BUILD_WRKSRC}
post-patch:
${REINPLACE_CMD} -e '/app +=/s|"assistant"|"assistant${_QT_BINSUFX}"|' \
${BUILD_WRKSRC}/${PORTNAME}/menumanager.cpp \
${WRKSRC}/examples/help/remotecontrol/remotecontrol.cpp \
${WRKSRC}/examples/help/simpletextviewer/assistant.cpp
pre-configure:
${MKDIR} ${WRKSRC}/mkspecs/modules
${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-build:
cd ${WRKSRC}/examples && \
${SETENV} ${MAKE_ENV} ${MAKE} ${MAKEFLAGS} ${MAKEFILE} \
${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}
post-install:
cd ${WRKSRC}/examples && \
${SETENV} ${MAKE_ENV} ${MAKE} ${MAKEFLAGS} ${MAKEFILE} \
${MAKE_ARGS} ${INSTALL_TARGET}
${FIND} -E ${STAGEDIR}${PREFIX}/share/examples/qt4/examples/declarative/cppextensions -regex ".*\.(moc|obj|pch|rcc)" -type d | ${XARGS} ${RM} -r
.include <bsd.port.mk>