diff --git a/devel/qt5-buildtools/Makefile b/devel/qt5-buildtools/Makefile index e9264a322ef4..eb3b7049076b 100644 --- a/devel/qt5-buildtools/Makefile +++ b/devel/qt5-buildtools/Makefile @@ -1,44 +1,45 @@ PORTNAME= buildtools PORTVERSION= ${QT5_VERSION}${QT5_KDE_PATCH} +PORTREVISION= 1 CATEGORIES= devel PKGNAMEPREFIX= qt5- MAINTAINER= kde@FreeBSD.org COMMENT= Qt build tools USES= compiler:c++11-lang libtool perl5 qmake:no_env qt-dist:5,base USE_PERL5= extract HAS_CONFIGURE= yes CONFIGURE_ARGS= -no-gui -no-xcb QT_BINARIES= yes BUILD_WRKSRC= ${WRKSRC}/src/tools/bootstrap INSTALL_WRKSRC= ${BUILD_WRKSRC} MORE_WRKSRCS= src/tools/moc \ src/tools/rcc post-configure: .for d in src/tools/bootstrap ${MORE_WRKSRCS} ${MKDIR} ${WRKSRC}/${d} cd ${WRKSRC}/${d} && ${SETENV} ${QMAKE_ENV} ${_QMAKE} ${QMAKE_ARGS} ${WRKSRC}/${d} .endfor post-build: .for d in ${MORE_WRKSRCS} @cd ${WRKSRC}/${d} && \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} \ ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET} .endfor post-install: .for d in ${MORE_WRKSRCS} @cd ${WRKSRC}/${d} && \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} \ ${MAKE_ARGS} ${INSTALL_TARGET} .endfor ${INSTALL_SCRIPT} ${WRKSRC}/bin/syncqt.pl \ ${STAGEDIR}${PREFIX}/${QT_BINDIR_REL}/syncqt.pl ${RLN} ${STAGEDIR}${QT_BINDIR}/moc ${STAGEDIR}${PREFIX}/bin/moc-qt5 ${RLN} ${STAGEDIR}${QT_BINDIR}/rcc ${STAGEDIR}${PREFIX}/bin/rcc-qt5 .include diff --git a/devel/qt5-buildtools/files/patch-src_tools_moc_preprocessor.cpp b/devel/qt5-buildtools/files/patch-src_tools_moc_preprocessor.cpp new file mode 100644 index 000000000000..32d76d0333ae --- /dev/null +++ b/devel/qt5-buildtools/files/patch-src_tools_moc_preprocessor.cpp @@ -0,0 +1,40 @@ +Backport of [1] to handle the 'L' integer suffix. + +[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f0039bd5170ad84d972a023316e8d153b89f841a + +--- src/tools/moc/preprocessor.cpp.orig 2025-11-01 21:43:44 UTC ++++ src/tools/moc/preprocessor.cpp +@@ -247,7 +247,8 @@ Symbols Preprocessor::tokenize(const QByteArray& input + ++data; + while (is_hex_char(*data) || *data == '\'') + ++data; +- } ++ } else if (*data == 'L') ++ ++data; + break; + } + token = FLOATING_LITERAL; +@@ -424,7 +425,8 @@ Symbols Preprocessor::tokenize(const QByteArray& input + ++data; + while (is_hex_char(*data) || *data == '\'') + ++data; +- } ++ } else if (*data == 'L') ++ ++data; + break; + } + token = PP_FLOATING_LITERAL; +@@ -951,7 +953,12 @@ int PP_Expression::primary_expression() + test(PP_RPAREN); + } else { + next(); +- value = lexem().toInt(nullptr, 0); ++ const QByteArray &lex = lexem(); ++ if (lex.endsWith('L')) { ++ value = lex.left(lex.size() - 1).toInt(nullptr, 0); ++ } else { ++ value = lex.toInt(nullptr, 0); ++ } + } + return value; + }