785011bfec
download.qt-project.org is a CDN and should redirect to the closest mirror anyway, but a few more mirrors have been added just in case.
211 lines
6.8 KiB
Makefile
211 lines
6.8 KiB
Makefile
# Created by: will@cvs.kde.org
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= qt
|
|
PORTVERSION= 3.3.8
|
|
PORTREVISION= 14
|
|
CATEGORIES?= x11-toolkits ipv6
|
|
MASTER_SITES= ${MASTER_SITE_QT}
|
|
MASTER_SITE_SUBDIR= archive/qt/${PORTVERSION:R:R}
|
|
DISTNAME= qt-x11-free-${PORTVERSION}
|
|
DIST_SUBDIR= KDE
|
|
|
|
MAINTAINER= ports@FreeBSD.org
|
|
COMMENT= Multiplatform C++ application framework
|
|
|
|
DEPRECATED= No upstream activity since 2008; unmaintained
|
|
EXPIRATION_DATE= 2013-07-01
|
|
|
|
BUILD_DEPENDS= qmake:${PORTSDIR}/devel/qmake
|
|
|
|
LIB_DEPENDS+= mng:${PORTSDIR}/graphics/libmng \
|
|
png15:${PORTSDIR}/graphics/png \
|
|
jpeg:${PORTSDIR}/graphics/jpeg
|
|
|
|
EXTRA_PATCHES= ${PATCHDIR}/0081-format-string-fixes.diff
|
|
CONFLICTS= linguist-0.* qt-2.* qt-3.0.* \
|
|
qt-3.1.* qt-3.2.* qt-designer-2.* xfmail-1.5.[0-5] \
|
|
xfmail-1.5.5_[1-2]
|
|
|
|
USE_BZIP2= yes
|
|
USE_XORG= xinerama sm inputproto xi
|
|
REINPLACE_ARGS= -i ""
|
|
HAS_CONFIGURE= yes
|
|
USE_LDCONFIG= yes
|
|
|
|
.if defined(PACKAGE_BUILDING)
|
|
TMPDIR?= /tmp
|
|
.endif
|
|
|
|
CONFIGURE_ARGS+=-system-libpng -system-libjpeg -system-libmng \
|
|
-qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng \
|
|
-system-zlib -sm -qt-gif -thread \
|
|
-fast -xinerama -no-g++-exceptions -stl -no-nis \
|
|
-I${LOCALBASE}/include/libpng15 \
|
|
${CUPS} -shared -prefix ${PREFIX} -datadir ${DATADIR} \
|
|
-verbose -docdir ${DOCSDIR} -tablet -ipv6 \
|
|
-DPNG_DEPSTRUCT= \
|
|
-plugindir ${PREFIX}/lib/plugins
|
|
CONFIGURE_ENV?= QTDIR=${WRKSRC} PATH=${WRKSRC}/bin:$$PATH
|
|
MAKE_ENV?= TMPDIR=${TMPDIR} \
|
|
QTDIR=${WRKSRC} \
|
|
LD_LIBRARY_PATH=${WRKSRC}/lib:$$LD_LIBRARY_PATH \
|
|
PATH=${WRKSRC}/bin:$$PATH
|
|
ALL_TARGET= sub-tools
|
|
EXTRACT_AFTER_ARGS= \
|
|
--exclude '${DISTNAME}/mkspecs' --exclude '${DISTNAME}/qmake' \
|
|
--exclude '${DISTNAME}/examples' --exclude '${DISTNAME}/tutorial' \
|
|
--exclude '${DISTNAME}/extensions/nsplugin/src/[^q]*' \
|
|
--exclude '${DISTNAME}/include/jri*' \
|
|
--exclude '${DISTNAME}/include/np*' \
|
|
--exclude '${DISTNAME}/doc/html/qmake*'
|
|
|
|
OPTIONS_DEFINE= CUPS KDE_PATCHES NAS OPENGL XFT
|
|
OPTIONS_DEFAULT= CUPS NAS OPENGL XFT
|
|
KDE_PATCHES_DESC= Apply KDE patches
|
|
|
|
EXTRACT_COOKIE= ${WRKDIR}/.extract_done.${PORTNAME}.${PREFIX:S/\//_/g}
|
|
CONFIGURE_COOKIE=${WRKDIR}/.configure_done.${PORTNAME}.${PREFIX:S/\//_/g}
|
|
INSTALL_COOKIE= ${WRKDIR}/.install_done.${PORTNAME}.${PREFIX:S/\//_/g}
|
|
BUILD_COOKIE= ${WRKDIR}/.build_done.${PORTNAME}.${PREFIX:S/\//_/g}
|
|
PATCH_COOKIE= ${WRKDIR}/.patch_done.${PORTNAME}.${PREFIX:S/\//_/g}
|
|
PACKAGE_COOKIE= ${WRKDIR}/.package_done.${PORTNAME}.${PREFIX:S/\//_/g}
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
# The previous Qt port versions installed qmake and qmake's specs under LOCALBASE
|
|
# The new devel/qmake port installs them under LOCALBASE. We can use
|
|
# either one here, but we prefer the newer:
|
|
.for d in ${LOCALBASE} ${PREFIX}
|
|
. if exists($d/share/qt/mkspecs/freebsd-g++/qplatformdefs.h)
|
|
QTBASE=$d
|
|
PLATFORM=${QTBASE}/share/qt/mkspecs/freebsd-g++
|
|
. endif
|
|
.endfor
|
|
|
|
.if defined(PLATFORM)
|
|
CONFIGURE_ARGS+=-platform ${PLATFORM}
|
|
.else
|
|
CONFIGURE_ARGS+=-platform ${LOCALBASE}/share/qt/mkspecs/freebsd-g++
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MXFT}
|
|
LIB_DEPENDS+= Xft.2:${PORTSDIR}/x11-fonts/libXft
|
|
.elif defined(WITHOUT_XFT)
|
|
CONFIGURE_ARGS+=-no-xft
|
|
.endif
|
|
|
|
.if defined(WANT_QT_DEBUG)
|
|
CONFIGURE_ARGS+=-debug
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MOPENGL}
|
|
USE_GL= glu
|
|
CONFIGURE_ARGS+=-dlopen-opengl
|
|
.else
|
|
CONFIGURE_ARGS+=-disable-opengl
|
|
.endif # WITHOUT_OPENGL
|
|
|
|
.if ${PORT_OPTIONS:MCUPS}
|
|
LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-client
|
|
CUPS= -cups -L${LOCALBASE}/lib -I${LOCALBASE}/include
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MNAS}
|
|
LIB_DEPENDS+= audio:${PORTSDIR}/audio/nas
|
|
CONFIGURE_ARGS+=-system-nas-sound -no-pch
|
|
.else
|
|
CONFIGURE_ARGS+=-no-nas-sound -no-pch
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MKDE_PATCHES}
|
|
EXTRA_PATCHES+= ${PATCHDIR}/0001-dnd_optimization.patch \
|
|
${PATCHDIR}/0002-dnd_active_window_fix.patch \
|
|
${PATCHDIR}/0007-qpixmap_constants.patch \
|
|
${PATCHDIR}/0015-qiconview-finditem.patch \
|
|
${PATCHDIR}/0016-qiconview-rebuildcontainer.patch \
|
|
${PATCHDIR}/0017-qiconview-ctrl_rubber.patch \
|
|
${PATCHDIR}/0020-designer-deletetabs.patch \
|
|
${PATCHDIR}/0032-fix_rotated_randr.diff \
|
|
${PATCHDIR}/0035-qvaluelist-streaming-operator.patch \
|
|
${PATCHDIR}/0038-dragobject-dont-prefer-unknown.patch \
|
|
${PATCHDIR}/0044-qscrollview-windowactivate-fix.diff \
|
|
${PATCHDIR}/0046-qiconview-no-useless-scrollbar.diff \
|
|
${PATCHDIR}/0047-fix-kmenu-width.diff \
|
|
${PATCHDIR}/0048-qclipboard_hack_80072.patch \
|
|
${PATCHDIR}/0049-qiconview-rubber_on_move.diff \
|
|
${PATCHDIR}/0056-khotkeys_input_84434.patch \
|
|
${PATCHDIR}/0059-qpopup_has_mouse.patch \
|
|
${PATCHDIR}/0060-qpopup_ignore_mousepos.patch \
|
|
${PATCHDIR}/0061-qscrollview-propagate-horizontal-wheelevent.patch \
|
|
${PATCHDIR}/0073-xinerama-aware-qpopup.patch \
|
|
${PATCHDIR}/0076-fix-qprocess.diff \
|
|
${PATCHDIR}/0078-argb-visual-hack.patch \
|
|
${PATCHDIR}/0079-compositing-types.patch \
|
|
${PATCHDIR}/0080-net-wm-sync-request.patch \
|
|
${PATCHDIR}/xxxx-qt-font-default-subst.patch
|
|
PKGNAMESUFFIX= -copy
|
|
COMMENT+= (+ KDE patches)
|
|
CONFLICTS+= qt-3.3.*
|
|
.else
|
|
CONFLICTS+= qt-copy-[0-9]*
|
|
.endif
|
|
|
|
.if exists(${LOCALBASE}/include/qt2/qapp.h)
|
|
BROKEN= You have QT2 headers installed! Installing this port
|
|
BROKEN+=will result in conflicts between QT3 and QT2!
|
|
.endif
|
|
|
|
post-patch:
|
|
.if defined(PLATFORM)
|
|
@${REINPLACE_CMD} -e 's|$$outpath/bin/qmake|${QTBASE}/bin/qmake|g' \
|
|
${WRKSRC}/configure
|
|
@${REINPLACE_CMD} -e 's|$$OUTDIR/bin/qmake|${QTBASE}/bin/qmake|g' \
|
|
${WRKSRC}/config.tests/unix/endian.test \
|
|
${WRKSRC}/config.tests/unix/largefile.test \
|
|
${WRKSRC}/config.tests/unix/ptrsize.test
|
|
.else
|
|
@${REINPLACE_CMD} -e 's|$$outpath/bin/qmake|${LOCALBASE}/bin/qmake|g' \
|
|
${WRKSRC}/configure
|
|
@${REINPLACE_CMD} -e 's|$$OUTDIR/bin/qmake|${LOCALBASE}/bin/qmake|g' \
|
|
${WRKSRC}/config.tests/unix/endian.test \
|
|
${WRKSRC}/config.tests/unix/largefile.test \
|
|
${WRKSRC}/config.tests/unix/ptrsize.test
|
|
.endif
|
|
@${REINPLACE_CMD} -e 's|^ cd qmake.*||' ${WRKSRC}/Makefile
|
|
@${REINPLACE_CMD} -e 's|^CFG_PRECOMPILE=no|CFG_PRECOMPILE=auto|g' \
|
|
${WRKSRC}/configure
|
|
|
|
post-configure:
|
|
@${REINPLACE_CMD} -e \
|
|
's|/lib/pkgconfig/|/libdata/pkgconfig/|g' \
|
|
-e 's|^INCPATH.*=|INCPATH = -I../include|g' \
|
|
${WRKSRC}/src/Makefile
|
|
@${REINPLACE_CMD} -e \
|
|
's|^prefix=.*|prefix=${PREFIX}|g' ${WRKSRC}/lib/qt-mt.pc
|
|
|
|
post-build:
|
|
.for tool in makeqpf mergetr msg2qm qembed qvfb
|
|
@cd ${WRKSRC}/tools/${tool}; ${SETENV} ${MAKE_ENV} ${MAKE}
|
|
.endfor
|
|
@${RM} -f ${WRKSRC}/doc/html/qmake*
|
|
|
|
PREFIX_REAL=$$(/bin/realpath ${PREFIX}); \
|
|
${REINPLACE_CMD} -e "s|$${PREFIX_REAL}/include/q.*h||g" \
|
|
-e "s|$${PREFIX_REAL}/include/private/q.*h||g" \
|
|
${WRKSRC}/src/Makefile
|
|
|
|
# Work around qmake generated dependencies
|
|
pre-su-install:
|
|
${MKDIR} ${PREFIX}/lib ${PREFIX}/bin
|
|
${INSTALL_DATA} ${WRKSRC}/lib/*.prl ${PREFIX}/lib
|
|
${INSTALL_SCRIPT} ${WRKSRC}/bin/findtr ${PREFIX}/bin
|
|
.for tool in makeqpf mergetr msg2qm qembed qvfb
|
|
${INSTALL_PROGRAM} ${WRKSRC}/tools/${tool}/${tool} ${PREFIX}/bin
|
|
.endfor
|
|
|
|
post-install:
|
|
${RM} -f ${PREFIX}/lib/libqt-mt.la
|
|
@${CAT} ${PKGMESSAGE}
|
|
|
|
.include <bsd.port.post.mk>
|