git: af073c18a312 - main - devel/qtcreator: Really fix build with LLVM 19
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 02 Nov 2024 16:15:01 UTC
The branch main has been updated by jhale: URL: https://cgit.FreeBSD.org/ports/commit/?id=af073c18a31257e36538a52e2e7ebdf900e0d888 commit af073c18a31257e36538a52e2e7ebdf900e0d888 Author: Jason E. Hale <jhale@FreeBSD.org> AuthorDate: 2024-11-02 15:54:46 +0000 Commit: Jason E. Hale <jhale@FreeBSD.org> CommitDate: 2024-11-02 16:14:51 +0000 devel/qtcreator: Really fix build with LLVM 19 Clang >= 19.1.0-rc1 enables C++17 relaxed template template argument matching by default. The workaround in qtcreator before this was the case is now causing build failures. Add upstream patch to fix build of the clang-format plugin with clang-format19. MFH: 2024Q4 --- devel/qtcreator/Makefile | 3 +++ devel/qtcreator/distinfo | 4 +++- .../files/patch-src_libs_utils_algorithm.h | 26 ++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/devel/qtcreator/Makefile b/devel/qtcreator/Makefile index b83c70652f04..860dffa66d68 100644 --- a/devel/qtcreator/Makefile +++ b/devel/qtcreator/Makefile @@ -6,6 +6,9 @@ MASTER_SITES= QT/official_releases/qtcreator/${DISTVERSION:R}/${DISTVERSION} DISTNAME= qt-creator-opensource-src-${DISTVERSION} DIST_SUBDIR= KDE/Qt/qtcreator +PATCH_SITES= https://github.com/qt-creator/qt-creator/commit/ +PATCHFILES+= f175ec933f1c5c5d7a345edbaacc8ff90202aee2.patch:-p1 # clang-format19 fix; will be in qtcreator 15.0 + MAINTAINER= kde@FreeBSD.org COMMENT= C++ and QML IDE for Qt development WWW= https://qt-project.org/wiki/Category:Tools::QtCreator diff --git a/devel/qtcreator/distinfo b/devel/qtcreator/distinfo index b56d09982207..d71289b05176 100644 --- a/devel/qtcreator/distinfo +++ b/devel/qtcreator/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1727826035 +TIMESTAMP = 1730535650 SHA256 (KDE/Qt/qtcreator/qt-creator-opensource-src-14.0.2.tar.xz) = b2d2f878bb6928a8e6e30d87600bdd93cf404c2619a151c64bdcdc8cd0783892 SIZE (KDE/Qt/qtcreator/qt-creator-opensource-src-14.0.2.tar.xz) = 52423044 +SHA256 (KDE/Qt/qtcreator/f175ec933f1c5c5d7a345edbaacc8ff90202aee2.patch) = 5f4528f1b927c68a0a162a9f2c1b01d49387355eb6e5640dd2b2a8332d6383f9 +SIZE (KDE/Qt/qtcreator/f175ec933f1c5c5d7a345edbaacc8ff90202aee2.patch) = 1196 diff --git a/devel/qtcreator/files/patch-src_libs_utils_algorithm.h b/devel/qtcreator/files/patch-src_libs_utils_algorithm.h new file mode 100644 index 000000000000..cbe9421ff8bc --- /dev/null +++ b/devel/qtcreator/files/patch-src_libs_utils_algorithm.h @@ -0,0 +1,26 @@ +Fix build with LLVM >= 19.1.0-rc1. + +Clang >= 19.1.0-rc1 enables C++17 relaxed template template argument +matching by default. The workaround in qtcreator before this was the +case is now causing build failures. + +--- src/libs/utils/algorithm.h.orig 2024-09-27 01:17:49 UTC ++++ src/libs/utils/algorithm.h +@@ -258,7 +258,7 @@ Q_REQUIRED_RESULT decltype(auto) transform(SC &&contai + typename Result = std::decay_t<std::invoke_result_t<F, Value&>>, + typename ResultContainer = C<Result>> + Q_REQUIRED_RESULT decltype(auto) transform(SC &&container, F function); +-#ifdef Q_CC_CLANG ++#if defined(Q_CC_CLANG) && !defined(__cpp_template_template_args) + // "Matching of template template-arguments excludes compatible templates" + // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0522r0.html (P0522R0) + // in C++17 makes the above match e.g. C=std::vector even though that takes two +@@ -809,7 +809,7 @@ Q_REQUIRED_RESULT decltype(auto) transform(SC &&contai + return transform<ResultContainer>(std::forward<SC>(container), function); + } + +-#ifdef Q_CC_CLANG ++#if defined(Q_CC_CLANG) && !defined(__cpp_template_template_args) + template<template<typename, typename> class C, // result container type + typename SC, // input container type + typename F, // function type