39ced03cc1
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]
51 lines
1.7 KiB
Makefile
51 lines
1.7 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= declarative
|
|
DISTVERSION= ${QT4_VERSION}
|
|
CATEGORIES= x11-toolkits
|
|
PKGNAMEPREFIX= qt4-
|
|
|
|
MAINTAINER= kde@FreeBSD.org
|
|
COMMENT= Qt declarative framework for dynamic user interfaces
|
|
|
|
USE_QT4= qmake_build moc_build rcc_build uic_build corelib gui network \
|
|
opengl script sql svg xml xmlpatterns
|
|
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/multimedia src/opengl src/openvg \
|
|
src/phonon src/qt3support src/s60installs src/s60main \
|
|
src/scripttools src/svg src/testlib src/tools src/winmain \
|
|
src/xml 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
|
|
${LN} -sf ${UIC} ${WRKSRC}/bin/uic
|
|
|
|
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/QtDeclarative.pc
|
|
|
|
.include <bsd.port.mk>
|