ports/devel/qt5-core/Makefile
Jason E. Hale 9d76916067 Qt5: Update to 5.15.17 (getting down to the end)
Upstream standard support for Qt5 is officially over. [1] In short,
that means get your ports off of Qt5 ASAP, especially end-user
applications. FreeBSD deprecation of Qt5 is coming soon! It will likely
be a year of lead time, but please help in the meantime and remove qt5
flavors and child ports whenever possible.

www/qt5-webengine has been updated to 5.15.19 with security patches up to
Chromium 135.0.7049.95. It's unclear at this point if further security
patches will be publically available. The Qt5 WebEngine component,
however, is and forever will be based on Chromium 87.0.4280.144, which
is over 4 years old. Props to upstream for their backports over all
these years and making them publically available (probably more to do
with licensing constraints than anything, but hey).

We otherwise depend on KDE as our direct upstream to roll our distfiles,
which we have been hosting locally for over 3 years. Since Qt upstream
drops the LGPL releases of Qt 5.15.x a year later, there's no guarantee
KDE will rebase their patchset over the next year for the remaining two
.18 and .19 releases. This might be the last update for Qt5 on FreeBSD.

[1] https://www.qt.io/blog/qt-5.15-extended-support-for-subscription-license-holders
2025-06-15 06:33:10 -04:00

68 lines
2.1 KiB
Makefile

PORTNAME= core
PORTVERSION= ${QT5_VERSION}${QT5_KDE_PATCH}
CATEGORIES= devel
PKGNAMEPREFIX= qt5-
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt core non-graphical module
LIB_DEPENDS= libdouble-conversion.so:devel/double-conversion \
libicui18n.so:devel/icu \
libpcre2-posix.so:devel/pcre2 \
libzstd.so:archivers/zstd
USES= compiler:c++11-lang gnome perl5 qmake:no_env qt-dist:5,base
USE_GNOME= glib20
USE_PERL5= extract
USE_QT= qmake:build buildtools:build
HAS_CONFIGURE= yes
# Disable (almost) everything to install minimal qconfig.h.
# -no-feature-* adds QT_NO_* (for features which have no switch or
# that need to be detected).
CONFIGURE_ARGS= -no-accessibility -no-gif -no-libpng -no-libjpeg \
-no-openssl -no-gui -no-widgets -no-cups \
-no-iconv -no-dbus -no-opengl \
-no-egl -no-evdev \
-no-fontconfig -no-freetype -no-gtk -no-harfbuzz \
-no-libudev -no-xcb -no-xcb-xlib \
-no-xkbcommon -no-libinput
USE_LDCONFIG= ${PREFIX}/${QT_LIBDIR_REL}
BUILD_WRKSRC= ${WRKSRC}/src/corelib
INSTALL_WRKSRC= ${BUILD_WRKSRC}
QT_BINARIES= yes
QT_DEFINES= GLIB
QT_CONFIG= glib icu
MORE_WRKSRCS= src/tools/bootstrap src/corelib src/tools/qlalr
post-configure:
.for d in ${MORE_WRKSRCS}
${MKDIR} ${WRKSRC}/${d}
cd ${WRKSRC}/${d} && ${SETENV} ${QMAKE_ENV} ${_QMAKE} ${QMAKE_ARGS} ${WRKSRC}/${d}
.endfor
pre-build:
.for d in ${MORE_WRKSRCS}
${MKDIR} ${WRKSRC}/${d}
cd ${WRKSRC}/${d} && \
${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} \
${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET}
.endfor
post-install:
# Allow qconfig.h to be customized by single ports.
${AWK} 'BEGIN{print "#include <QtCore/qconfig-modules.h>"}{print}' \
${STAGEDIR}${PREFIX}/${QT_INCDIR_REL}/QtCore/qconfig.h > ${WRKDIR}/qconfig.h
# Manually install qlalr
cd ${WRKSRC}/src/tools/qlalr && \
${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} \
${MAKE_ARGS} ${INSTALL_TARGET}
# Cleanup qconfig.h and remove stray '#define QT_NO_FOO'
${REINPLACE_CMD} "/#define QT_NO_/d" ${WRKDIR}/qconfig.h
${MV} ${WRKDIR}/qconfig.h ${STAGEDIR}${PREFIX}/${QT_INCDIR_REL}/QtCore/qconfig.h
.include <bsd.port.mk>