mirror of
https://git.freebsd.org/ports.git
synced 2025-05-12 15:21:51 -04:00
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
This commit is contained in:
parent
26cd6843de
commit
af073c18a3
3 changed files with 32 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
26
devel/qtcreator/files/patch-src_libs_utils_algorithm.h
Normal file
26
devel/qtcreator/files/patch-src_libs_utils_algorithm.h
Normal file
|
@ -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
|
Loading…
Add table
Reference in a new issue