The following patches is necessary to build tdesktop with Qt 6.6. Otherwise we end with the following issue like FreeBSD:
usr/include/c++/v1/concept:318:1: error: Parse error at "::" Patch form FreeBSD: https://cgit.freebsd.org/ports/commit/?id=5244b8425c414f0bca521df362eb62bb334640b3 OK? diff --git a/devel/cmake/Makefile b/devel/cmake/Makefile index d87c0496312..87118d8541b 100644 --- a/devel/cmake/Makefile +++ b/devel/cmake/Makefile @@ -6,6 +6,7 @@ VER = 3.27.7 EPOCH = 0 DISTNAME = cmake-${VER} CATEGORIES = devel +REVISION = 0 HOMEPAGE = https://www.cmake.org/ diff --git a/devel/cmake/patches/patch-Source_cmQtAutoGenInitializer_cxx b/devel/cmake/patches/patch-Source_cmQtAutoGenInitializer_cxx new file mode 100644 index 00000000000..e4bcfa8e752 --- /dev/null +++ b/devel/cmake/patches/patch-Source_cmQtAutoGenInitializer_cxx @@ -0,0 +1,26 @@ +CMake >= 3.27 exports the CXX std to moc. This is a workaround for +a moc parsing bug that happens parsing headers from libc++ < 14 when +the CXX std > 17. + +usr/include/c++/v1/concept:318:1: error: Parse error at "::" + +Moc should theoretically be able to parse this. [1] Not exactly sure +why it's failing. Upstream bug report [2] + +[1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/tools/moc/moc.cpp?h=6.6.0#n631 +[2] https://bugreports.qt.io/browse/QTBUG-117765 + +Index: Source/cmQtAutoGenInitializer.cxx +--- Source/cmQtAutoGenInitializer.cxx.orig ++++ Source/cmQtAutoGenInitializer.cxx +@@ -1797,6 +1797,10 @@ bool cmQtAutoGenInitializer::SetupWriteAutogenInfo() + if (this->Moc.PredefsCmd.size() >= 3) { + this->Moc.PredefsCmd.insert(this->Moc.PredefsCmd.begin() + 1, + CompileOptionValue); ++#if (defined(__FreeBSD__) && __FreeBSD_version < 1302000) || defined(__OpenBSD__) ++ this->Moc.PredefsCmd.insert(this->Moc.PredefsCmd.begin() + 1, ++ "-D_LIBCPP_HAS_NO_CONCEPTS"); ++#endif + } + } + info.SetArray("MOC_PREDEFS_CMD", this->Moc.PredefsCmd);