* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2024-12-11 21:41 Andreas Sturmlechner
0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2024-12-11 21:41 UTC (permalink / raw
To: gentoo-commits
commit: 543cdf7e807132850a42c39f82146133e6432bd7
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 21:40:34 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 21:40:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=543cdf7e
dev-util/clazy: drop 1.11-r4
Bug: https://bugs.gentoo.org/945356
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-util/clazy/Manifest | 1 -
dev-util/clazy/clazy-1.11-r4.ebuild | 57 ------
dev-util/clazy/files/clazy-1.11-fix-llvm-15.patch | 223 ---------------------
dev-util/clazy/files/clazy-1.11-fix-llvm-16.patch | 83 --------
dev-util/clazy/files/clazy-1.11-fix-llvm-17.patch | 38 ----
.../clazy/files/clazy-1.11-fix-regex-detect.patch | 25 ---
.../clazy/files/clazy-1.11-jobs-for-tests.patch | 41 ----
7 files changed, 468 deletions(-)
diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index 9cb5a135f2f6..e7e09153faef 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
-DIST clazy-1.11.tar.xz 404088 BLAKE2B 1a69fe07ef81a0efe3c9db9129083247d60943592967f705d62d3859039cec250673eecc06184f70d134cbab85708d957b0a085beff8b3e46325a69547e005b7 SHA512 6a7c162392dd30aea29669275cea814d6daccf7931b8cdb20997f9bbff5619832d5461a6d0f854ecbc4726e52b6937c4f9cb8651087ffe73676c04239a38ca2b
DIST clazy-1.12.tar.xz 427740 BLAKE2B ad2c78a506132b5fd6b3c22a7e9794c38ddd71242cde6f760e48d0250f6215629007d45303f4b35fdc7717865b8221ab1c2f3c6889a44ea1809e112845f16463 SHA512 7a2b4a753098f15936a4731c82c660c1cd4d81949279435e87f00f7f72bef3e32cb574c8991c0707798581278e9fbcae34d354c1e6b77a15a5e26166d658fa9e
diff --git a/dev-util/clazy/clazy-1.11-r4.ebuild b/dev-util/clazy/clazy-1.11-r4.ebuild
deleted file mode 100644
index 621e8340cbf8..000000000000
--- a/dev-util/clazy/clazy-1.11-r4.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=17
-PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake llvm python-any-r1
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://apps.kde.org/clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="<llvm-core/clang-$((${LLVM_MAX_SLOT} + 1)):="
-DEPEND="${RDEPEND}"
-BDEPEND="test? ( ${PYTHON_DEPS} )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-regex-detect.patch
- "${FILESDIR}"/${P}-fix-llvm-{15,16,17}.patch
- "${FILESDIR}"/${P}-jobs-for-tests.patch
-)
-
-llvm_check_deps() {
- has_version "llvm-core/clang:${LLVM_SLOT}" && has_version "llvm-core/llvm:${LLVM_SLOT}"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-
- llvm_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
- -i CMakeLists.txt || die
-}
-
-src_configure() {
- export LLVM_ROOT="$(get_llvm_prefix -d ${LLVM_MAX_SLOT})"
-
- cmake_src_configure
-}
-
-src_test() {
- # Run tests against built copy, not installed
- # bug #811723
- PATH="${BUILD_DIR}/bin:${PATH}" LD_LIBRARY_PATH="${BUILD_DIR}/lib" cmake_src_test
-}
diff --git a/dev-util/clazy/files/clazy-1.11-fix-llvm-15.patch b/dev-util/clazy/files/clazy-1.11-fix-llvm-15.patch
deleted file mode 100644
index b98e4b1c2fee..000000000000
--- a/dev-util/clazy/files/clazy-1.11-fix-llvm-15.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-From 20fca52da739ebefa47e35f6b338bb99a0da3cfe Mon Sep 17 00:00:00 2001
-From: Cristian Adam <cristian.adam@qt.io>
-Date: Tue, 6 Sep 2022 16:30:02 +0200
-Subject: [PATCH] Build fixes for LLVM/Clang 15.0.0
-
-Change-Id: Icc39a0b1acffb5a6a4798b1259d8ad4e7dd47bc5
----
- CMakeLists.txt | 6 ++++++
- src/PreProcessorVisitor.cpp | 2 +-
- src/PreProcessorVisitor.h | 2 +-
- src/SourceCompatibilityHelpers.h | 15 +++++++++++++++
- src/Utils.cpp | 3 ++-
- src/checkbase.cpp | 4 ++--
- src/checkbase.h | 4 ++--
- src/checks/manuallevel/qt6-fwd-fixes.cpp | 2 +-
- src/checks/manuallevel/qt6-fwd-fixes.h | 2 +-
- src/checks/manuallevel/qt6-header-fixes.cpp | 2 +-
- src/checks/manuallevel/qt6-header-fixes.h | 2 +-
- 11 files changed, 33 insertions(+), 11 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3c780b0d..100135af 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -114,6 +114,10 @@ else()
- set(clang_tooling_refactoring_lib clangToolingRefactor)
- endif()
-
-+if (${LLVM_VERSION} VERSION_GREATER_EQUAL "15.0.0")
-+ set(clang_support_lib clangSupport)
-+endif()
-+
- macro(link_to_llvm name is_standalone)
- if (CLAZY_LINK_CLANG_DYLIB)
- target_link_libraries(${name} clang-cpp)
-@@ -131,6 +135,7 @@ macro(link_to_llvm name is_standalone)
-
- target_link_libraries(${name} ${clang_lib})
- endforeach()
-+ target_link_libraries(${name} ${clang_support_lib})
- target_link_libraries(${name} clangTooling)
- target_link_libraries(${name} clangToolingCore)
- target_link_libraries(${name} ${clang_tooling_refactoring_lib})
-@@ -302,6 +307,7 @@ else()
- clangFrontendTool
- clangRewrite
- clangSerialization
-+ ${clang_support_lib}
- clangTooling
- clangStaticAnalyzerCheckers
- clangStaticAnalyzerCore
-diff --git a/src/PreProcessorVisitor.cpp b/src/PreProcessorVisitor.cpp
-index 5e63a131..5fdfe5f3 100644
---- a/src/PreProcessorVisitor.cpp
-+++ b/src/PreProcessorVisitor.cpp
-@@ -185,7 +185,7 @@ void PreProcessorVisitor::MacroExpands(const Token &MacroNameTok, const MacroDef
-
- void PreProcessorVisitor::InclusionDirective (clang::SourceLocation, const clang::Token &,
- clang::StringRef FileName, bool IsAngled, clang::CharSourceRange FilenameRange,
-- const clang::FileEntry *, clang::StringRef, clang::StringRef,
-+ clazy::OptionalFileEntryRef, clang::StringRef, clang::StringRef,
- const clang::Module *, clang::SrcMgr::CharacteristicKind)
- {
- if (m_ci.getPreprocessor().isInPrimaryFile() && !clazy::endsWith(FileName.str(), ".moc")) {
-diff --git a/src/PreProcessorVisitor.h b/src/PreProcessorVisitor.h
-index dc80ff36..1bb17a5e 100644
---- a/src/PreProcessorVisitor.h
-+++ b/src/PreProcessorVisitor.h
-@@ -71,7 +71,7 @@ protected:
- clang::SourceRange range, const clang::MacroArgs *) override;
- void InclusionDirective (clang::SourceLocation HashLoc, const clang::Token &IncludeTok,
- clang::StringRef FileName, bool IsAngled, clang::CharSourceRange FilenameRange,
-- const clang::FileEntry *File, clang::StringRef SearchPath, clang::StringRef RelativePath,
-+ clazy::OptionalFileEntryRef File, clang::StringRef SearchPath, clang::StringRef RelativePath,
- const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
- private:
- std::string getTokenSpelling(const clang::MacroDefinition &) const;
-diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
-index 4ea923a2..c1a23a4b 100644
---- a/src/SourceCompatibilityHelpers.h
-+++ b/src/SourceCompatibilityHelpers.h
-@@ -144,6 +144,21 @@ inline bool contains_lower(clang::StringRef haystack, clang::StringRef needle)
- #endif
- }
-
-+#if LLVM_VERSION_MAJOR >= 15
-+using OptionalFileEntryRef = clang::Optional<clang::FileEntryRef>;
-+#else
-+using OptionalFileEntryRef = const clang::FileEntry*;
-+#endif
-+
-+inline bool isAscii(clang::StringLiteral *lt)
-+{
-+#if LLVM_VERSION_MAJOR >= 15
-+ return lt->isOrdinary();
-+#else
-+ return lt->isAscii();
-+#endif
-+}
-+
- }
-
- #endif
-diff --git a/src/Utils.cpp b/src/Utils.cpp
-index 3cdf7876..70e0577c 100644
---- a/src/Utils.cpp
-+++ b/src/Utils.cpp
-@@ -25,6 +25,7 @@
- #include "Utils.h"
- #include "StringUtils.h"
- #include "HierarchyUtils.h"
-+#include "SourceCompatibilityHelpers.h"
- #include "StmtBodyRange.h"
- #include "clazy_stl.h"
-
-@@ -670,7 +671,7 @@ const CXXRecordDecl *Utils::recordForMemberCall(CXXMemberCallExpr *call, string
- bool Utils::isAscii(StringLiteral *lt)
- {
- // 'é' for some reason has isAscii() == true, so also call containsNonAsciiOrNull
-- return lt && lt->isAscii() && !lt->containsNonAsciiOrNull();
-+ return lt && clazy::isAscii(lt) && !lt->containsNonAsciiOrNull();
- }
-
- bool Utils::isInDerefExpression(Stmt *s, ParentMap *map)
-diff --git a/src/checkbase.cpp b/src/checkbase.cpp
-index f5936dfd..dcc7c999 100644
---- a/src/checkbase.cpp
-+++ b/src/checkbase.cpp
-@@ -105,7 +105,7 @@ void ClazyPreprocessorCallbacks::MacroDefined(const Token ¯oNameTok, const M
- }
-
- void ClazyPreprocessorCallbacks::InclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
-- clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+ clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
- clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType)
- {
- check->VisitInclusionDirective(HashLoc, IncludeTok, FileName, IsAngled, FilenameRange, File, SearchPath, RelativePath, Imported, FileType);
-@@ -182,7 +182,7 @@ void CheckBase::VisitEndif(SourceLocation, SourceLocation)
- }
-
- void CheckBase::VisitInclusionDirective(clang::SourceLocation , const clang::Token &, clang::StringRef , bool ,
-- clang::CharSourceRange , const clang::FileEntry *, clang::StringRef ,
-+ clang::CharSourceRange , clazy::OptionalFileEntryRef, clang::StringRef ,
- clang::StringRef , const clang::Module *, clang::SrcMgr::CharacteristicKind )
- {
- // Overriden in derived classes
-diff --git a/src/checkbase.h b/src/checkbase.h
-index c5db2daf..02f6a6bf 100644
---- a/src/checkbase.h
-+++ b/src/checkbase.h
-@@ -91,7 +91,7 @@ public:
- void Else(clang::SourceLocation loc, clang::SourceLocation ifLoc) override;
- void Endif(clang::SourceLocation loc, clang::SourceLocation ifLoc) override;
- void InclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
-- clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+ clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
- clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
- private:
- CheckBase *const check;
-@@ -151,7 +151,7 @@ protected:
- virtual void VisitElse(clang::SourceLocation loc, clang::SourceLocation ifLoc);
- virtual void VisitEndif(clang::SourceLocation loc, clang::SourceLocation ifLoc);
- virtual void VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
-- clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+ clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
- clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType);
-
- void enablePreProcessorCallbacks();
-diff --git a/src/checks/manuallevel/qt6-fwd-fixes.cpp b/src/checks/manuallevel/qt6-fwd-fixes.cpp
-index 83bf81ee..c87d9ca0 100644
---- a/src/checks/manuallevel/qt6-fwd-fixes.cpp
-+++ b/src/checks/manuallevel/qt6-fwd-fixes.cpp
-@@ -166,7 +166,7 @@ void Qt6FwdFixes::VisitDecl(clang::Decl *decl)
- }
-
- void Qt6FwdFixes::VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
-- clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+ clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
- clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType)
- {
- auto current_file = m_sm.getFilename(HashLoc);
-diff --git a/src/checks/manuallevel/qt6-fwd-fixes.h b/src/checks/manuallevel/qt6-fwd-fixes.h
-index 37b59d95..bb928ba6 100644
---- a/src/checks/manuallevel/qt6-fwd-fixes.h
-+++ b/src/checks/manuallevel/qt6-fwd-fixes.h
-@@ -47,7 +47,7 @@ public:
- explicit Qt6FwdFixes(const std::string &name, ClazyContext *context);
- void VisitDecl(clang::Decl *decl) override;
- void VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
-- clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+ clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
- clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
- bool m_including_qcontainerfwd = false;
- std::set<clang::StringRef> m_qcontainerfwd_included_in_files;
-diff --git a/src/checks/manuallevel/qt6-header-fixes.cpp b/src/checks/manuallevel/qt6-header-fixes.cpp
-index d458b77c..aaa28093 100644
---- a/src/checks/manuallevel/qt6-header-fixes.cpp
-+++ b/src/checks/manuallevel/qt6-header-fixes.cpp
-@@ -270,7 +270,7 @@ Qt6HeaderFixes::Qt6HeaderFixes(const std::string &name, ClazyContext *context)
- }
-
- void Qt6HeaderFixes::VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
-- clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+ clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
- clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType)
- {
- if (shouldIgnoreFile(HashLoc))
-diff --git a/src/checks/manuallevel/qt6-header-fixes.h b/src/checks/manuallevel/qt6-header-fixes.h
-index ae09f7ad..8ffbb100 100644
---- a/src/checks/manuallevel/qt6-header-fixes.h
-+++ b/src/checks/manuallevel/qt6-header-fixes.h
-@@ -46,7 +46,7 @@ class Qt6HeaderFixes
- public:
- explicit Qt6HeaderFixes(const std::string &name, ClazyContext *context);
- void VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
-- clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+ clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
- clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
-
- };
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.11-fix-llvm-16.patch b/dev-util/clazy/files/clazy-1.11-fix-llvm-16.patch
deleted file mode 100644
index a5759060c112..000000000000
--- a/dev-util/clazy/files/clazy-1.11-fix-llvm-16.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From a05ac7eb6f6198c3f478bd7b5b4bfc062a8d63cc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= <ivan.cukic@kdab.com>
-Date: Tue, 7 Feb 2023 11:06:19 +0100
-Subject: [PATCH] Adapt to API changes in clang/llvm 16
-
----
- src/SourceCompatibilityHelpers.h | 17 ++++++++++++-----
- src/checkbase.h | 1 +
- src/checks/level0/lambda-in-connect.cpp | 2 +-
- 3 files changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
-index c1a23a4b..5e2dc606 100644
---- a/src/SourceCompatibilityHelpers.h
-+++ b/src/SourceCompatibilityHelpers.h
-@@ -107,7 +107,11 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d
-
- inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid)
- {
--#if LLVM_VERSION_MAJOR >= 12
-+#if LLVM_VERSION_MAJOR >= 16
-+ auto buffer = sm.getBufferOrNone(id);
-+ *invalid = !buffer.has_value();
-+ return buffer;
-+#elif LLVM_VERSION_MAJOR >= 12
- auto buffer = sm.getBufferOrNone(id);
- *invalid = !buffer.hasValue();
- return buffer;
-@@ -116,11 +120,12 @@ inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *in
- #endif
- }
-
--#if LLVM_VERSION_MAJOR >= 12
--
-+#if LLVM_VERSION_MAJOR >= 16
-+#define GET_LEXER(id, inputFile, sm, lo) \
-+clang::Lexer(id, inputFile.value(), sm, lo)
-+#elif LLVM_VERSION_MAJOR >= 12
- #define GET_LEXER(id, inputFile, sm, lo) \
- clang::Lexer(id, inputFile.getValue(), sm, lo)
--
- #else
- #define GET_LEXER(id, inputFile, sm, lo) \
- clang::Lexer(id, inputFile, sm, lo)
-@@ -144,7 +149,9 @@ inline bool contains_lower(clang::StringRef haystack, clang::StringRef needle)
- #endif
- }
-
--#if LLVM_VERSION_MAJOR >= 15
-+#if LLVM_VERSION_MAJOR >= 16
-+using OptionalFileEntryRef = clang::CustomizableOptional<clang::FileEntryRef>;
-+#elif LLVM_VERSION_MAJOR >= 15
- using OptionalFileEntryRef = clang::Optional<clang::FileEntryRef>;
- #else
- using OptionalFileEntryRef = const clang::FileEntry*;
-diff --git a/src/checkbase.h b/src/checkbase.h
-index 02f6a6bf..6a8c634b 100644
---- a/src/checkbase.h
-+++ b/src/checkbase.h
-@@ -93,6 +93,7 @@ public:
- void InclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
- clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
- clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
-+
- private:
- CheckBase *const check;
- };
-diff --git a/src/checks/level0/lambda-in-connect.cpp b/src/checks/level0/lambda-in-connect.cpp
-index b0da926f..1ba1126f 100644
---- a/src/checks/level0/lambda-in-connect.cpp
-+++ b/src/checks/level0/lambda-in-connect.cpp
-@@ -71,7 +71,7 @@ void LambdaInConnect::VisitStmt(clang::Stmt *stmt)
-
- for (auto capture : captures) {
- if (capture.getCaptureKind() == clang::LCK_ByRef) {
-- VarDecl *declForCapture = capture.getCapturedVar();
-+ auto *declForCapture = capture.getCapturedVar();
- if (declForCapture && declForCapture != receiverDecl && clazy::isValueDeclInFunctionContext(declForCapture))
- emitWarning(capture.getLocation(), "captured local variable by reference might go out of scope before lambda is called");
- }
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.11-fix-llvm-17.patch b/dev-util/clazy/files/clazy-1.11-fix-llvm-17.patch
deleted file mode 100644
index 6550b63a3506..000000000000
--- a/dev-util/clazy/files/clazy-1.11-fix-llvm-17.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From a9aabd821d8be7932c954e1cdd8d4e10f38f8785 Mon Sep 17 00:00:00 2001
-From: Cristian Adam <cristian.adam@gmail.com>
-Date: Mon, 14 Aug 2023 18:16:01 +0200
-Subject: [PATCH] Fix compilation with LLVM 17.0.0 (rc2)
-
-Change-Id: I9d3fc86185c1e7c86145da043e1982d2979b36e9
----
- .../manuallevel/unexpected-flag-enumerator-value.cpp | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/src/checks/manuallevel/unexpected-flag-enumerator-value.cpp
-+++ b/src/checks/manuallevel/unexpected-flag-enumerator-value.cpp
-@@ -61,8 +61,13 @@ static bool isIntentionallyNotPowerOf2(E
- if (val.isMask() && val.countTrailingOnes() >= MinOnesToQualifyAsMask)
- return true;
-
-+#if LLVM_VERSION_MAJOR >= 17
-+ if (val.isShiftedMask() && val.popcount() >= MinOnesToQualifyAsMask)
-+ return true;
-+#else
- if (val.isShiftedMask() && val.countPopulation() >= MinOnesToQualifyAsMask)
- return true;
-+#endif
-
- if (clazy::contains_lower(en->getName(), "mask"))
- return true;
-@@ -158,7 +163,11 @@ void UnexpectedFlagEnumeratorValue::Visi
-
- for (EnumConstantDecl* enumerator : enumerators) {
- const auto &initVal = enumerator->getInitVal();
-+#if LLVM_VERSION_MAJOR >= 17
-+ if (!initVal.isPowerOf2() && !initVal.isZero() && !initVal.isNegative()) {
-+#else
- if (!initVal.isPowerOf2() && !initVal.isNullValue() && !initVal.isNegative()) {
-+#endif
- if (isIntentionallyNotPowerOf2(enumerator))
- continue;
- const auto value = enumerator->getInitVal().getLimitedValue();
diff --git a/dev-util/clazy/files/clazy-1.11-fix-regex-detect.patch b/dev-util/clazy/files/clazy-1.11-fix-regex-detect.patch
deleted file mode 100644
index a60206365ea1..000000000000
--- a/dev-util/clazy/files/clazy-1.11-fix-regex-detect.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 336b54f28250938cc2a8d7bb78e638e79b6467d5 Mon Sep 17 00:00:00 2001
-From: Hannah von Reth <vonreth@kde.org>
-Date: Fri, 8 Jul 2022 11:19:22 +0000
-Subject: [PATCH] Fix regex detection
-
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 434a57c9..3c780b0d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -81,7 +81,7 @@ endif()
-
- # Look for std::regex support
- message("Looking for std::regex support...")
--try_run(REGEX_RUN_RESULT COMPILE_RESULT ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_LIST_DIR}/.cmake_has_regex_test.cpp)
-+try_run(REGEX_RUN_RESULT COMPILE_RESULT ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_LIST_DIR}/.cmake_has_regex_test.cpp CXX_STANDARD 17 CXX_STANDARD_REQUIRED true)
-
- if(NOT REGEX_RUN_RESULT EQUAL 0)
- message("Using boost::regex instead of std::regex")
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.11-jobs-for-tests.patch b/dev-util/clazy/files/clazy-1.11-jobs-for-tests.patch
deleted file mode 100644
index 372aed3ca09a..000000000000
--- a/dev-util/clazy/files/clazy-1.11-jobs-for-tests.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From ab8993c9e10e09cb24210f76bb5e67f01bb37a9e Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Thu, 17 Nov 2022 19:09:47 +0100
-Subject: [PATCH] tests: add -j/--jobs option for run_tests.py
-
-This way it is possible to customize the number of parallel jobs to
-spawn for the tests, instead of unconditionally using all available
-CPUs. This can be helpful to run the tests without overloading the
-system.
-
-The default is still the number of available CPUs, so there is no
-behaviour change by default.
----
- tests/run_tests.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/run_tests.py b/tests/run_tests.py
-index bf4967d1..ea03ab4c 100755
---- a/tests/run_tests.py
-+++ b/tests/run_tests.py
-@@ -443,6 +443,8 @@ parser.add_argument("--dump-ast", action='store_true',
- help='Dump a unit-test AST to file')
- parser.add_argument(
- "--exclude", help='Comma separated list of checks to ignore')
-+parser.add_argument("-j", "--jobs", type=int, default=multiprocessing.cpu_count(),
-+ help='Parallel jobs to run (defaults to %(default)s)')
- parser.add_argument("check_names", nargs='*',
- help="The name of the check whose unit-tests will be run. Defaults to running all checks.")
- args = parser.parse_args()
-@@ -460,7 +462,7 @@ _verbose = args.verbose
- _no_standalone = args.no_standalone
- _no_fixits = args.no_fixits
- _only_standalone = args.only_standalone
--_num_threads = multiprocessing.cpu_count()
-+_num_threads = args.jobs
- _lock = threading.Lock()
- _was_successful = True
- _qt5_installation = find_qt_installation(
---
-2.35.1
-
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2025-01-27 22:29 Andreas Sturmlechner
0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2025-01-27 22:29 UTC (permalink / raw
To: gentoo-commits
commit: 054f888c6fa1a8c95095aca6734be8e1f1847d7c
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 27 22:11:34 2025 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Jan 27 22:29:39 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=054f888c
dev-util/clazy: drop 1.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-util/clazy/Manifest | 1 -
dev-util/clazy/clazy-1.12.ebuild | 88 ----------------
.../files/clazy-1.12-clang-16-no-src-root.patch | 60 -----------
.../files/clazy-1.12-fix-tests-Qt-detect-1.patch | 78 --------------
.../files/clazy-1.12-fix-tests-Qt-detect-2.patch | 115 ---------------------
dev-util/clazy/files/clazy-1.12-llvm-18.patch | 36 -------
6 files changed, 378 deletions(-)
diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index 4a556fa20ebb..b31e0db22cc0 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
-DIST clazy-1.12.tar.xz 427740 BLAKE2B ad2c78a506132b5fd6b3c22a7e9794c38ddd71242cde6f760e48d0250f6215629007d45303f4b35fdc7717865b8221ab1c2f3c6889a44ea1809e112845f16463 SHA512 7a2b4a753098f15936a4731c82c660c1cd4d81949279435e87f00f7f72bef3e32cb574c8991c0707798581278e9fbcae34d354c1e6b77a15a5e26166d658fa9e
DIST clazy-1.13.tar.xz 434648 BLAKE2B 2659bec375c9f30021cdd86c12ab4416dfb5250706c2f6254cbd848d07e3e4f220b2a74d23390f235939ad3e5390797ea4b5398948e129a07a66a5de2d33c997 SHA512 4044bddb9e60e227ff2ab7e40c32f087a621e00c985e1706a4f4e2ace20f96cc6e78f00781f7d59da5b066aa49370c645db506e41d955409c0e146771a59ee24
diff --git a/dev-util/clazy/clazy-1.12.ebuild b/dev-util/clazy/clazy-1.12.ebuild
deleted file mode 100644
index e99a8da7633f..000000000000
--- a/dev-util/clazy/clazy-1.12.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake llvm-r1 python-any-r1
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://apps.kde.org/clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}')
- $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- ${PYTHON_DEPS}
- dev-qt/qtbase:6[network,xml]
- dev-qt/qtmultimedia:6
- dev-qt/qtnetworkauth:6
- dev-qt/qtscxml:6[qml]
- dev-qt/qtsvg:6
- )
-"
-
-PATCHES=(
- # git master
- "${FILESDIR}"/${P}-fix-tests-Qt-detect-{1,2}.patch
- "${FILESDIR}"/${P}-llvm-18.patch
- # Pending: https://invent.kde.org/sdk/clazy/-/merge_requests/131
- "${FILESDIR}"/${P}-clang-16-no-src-root.patch
-
- "${FILESDIR}"/${P}-LIBRARY_DIRS.patch
- "${FILESDIR}"/${P}-INCLUDE_DIRS.patch
- "${FILESDIR}"/${P}-standalone-install-location.patch
- "${FILESDIR}"/${P}-clazy-install-location.patch
-)
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
- llvm-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
- -i CMakeLists.txt || die
-}
-
-src_configure() {
- local -x LLVM_ROOT="$(get_llvm_prefix -d)"
-
- export CI_JOB_NAME_SLUG="qt6"
-
- cmake_src_configure
-}
-
-src_test() {
- # clazy-standalone wants to be installed in the directory of the clang binary,
- # so it can find the llvm/clang via relative paths.
- # Requires the standalone-install-location.patch.
- # Setup the directories and symlink the system include dir for that.
- local -x LLVM_ROOT="$(get_llvm_prefix -d)"
- local -x CLANG_ROOT="${LLVM_ROOT//llvm/clang}"
- mkdir -p "${BUILD_DIR}${CLANG_ROOT}" || die
-
- ln -s "${CLANG_ROOT}/include" "${BUILD_DIR}${CLANG_ROOT}/include" || die
-
- # Run tests against built copy, not installed
- # bug #811723
- local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}"
- local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib"
-
- chmod +x "${BUILD_DIR}/bin/clazy" || die
-
- cmake_src_test
-}
diff --git a/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch b/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
deleted file mode 100644
index ca88efeaf6cd..000000000000
--- a/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 4fa1ded456626f9c13f1f77212754d6349d12a8a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
-Date: Tue, 27 Feb 2024 21:14:19 +0100
-Subject: [PATCH] [cmake] Adjust for non-installed LLVM
-
-In LLVM 16 llvm-config got --src-root removed.
-Adjust include path for Clang include
----
- cmake/FindClang.cmake | 8 ++++++--
- cmake/FindLLVM.cmake | 6 +++++-
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
-index e438ea5c..b4f0b0a1 100644
---- a/cmake/FindClang.cmake
-+++ b/cmake/FindClang.cmake
-@@ -86,8 +86,12 @@ if(CLANG_FOUND)
- set(CLANG_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
-
- # check whether llvm-config comes from an install prefix
-+ set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
-+ if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
-+ set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
-+ endif()
- execute_process(
-- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-+ COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
- OUTPUT_VARIABLE _llvmSourceRoot
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
-@@ -96,7 +100,7 @@ if(CLANG_FOUND)
- message(STATUS "Detected that llvm-config comes from a build-tree, adding more include directories for Clang")
- list(APPEND CLANG_INCLUDE_DIRS
- "${LLVM_INSTALL_PREFIX}/tools/clang/include" # build dir
-- "${_llvmSourceRoot}/tools/clang/include" # source dir
-+ "${_llvmSourceRoot}/../../clang/include" # source dir
- )
- endif()
-
-diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
-index da02e006..c625eeb5 100644
---- a/cmake/FindLLVM.cmake
-+++ b/cmake/FindLLVM.cmake
-@@ -131,8 +131,12 @@ if (LLVM_FOUND)
- endif()
-
- # potentially add include dir from binary dir for non-installed LLVM
-+ set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
-+ if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
-+ set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
-+ endif()
- execute_process(
-- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-+ COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
- OUTPUT_VARIABLE _llvmSourceRoot
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
deleted file mode 100644
index bca03b24dff4..000000000000
--- a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 61b03a0d9cb319173766383216deee74fd6d800e Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Sat, 7 Sep 2024 11:31:22 +0200
-Subject: [PATCH] Make tests work when clang library is different from system
- default
-
-If we have found the clang folder, we can resolve the executable from there.
-In my case, I was compiling against clang16, but my system default was clang 14.
-The stacktrace is really confusing and hard to understand. Using the
-absolute path makes the log also better to understand and to reproduce
-the test results.
----
- ClazyTests.generated.cmake | 5 ++++-
- cmake/FindLLVM.cmake | 13 +++++++++++++
- dev-scripts/generate.py | 5 ++++-
- 3 files changed, 21 insertions(+), 2 deletions(-)
-
-diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
-index 204f0e5b..49b0f69e 100644
---- a/ClazyTests.generated.cmake
-+++ b/ClazyTests.generated.cmake
-@@ -2,8 +2,11 @@
-
- macro(add_clazy_test name)
- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+ if (CLANG_EXECUTABLE_PATH)
-+ set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
-+ endif()
- set_property(TEST ${name} PROPERTY
-- ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
-+ ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
- )
- endmacro()
-
-diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
-index a1fd9e3f..da02e006 100644
---- a/cmake/FindLLVM.cmake
-+++ b/cmake/FindLLVM.cmake
-@@ -117,6 +117,19 @@ if (LLVM_FOUND)
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
-
-+ execute_process(
-+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --bindir
-+ OUTPUT_VARIABLE LLVM_BIN_DIR
-+ OUTPUT_STRIP_TRAILING_WHITESPACE
-+ )
-+ set(CLANG_EXECUTABLE_PATH "${LLVM_BIN_DIR}/clang")
-+ if(EXISTS ${CLANG_EXECUTABLE_PATH})
-+ message(STATUS "Clang found: ${CLANG_EXECUTABLE_PATH}")
-+ set(CLANG_EXECUTABLE ${CLANG_EXECUTABLE_PATH})
-+ else()
-+ message(WARNING "Clang not found in LLVM bin directory: ${LLVM_BIN_DIR}")
-+ endif()
-+
- # potentially add include dir from binary dir for non-installed LLVM
- execute_process(
- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
-index 2678aaba..11fc5bfc 100755
---- a/dev-scripts/generate.py
-+++ b/dev-scripts/generate.py
-@@ -468,8 +468,11 @@ def generate_ctest(checks):
- contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
- macro(add_clazy_test name)
- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+ if (CLANG_EXECUTABLE_PATH)
-+ set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
-+ endif()
- set_property(TEST ${name} PROPERTY
-- ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
-+ ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
- )
- endmacro()\n
- """
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
deleted file mode 100644
index 9e5276644ad7..000000000000
--- a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From fc058479b1d0ab8498b23a68dcbb56be1b38c793 Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Sat, 7 Sep 2024 14:25:45 +0200
-Subject: [PATCH] Only look for Qt5/Qt6 installs if respective CI job is
- running
-
-We may have a qt6 installation even on a Qt5 image
-
-But in any case, we should only run them on the dedicated im age and not waste CI time otherwise
----
- ClazyTests.generated.cmake | 8 +++++++-
- dev-scripts/generate.py | 8 +++++++-
- tests/run_tests.py | 22 ++++++++++++++--------
- 3 files changed, 28 insertions(+), 10 deletions(-)
-
-diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
-index 49b0f69e..9babc7c5 100644
---- a/ClazyTests.generated.cmake
-+++ b/ClazyTests.generated.cmake
-@@ -1,7 +1,13 @@
- # This file was autogenerated by running: ./dev-scripts/generate.py --generate
-
-+if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
-+ set(TEST_VERSION_OPTION "--qt-versions=5")
-+elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
-+ set(TEST_VERSION_OPTION "--qt-versions=6")
-+endif()
-+
- macro(add_clazy_test name)
-- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+ add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
- if (CLANG_EXECUTABLE_PATH)
- set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
- endif()
-diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
-index 11fc5bfc..a1233698 100755
---- a/dev-scripts/generate.py
-+++ b/dev-scripts/generate.py
-@@ -466,8 +466,14 @@ def generate_ctest(checks):
- filename = clazy_source_path() + 'ClazyTests.generated.cmake'
-
- contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
-+if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
-+ set(TEST_VERSION_OPTION "--qt-versions=5")
-+elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
-+ set(TEST_VERSION_OPTION "--qt-versions=6")
-+endif()
-+
- macro(add_clazy_test name)
-- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+ add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
- if (CLANG_EXECUTABLE_PATH)
- set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
- endif()
-diff --git a/tests/run_tests.py b/tests/run_tests.py
-index 9fb9d5dc..da54e45a 100755
---- a/tests/run_tests.py
-+++ b/tests/run_tests.py
-@@ -457,6 +457,8 @@ parser.add_argument("--only-standalone", action='store_true',
- help='Only run clazy-standalone')
- parser.add_argument("--dump-ast", action='store_true',
- help='Dump a unit-test AST to file')
-+parser.add_argument("--qt-versions", type=int, choices=[5, 6], nargs='+', default=[5, 6],
-+ help='Specify one or more Qt versions to use (default: 5 and 6)')
- parser.add_argument(
- "--exclude", help='Comma separated list of checks to ignore')
- parser.add_argument("-j", "--jobs", type=int, default=multiprocessing.cpu_count(),
-@@ -481,10 +483,14 @@ _only_standalone = args.only_standalone
- _num_threads = args.jobs
- _lock = threading.Lock()
- _was_successful = True
--_qt6_installation = find_qt_installation(
-- 6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
--_qt5_installation = find_qt_installation(
-- 5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
-+if 6 in args.qt_versions:
-+ _qt6_installation = find_qt_installation(6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
-+else:
-+ _qt6_installation = None
-+if 5 in args.qt_versions:
-+ _qt5_installation = find_qt_installation(5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
-+else:
-+ _qt5_installation = None
- _excluded_checks = args.exclude.split(',') if args.exclude is not None else []
-
- # -------------------------------------------------------------------------------
-@@ -697,6 +703,8 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
- return True
-
- qt = qt_installation(qt_major_version)
-+ if qt == None:
-+ return True # silently skip
-
- if _verbose:
- print("Qt major versions required by the test: " + str(test.qt_major_versions))
-@@ -709,14 +717,12 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
-
- if qt.int_version < test.minimum_qt_version or qt.int_version > test.maximum_qt_version or CLANG_VERSION < test.minimum_clang_version:
- if (_verbose):
-- print("Skipping " + printableName +
-- " because required version is not available")
-+ print("Skipping " + printableName + " because required version is not available")
- return True
-
- if test.requires_std_filesystem and not _hasStdFileSystem:
- if (_verbose):
-- print("Skipping " + printableName +
-- " because it requires std::filesystem")
-+ print("Skipping " + printableName + " because it requires std::filesystem")
- return True
-
- if _platform in test.blacklist_platforms:
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.12-llvm-18.patch b/dev-util/clazy/files/clazy-1.12-llvm-18.patch
deleted file mode 100644
index d1f2bea9ffbf..000000000000
--- a/dev-util/clazy/files/clazy-1.12-llvm-18.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0d87de91457c3bf2338b997555694953d45e17a4 Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Tue, 10 Sep 2024 13:50:56 +0200
-Subject: [PATCH] rule-of-three: Fix destructor not being found and thus
- causing false positive
-
-This works fine in clang 14, but apparently not in later versions
-
-The false positive caused a CI failure in https://invent.kde.org/libraries/qca/-/merge_requests/116
----
- src/checks/level2/rule-of-three.cpp | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/checks/level2/rule-of-three.cpp b/src/checks/level2/rule-of-three.cpp
-index 6996ee1e..f18ff999 100644
---- a/src/checks/level2/rule-of-three.cpp
-+++ b/src/checks/level2/rule-of-three.cpp
-@@ -56,7 +56,14 @@ void RuleOfThree::VisitDecl(clang::Decl *decl)
-
- CXXConstructorDecl *copyCtor = Utils::copyCtor(record);
- CXXMethodDecl *copyAssign = Utils::copyAssign(record);
-- CXXDestructorDecl *destructor = record->getDestructor();
-+ CXXDestructorDecl *destructor = nullptr;
-+ // Getting the destructor using record->getDestructor() does not work for later clang versions, e.g. clang 16
-+ for (auto *decl : record->decls()) {
-+ if (auto *destructorDecl = dyn_cast<CXXDestructorDecl>(decl)) {
-+ destructor = destructorDecl;
-+ break;
-+ }
-+ }
- const bool dtorDefaultedByUser = destructor && destructor->isDefaulted() && !destructor->isImplicit();
-
- const bool hasUserCopyCtor = copyCtor && copyCtor->isUserProvided();
---
-GitLab
-
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2024-09-21 13:34 Andreas Sturmlechner
0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2024-09-21 13:34 UTC (permalink / raw
To: gentoo-commits
commit: a1fcee35f62bad34abe7da2be9856645fbce8af6
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 21 13:15:24 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Sep 21 13:33:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1fcee35
dev-util/clazy: add 1.12 w/o KEYWORDS, enable py3.13, LLVM-18
Reason: 7% tests passed, 92 tests failed out of 99
Most of them fail with:
cstddef:50:10: fatal error: 'stddef.h' file not found
Bug: https://bugs.gentoo.org/811723
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-util/clazy/Manifest | 1 +
dev-util/clazy/clazy-1.12.ebuild | 57 ++++++++++
.../files/clazy-1.12-clang-16-no-src-root.patch | 60 +++++++++++
.../files/clazy-1.12-fix-tests-Qt-detect-1.patch | 78 ++++++++++++++
.../files/clazy-1.12-fix-tests-Qt-detect-2.patch | 115 +++++++++++++++++++++
dev-util/clazy/files/clazy-1.12-llvm-18.patch | 36 +++++++
6 files changed, 347 insertions(+)
diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index a764da1ab127..9cb5a135f2f6 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1 +1,2 @@
DIST clazy-1.11.tar.xz 404088 BLAKE2B 1a69fe07ef81a0efe3c9db9129083247d60943592967f705d62d3859039cec250673eecc06184f70d134cbab85708d957b0a085beff8b3e46325a69547e005b7 SHA512 6a7c162392dd30aea29669275cea814d6daccf7931b8cdb20997f9bbff5619832d5461a6d0f854ecbc4726e52b6937c4f9cb8651087ffe73676c04239a38ca2b
+DIST clazy-1.12.tar.xz 427740 BLAKE2B ad2c78a506132b5fd6b3c22a7e9794c38ddd71242cde6f760e48d0250f6215629007d45303f4b35fdc7717865b8221ab1c2f3c6889a44ea1809e112845f16463 SHA512 7a2b4a753098f15936a4731c82c660c1cd4d81949279435e87f00f7f72bef3e32cb574c8991c0707798581278e9fbcae34d354c1e6b77a15a5e26166d658fa9e
diff --git a/dev-util/clazy/clazy-1.12.ebuild b/dev-util/clazy/clazy-1.12.ebuild
new file mode 100644
index 000000000000..b5e819706f76
--- /dev/null
+++ b/dev-util/clazy/clazy-1.12.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 15 16 17 18 )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake llvm-r1 python-any-r1
+
+DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
+HOMEPAGE="https://apps.kde.org/clazy"
+SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+# KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}')
+ $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+ # git master
+ "${FILESDIR}"/${P}-fix-tests-Qt-detect-{1,2}.patch
+ "${FILESDIR}"/${P}-llvm-18.patch
+ # Pending: https://invent.kde.org/sdk/clazy/-/merge_requests/131
+ "${FILESDIR}"/${P}-clang-16-no-src-root.patch
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+ llvm-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
+ -i CMakeLists.txt || die
+}
+
+src_configure() {
+ export LLVM_ROOT="$(get_llvm_prefix -d)"
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Run tests against built copy, not installed
+ # bug #811723
+ PATH="${BUILD_DIR}/bin:${PATH}" LD_LIBRARY_PATH="${BUILD_DIR}/lib" cmake_src_test
+}
diff --git a/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch b/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
new file mode 100644
index 000000000000..ca88efeaf6cd
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
@@ -0,0 +1,60 @@
+From 4fa1ded456626f9c13f1f77212754d6349d12a8a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
+Date: Tue, 27 Feb 2024 21:14:19 +0100
+Subject: [PATCH] [cmake] Adjust for non-installed LLVM
+
+In LLVM 16 llvm-config got --src-root removed.
+Adjust include path for Clang include
+---
+ cmake/FindClang.cmake | 8 ++++++--
+ cmake/FindLLVM.cmake | 6 +++++-
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
+index e438ea5c..b4f0b0a1 100644
+--- a/cmake/FindClang.cmake
++++ b/cmake/FindClang.cmake
+@@ -86,8 +86,12 @@ if(CLANG_FOUND)
+ set(CLANG_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
+
+ # check whether llvm-config comes from an install prefix
++ set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
++ if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
++ set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
++ endif()
+ execute_process(
+- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
++ COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
+ OUTPUT_VARIABLE _llvmSourceRoot
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+@@ -96,7 +100,7 @@ if(CLANG_FOUND)
+ message(STATUS "Detected that llvm-config comes from a build-tree, adding more include directories for Clang")
+ list(APPEND CLANG_INCLUDE_DIRS
+ "${LLVM_INSTALL_PREFIX}/tools/clang/include" # build dir
+- "${_llvmSourceRoot}/tools/clang/include" # source dir
++ "${_llvmSourceRoot}/../../clang/include" # source dir
+ )
+ endif()
+
+diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
+index da02e006..c625eeb5 100644
+--- a/cmake/FindLLVM.cmake
++++ b/cmake/FindLLVM.cmake
+@@ -131,8 +131,12 @@ if (LLVM_FOUND)
+ endif()
+
+ # potentially add include dir from binary dir for non-installed LLVM
++ set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
++ if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
++ set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
++ endif()
+ execute_process(
+- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
++ COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
+ OUTPUT_VARIABLE _llvmSourceRoot
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+--
+GitLab
+
diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
new file mode 100644
index 000000000000..bca03b24dff4
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
@@ -0,0 +1,78 @@
+From 61b03a0d9cb319173766383216deee74fd6d800e Mon Sep 17 00:00:00 2001
+From: Alexander Lohnau <alexander.lohnau@gmx.de>
+Date: Sat, 7 Sep 2024 11:31:22 +0200
+Subject: [PATCH] Make tests work when clang library is different from system
+ default
+
+If we have found the clang folder, we can resolve the executable from there.
+In my case, I was compiling against clang16, but my system default was clang 14.
+The stacktrace is really confusing and hard to understand. Using the
+absolute path makes the log also better to understand and to reproduce
+the test results.
+---
+ ClazyTests.generated.cmake | 5 ++++-
+ cmake/FindLLVM.cmake | 13 +++++++++++++
+ dev-scripts/generate.py | 5 ++++-
+ 3 files changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
+index 204f0e5b..49b0f69e 100644
+--- a/ClazyTests.generated.cmake
++++ b/ClazyTests.generated.cmake
+@@ -2,8 +2,11 @@
+
+ macro(add_clazy_test name)
+ add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
++ if (CLANG_EXECUTABLE_PATH)
++ set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
++ endif()
+ set_property(TEST ${name} PROPERTY
+- ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
++ ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
+ )
+ endmacro()
+
+diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
+index a1fd9e3f..da02e006 100644
+--- a/cmake/FindLLVM.cmake
++++ b/cmake/FindLLVM.cmake
+@@ -117,6 +117,19 @@ if (LLVM_FOUND)
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
++ execute_process(
++ COMMAND ${LLVM_CONFIG_EXECUTABLE} --bindir
++ OUTPUT_VARIABLE LLVM_BIN_DIR
++ OUTPUT_STRIP_TRAILING_WHITESPACE
++ )
++ set(CLANG_EXECUTABLE_PATH "${LLVM_BIN_DIR}/clang")
++ if(EXISTS ${CLANG_EXECUTABLE_PATH})
++ message(STATUS "Clang found: ${CLANG_EXECUTABLE_PATH}")
++ set(CLANG_EXECUTABLE ${CLANG_EXECUTABLE_PATH})
++ else()
++ message(WARNING "Clang not found in LLVM bin directory: ${LLVM_BIN_DIR}")
++ endif()
++
+ # potentially add include dir from binary dir for non-installed LLVM
+ execute_process(
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
+diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
+index 2678aaba..11fc5bfc 100755
+--- a/dev-scripts/generate.py
++++ b/dev-scripts/generate.py
+@@ -468,8 +468,11 @@ def generate_ctest(checks):
+ contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
+ macro(add_clazy_test name)
+ add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
++ if (CLANG_EXECUTABLE_PATH)
++ set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
++ endif()
+ set_property(TEST ${name} PROPERTY
+- ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
++ ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
+ )
+ endmacro()\n
+ """
+--
+GitLab
+
diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
new file mode 100644
index 000000000000..9e5276644ad7
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
@@ -0,0 +1,115 @@
+From fc058479b1d0ab8498b23a68dcbb56be1b38c793 Mon Sep 17 00:00:00 2001
+From: Alexander Lohnau <alexander.lohnau@gmx.de>
+Date: Sat, 7 Sep 2024 14:25:45 +0200
+Subject: [PATCH] Only look for Qt5/Qt6 installs if respective CI job is
+ running
+
+We may have a qt6 installation even on a Qt5 image
+
+But in any case, we should only run them on the dedicated im age and not waste CI time otherwise
+---
+ ClazyTests.generated.cmake | 8 +++++++-
+ dev-scripts/generate.py | 8 +++++++-
+ tests/run_tests.py | 22 ++++++++++++++--------
+ 3 files changed, 28 insertions(+), 10 deletions(-)
+
+diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
+index 49b0f69e..9babc7c5 100644
+--- a/ClazyTests.generated.cmake
++++ b/ClazyTests.generated.cmake
+@@ -1,7 +1,13 @@
+ # This file was autogenerated by running: ./dev-scripts/generate.py --generate
+
++if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
++ set(TEST_VERSION_OPTION "--qt-versions=5")
++elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
++ set(TEST_VERSION_OPTION "--qt-versions=6")
++endif()
++
+ macro(add_clazy_test name)
+- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
++ add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
+ if (CLANG_EXECUTABLE_PATH)
+ set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
+ endif()
+diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
+index 11fc5bfc..a1233698 100755
+--- a/dev-scripts/generate.py
++++ b/dev-scripts/generate.py
+@@ -466,8 +466,14 @@ def generate_ctest(checks):
+ filename = clazy_source_path() + 'ClazyTests.generated.cmake'
+
+ contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
++if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
++ set(TEST_VERSION_OPTION "--qt-versions=5")
++elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
++ set(TEST_VERSION_OPTION "--qt-versions=6")
++endif()
++
+ macro(add_clazy_test name)
+- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
++ add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
+ if (CLANG_EXECUTABLE_PATH)
+ set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
+ endif()
+diff --git a/tests/run_tests.py b/tests/run_tests.py
+index 9fb9d5dc..da54e45a 100755
+--- a/tests/run_tests.py
++++ b/tests/run_tests.py
+@@ -457,6 +457,8 @@ parser.add_argument("--only-standalone", action='store_true',
+ help='Only run clazy-standalone')
+ parser.add_argument("--dump-ast", action='store_true',
+ help='Dump a unit-test AST to file')
++parser.add_argument("--qt-versions", type=int, choices=[5, 6], nargs='+', default=[5, 6],
++ help='Specify one or more Qt versions to use (default: 5 and 6)')
+ parser.add_argument(
+ "--exclude", help='Comma separated list of checks to ignore')
+ parser.add_argument("-j", "--jobs", type=int, default=multiprocessing.cpu_count(),
+@@ -481,10 +483,14 @@ _only_standalone = args.only_standalone
+ _num_threads = args.jobs
+ _lock = threading.Lock()
+ _was_successful = True
+-_qt6_installation = find_qt_installation(
+- 6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
+-_qt5_installation = find_qt_installation(
+- 5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
++if 6 in args.qt_versions:
++ _qt6_installation = find_qt_installation(6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
++else:
++ _qt6_installation = None
++if 5 in args.qt_versions:
++ _qt5_installation = find_qt_installation(5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
++else:
++ _qt5_installation = None
+ _excluded_checks = args.exclude.split(',') if args.exclude is not None else []
+
+ # -------------------------------------------------------------------------------
+@@ -697,6 +703,8 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
+ return True
+
+ qt = qt_installation(qt_major_version)
++ if qt == None:
++ return True # silently skip
+
+ if _verbose:
+ print("Qt major versions required by the test: " + str(test.qt_major_versions))
+@@ -709,14 +717,12 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
+
+ if qt.int_version < test.minimum_qt_version or qt.int_version > test.maximum_qt_version or CLANG_VERSION < test.minimum_clang_version:
+ if (_verbose):
+- print("Skipping " + printableName +
+- " because required version is not available")
++ print("Skipping " + printableName + " because required version is not available")
+ return True
+
+ if test.requires_std_filesystem and not _hasStdFileSystem:
+ if (_verbose):
+- print("Skipping " + printableName +
+- " because it requires std::filesystem")
++ print("Skipping " + printableName + " because it requires std::filesystem")
+ return True
+
+ if _platform in test.blacklist_platforms:
+--
+GitLab
+
diff --git a/dev-util/clazy/files/clazy-1.12-llvm-18.patch b/dev-util/clazy/files/clazy-1.12-llvm-18.patch
new file mode 100644
index 000000000000..d1f2bea9ffbf
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.12-llvm-18.patch
@@ -0,0 +1,36 @@
+From 0d87de91457c3bf2338b997555694953d45e17a4 Mon Sep 17 00:00:00 2001
+From: Alexander Lohnau <alexander.lohnau@gmx.de>
+Date: Tue, 10 Sep 2024 13:50:56 +0200
+Subject: [PATCH] rule-of-three: Fix destructor not being found and thus
+ causing false positive
+
+This works fine in clang 14, but apparently not in later versions
+
+The false positive caused a CI failure in https://invent.kde.org/libraries/qca/-/merge_requests/116
+---
+ src/checks/level2/rule-of-three.cpp | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/src/checks/level2/rule-of-three.cpp b/src/checks/level2/rule-of-three.cpp
+index 6996ee1e..f18ff999 100644
+--- a/src/checks/level2/rule-of-three.cpp
++++ b/src/checks/level2/rule-of-three.cpp
+@@ -56,7 +56,14 @@ void RuleOfThree::VisitDecl(clang::Decl *decl)
+
+ CXXConstructorDecl *copyCtor = Utils::copyCtor(record);
+ CXXMethodDecl *copyAssign = Utils::copyAssign(record);
+- CXXDestructorDecl *destructor = record->getDestructor();
++ CXXDestructorDecl *destructor = nullptr;
++ // Getting the destructor using record->getDestructor() does not work for later clang versions, e.g. clang 16
++ for (auto *decl : record->decls()) {
++ if (auto *destructorDecl = dyn_cast<CXXDestructorDecl>(decl)) {
++ destructor = destructorDecl;
++ break;
++ }
++ }
+ const bool dtorDefaultedByUser = destructor && destructor->isDefaulted() && !destructor->isImplicit();
+
+ const bool hasUserCopyCtor = copyCtor && copyCtor->isUserProvided();
+--
+GitLab
+
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2022-01-19 13:54 Andreas Sturmlechner
0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2022-01-19 13:54 UTC (permalink / raw
To: gentoo-commits
commit: f1c92c1d6530aeb22382ab74c9a2113da5617024
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 19 13:53:34 2022 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 19 13:53:45 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1c92c1d
dev-util/clazy: Drop 1.9
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-util/clazy/Manifest | 1 -
dev-util/clazy/clazy-1.9.ebuild | 40 -------------
dev-util/clazy/files/clazy-1.9-llvm12.patch | 88 -----------------------------
dev-util/clazy/files/clazy-1.9-llvm13.patch | 31 ----------
4 files changed, 160 deletions(-)
diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index 1a0031b71ddc..eae6b70fd4c9 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
DIST clazy-1.10.tar.xz 398920 BLAKE2B 1cdc160de21363c7dc9c93ea7e780412a4971b18e97c7ec6e06f1c7450c56e0fbbdb7592d6b92ae53e4c161f6d9abca205984f83b68646f04ea11d63e3c45fa6 SHA512 59dd8c6903bcc239dfc356804cab265597a771de3858a6add4877149e0e7875b3c9ddae9aeec889c9102fb9ec6b0125bb8a786344e47872b01ba87425ba021eb
-DIST clazy-1.9.tar.xz 394856 BLAKE2B 641ca46a31475cf7bd03ba921e390cb2712362dc97b960a519e05c47049927f805d3ef6f1c756b96d3483e8f4b75e2dc41a2419a462ed2e45cbd08c88c07f933 SHA512 2e8bec44a027366263de23c50d14192e310fd38fa2b369afb21413da9cb78da9882b2153daf1784c4c9076cc62e2867b5211c75ff9a1eabcb583e405f20f5912
diff --git a/dev-util/clazy/clazy-1.9.ebuild b/dev-util/clazy/clazy-1.9.ebuild
deleted file mode 100644
index 781b51040559..000000000000
--- a/dev-util/clazy/clazy-1.9.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://apps.kde.org/en/clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE=""
-
-RDEPEND="
- >=sys-devel/clang-5.0:=
- >=sys-devel/llvm-5.0:=
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${P}-llvm{12,13}.patch ) # bug 786525
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
- -i CMakeLists.txt || die
-}
-
-src_configure() {
- # this package requires both llvm and clang of the same version.
- # clang pulls in the equivalent llvm version, but not vice versa.
- # so, we must find llvm based on the installed clang version.
- # bug #681568
- local clang_version=$(best_version "sys-devel/clang")
- export LLVM_ROOT="/usr/lib/llvm/$(ver_cut 1 ${clang_version##sys-devel/clang-})"
- cmake_src_configure
-}
diff --git a/dev-util/clazy/files/clazy-1.9-llvm12.patch b/dev-util/clazy/files/clazy-1.9-llvm12.patch
deleted file mode 100644
index 3862f40ad981..000000000000
--- a/dev-util/clazy/files/clazy-1.9-llvm12.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 2592a6e3393ebc75e16c91e606ad2015a16295c3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20Sch=C3=A4rf?= <c.schaerf@t-online.de>
-Date: Sat, 23 Jan 2021 15:34:10 +0100
-Subject: [PATCH] Fix build with Clang 12
-
-Required due to Clang changes https://github.com/llvm/llvm-project/commit/b3eff6b7bb31e7ef059a3d238de138849839fbbd and https://github.com/llvm/llvm-project/commit/d758f79e5d381bd4f5122193a9538d89c907c812
----
- src/SourceCompatibilityHelpers.h | 26 ++++++++++++++++++++++++++
- src/SuppressionManager.cpp | 5 ++---
- 2 files changed, 28 insertions(+), 3 deletions(-)
-
-diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
-index 4db141ab..1737d5a5 100644
---- a/src/SourceCompatibilityHelpers.h
-+++ b/src/SourceCompatibilityHelpers.h
-@@ -29,6 +29,7 @@
- #include <clang/Basic/SourceLocation.h>
- #include <clang/Basic/SourceManager.h>
- #include <clang/Frontend/FrontendDiagnostic.h>
-+#include <clang/Lex/Lexer.h>
- #include <clang/Tooling/Core/Diagnostic.h>
-
- #if defined(CLAZY_USES_BOOST_REGEX)
-@@ -103,6 +104,31 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d
- #endif
- }
-
-+inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid)
-+{
-+#if LLVM_VERSION_MAJOR >= 12
-+ auto buffer = sm.getBufferOrNone(id);
-+ *invalid = !buffer.hasValue();
-+ return buffer;
-+#else
-+ return sm.getBuffer(id, invalid);
-+#endif
-+}
-+
-+#if LLVM_VERSION_MAJOR >= 12
-+inline clang::Lexer getLexer(clang::FileID id, llvm::Optional<llvm::MemoryBufferRef> inputFile,
-+ const clang::SourceManager &sm, const clang::LangOptions &lo)
-+{
-+ return clang::Lexer(id, inputFile.getValue(), sm, lo);
-+}
-+#else
-+inline clang::Lexer getLexer(clang::FileID id, const llvm::MemoryBuffer *inputFile,
-+ const clang::SourceManager &sm, const clang::LangOptions &lo)
-+{
-+ return clang::Lexer(id, inputFile, sm, lo);
-+}
-+#endif
-+
- }
-
- #endif
-diff --git a/src/SuppressionManager.cpp b/src/SuppressionManager.cpp
-index 9d774ea6..9881388d 100644
---- a/src/SuppressionManager.cpp
-+++ b/src/SuppressionManager.cpp
-@@ -24,7 +24,6 @@
- #include "clazy_stl.h"
-
- #include <clang/Basic/SourceManager.h>
--#include <clang/Lex/Lexer.h>
- #include <clang/Basic/SourceLocation.h>
- #include <clang/Basic/TokenKinds.h>
- #include <clang/Lex/Token.h>
-@@ -84,7 +83,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
- Suppressions &suppressions = (*it).second;
-
- bool invalid = false;
-- auto buffer = sm.getBuffer(id, &invalid);
-+ auto buffer = clazy::getBuffer(sm, id, &invalid);
- if (invalid) {
- llvm::errs() << "SuppressionManager::parseFile: Invalid buffer ";
- if (buffer)
-@@ -92,7 +91,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
- return;
- }
-
-- Lexer lexer(id, buffer, sm, lo);
-+ auto lexer = clazy::getLexer(id, buffer, sm, lo);
- lexer.SetCommentRetentionState(true);
-
- Token token;
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.9-llvm13.patch b/dev-util/clazy/files/clazy-1.9-llvm13.patch
deleted file mode 100644
index 9bbac8f7624d..000000000000
--- a/dev-util/clazy/files/clazy-1.9-llvm13.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0bf4e428c76270f4534a0a8df3cf6912157f22ab Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de>
-Date: Sat, 17 Apr 2021 20:57:10 +0200
-Subject: [PATCH] Fix build with LLVM 13
-
----
- src/ClazyStandaloneMain.cpp | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
-index 41c4fcf9..7b4cf5d3 100644
---- a/src/ClazyStandaloneMain.cpp
-+++ b/src/ClazyStandaloneMain.cpp
-@@ -158,7 +158,13 @@ llvm::IntrusiveRefCntPtr<vfs::FileSystem> getVfsFromFile(const std::string &over
-
- int main(int argc, const char **argv)
- {
-- CommonOptionsParser optionsParser(argc, argv, s_clazyCategory, cl::ZeroOrMore);
-+ auto expectedParser = CommonOptionsParser::create(argc, argv, s_clazyCategory, cl::ZeroOrMore);
-+ if (!expectedParser) {
-+ llvm::errs() << expectedParser.takeError();
-+ return 1;
-+ }
-+
-+ auto &optionsParser = expectedParser.get();
- // llvm::errs() << optionsParser.getSourcePathList().size() << "\n";
-
- if (s_supportedChecks.getValue()) {
---
-GitLab
-
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2021-05-01 21:24 Andreas Sturmlechner
0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2021-05-01 21:24 UTC (permalink / raw
To: gentoo-commits
commit: 10d7a5b482f6282eaefdb28ceda51f2ec99056f8
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat May 1 20:18:02 2021 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat May 1 21:21:56 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10d7a5b4
dev-util/clazy: Fix build with LLVM-12/13
Closes: https://bugs.gentoo.org/786525
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-util/clazy/clazy-1.9.ebuild | 2 +
dev-util/clazy/files/clazy-1.9-llvm12.patch | 88 +++++++++++++++++++++++++++++
dev-util/clazy/files/clazy-1.9-llvm13.patch | 31 ++++++++++
3 files changed, 121 insertions(+)
diff --git a/dev-util/clazy/clazy-1.9.ebuild b/dev-util/clazy/clazy-1.9.ebuild
index 9062383103c..781b5104055 100644
--- a/dev-util/clazy/clazy-1.9.ebuild
+++ b/dev-util/clazy/clazy-1.9.ebuild
@@ -20,6 +20,8 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
+PATCHES=( "${FILESDIR}"/${P}-llvm{12,13}.patch ) # bug 786525
+
src_prepare() {
cmake_src_prepare
diff --git a/dev-util/clazy/files/clazy-1.9-llvm12.patch b/dev-util/clazy/files/clazy-1.9-llvm12.patch
new file mode 100644
index 00000000000..3862f40ad98
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.9-llvm12.patch
@@ -0,0 +1,88 @@
+From 2592a6e3393ebc75e16c91e606ad2015a16295c3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20Sch=C3=A4rf?= <c.schaerf@t-online.de>
+Date: Sat, 23 Jan 2021 15:34:10 +0100
+Subject: [PATCH] Fix build with Clang 12
+
+Required due to Clang changes https://github.com/llvm/llvm-project/commit/b3eff6b7bb31e7ef059a3d238de138849839fbbd and https://github.com/llvm/llvm-project/commit/d758f79e5d381bd4f5122193a9538d89c907c812
+---
+ src/SourceCompatibilityHelpers.h | 26 ++++++++++++++++++++++++++
+ src/SuppressionManager.cpp | 5 ++---
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
+index 4db141ab..1737d5a5 100644
+--- a/src/SourceCompatibilityHelpers.h
++++ b/src/SourceCompatibilityHelpers.h
+@@ -29,6 +29,7 @@
+ #include <clang/Basic/SourceLocation.h>
+ #include <clang/Basic/SourceManager.h>
+ #include <clang/Frontend/FrontendDiagnostic.h>
++#include <clang/Lex/Lexer.h>
+ #include <clang/Tooling/Core/Diagnostic.h>
+
+ #if defined(CLAZY_USES_BOOST_REGEX)
+@@ -103,6 +104,31 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d
+ #endif
+ }
+
++inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid)
++{
++#if LLVM_VERSION_MAJOR >= 12
++ auto buffer = sm.getBufferOrNone(id);
++ *invalid = !buffer.hasValue();
++ return buffer;
++#else
++ return sm.getBuffer(id, invalid);
++#endif
++}
++
++#if LLVM_VERSION_MAJOR >= 12
++inline clang::Lexer getLexer(clang::FileID id, llvm::Optional<llvm::MemoryBufferRef> inputFile,
++ const clang::SourceManager &sm, const clang::LangOptions &lo)
++{
++ return clang::Lexer(id, inputFile.getValue(), sm, lo);
++}
++#else
++inline clang::Lexer getLexer(clang::FileID id, const llvm::MemoryBuffer *inputFile,
++ const clang::SourceManager &sm, const clang::LangOptions &lo)
++{
++ return clang::Lexer(id, inputFile, sm, lo);
++}
++#endif
++
+ }
+
+ #endif
+diff --git a/src/SuppressionManager.cpp b/src/SuppressionManager.cpp
+index 9d774ea6..9881388d 100644
+--- a/src/SuppressionManager.cpp
++++ b/src/SuppressionManager.cpp
+@@ -24,7 +24,6 @@
+ #include "clazy_stl.h"
+
+ #include <clang/Basic/SourceManager.h>
+-#include <clang/Lex/Lexer.h>
+ #include <clang/Basic/SourceLocation.h>
+ #include <clang/Basic/TokenKinds.h>
+ #include <clang/Lex/Token.h>
+@@ -84,7 +83,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
+ Suppressions &suppressions = (*it).second;
+
+ bool invalid = false;
+- auto buffer = sm.getBuffer(id, &invalid);
++ auto buffer = clazy::getBuffer(sm, id, &invalid);
+ if (invalid) {
+ llvm::errs() << "SuppressionManager::parseFile: Invalid buffer ";
+ if (buffer)
+@@ -92,7 +91,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
+ return;
+ }
+
+- Lexer lexer(id, buffer, sm, lo);
++ auto lexer = clazy::getLexer(id, buffer, sm, lo);
+ lexer.SetCommentRetentionState(true);
+
+ Token token;
+--
+GitLab
+
diff --git a/dev-util/clazy/files/clazy-1.9-llvm13.patch b/dev-util/clazy/files/clazy-1.9-llvm13.patch
new file mode 100644
index 00000000000..9bbac8f7624
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.9-llvm13.patch
@@ -0,0 +1,31 @@
+From 0bf4e428c76270f4534a0a8df3cf6912157f22ab Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de>
+Date: Sat, 17 Apr 2021 20:57:10 +0200
+Subject: [PATCH] Fix build with LLVM 13
+
+---
+ src/ClazyStandaloneMain.cpp | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
+index 41c4fcf9..7b4cf5d3 100644
+--- a/src/ClazyStandaloneMain.cpp
++++ b/src/ClazyStandaloneMain.cpp
+@@ -158,7 +158,13 @@ llvm::IntrusiveRefCntPtr<vfs::FileSystem> getVfsFromFile(const std::string &over
+
+ int main(int argc, const char **argv)
+ {
+- CommonOptionsParser optionsParser(argc, argv, s_clazyCategory, cl::ZeroOrMore);
++ auto expectedParser = CommonOptionsParser::create(argc, argv, s_clazyCategory, cl::ZeroOrMore);
++ if (!expectedParser) {
++ llvm::errs() << expectedParser.takeError();
++ return 1;
++ }
++
++ auto &optionsParser = expectedParser.get();
+ // llvm::errs() << optionsParser.getSourcePathList().size() << "\n";
+
+ if (s_supportedChecks.getValue()) {
+--
+GitLab
+
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2020-10-26 13:56 Andreas Sturmlechner
0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-10-26 13:56 UTC (permalink / raw
To: gentoo-commits
commit: 3cf0b312d76f313c80a28d1c7d112e03e303d3a2
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 26 10:21:23 2020 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 26 13:55:45 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3cf0b312
dev-util/clazy: Fix build with LLVM-11
Fix HOMEPAGE
Closes: https://bugs.gentoo.org/749876
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../{clazy-1.7.ebuild => clazy-1.7-r1.ebuild} | 9 +-
dev-util/clazy/clazy-1.7.ebuild | 2 +-
dev-util/clazy/files/clazy-1.7-llvm11-1.patch | 343 +++++++++++++++++++++
dev-util/clazy/files/clazy-1.7-llvm11-2.patch | 28 ++
4 files changed, 378 insertions(+), 4 deletions(-)
diff --git a/dev-util/clazy/clazy-1.7.ebuild b/dev-util/clazy/clazy-1.7-r1.ebuild
similarity index 85%
copy from dev-util/clazy/clazy-1.7.ebuild
copy to dev-util/clazy/clazy-1.7-r1.ebuild
index 14f32246c9c..cc5ae5d8eb1 100644
--- a/dev-util/clazy/clazy-1.7.ebuild
+++ b/dev-util/clazy/clazy-1.7-r1.ebuild
@@ -6,12 +6,12 @@ EAPI=7
inherit cmake
DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://kde.org/applications/development/org.kde.clazy"
+HOMEPAGE="https://apps.kde.org/en/clazy"
SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
LICENSE="LGPL-2+"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64"
IUSE=""
RDEPEND="
@@ -20,7 +20,10 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}/${P}-gnuinstalldirs.patch" )
+PATCHES=(
+ "${FILESDIR}"/${P}-gnuinstalldirs.patch
+ "${FILESDIR}"/${P}-llvm11-{1,2}.patch
+)
src_prepare() {
cmake_src_prepare
diff --git a/dev-util/clazy/clazy-1.7.ebuild b/dev-util/clazy/clazy-1.7.ebuild
index 14f32246c9c..a364a426b70 100644
--- a/dev-util/clazy/clazy-1.7.ebuild
+++ b/dev-util/clazy/clazy-1.7.ebuild
@@ -6,7 +6,7 @@ EAPI=7
inherit cmake
DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://kde.org/applications/development/org.kde.clazy"
+HOMEPAGE="https://apps.kde.org/en/clazy"
SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
LICENSE="LGPL-2+"
diff --git a/dev-util/clazy/files/clazy-1.7-llvm11-1.patch b/dev-util/clazy/files/clazy-1.7-llvm11-1.patch
new file mode 100644
index 00000000000..7b25b340a5c
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.7-llvm11-1.patch
@@ -0,0 +1,343 @@
+From 30d6a2b64f5a05722fdc5d8e3754dbf13425cd62 Mon Sep 17 00:00:00 2001
+From: Egor Gabov <egor.gabov@waveaccess.ru>
+Date: Thu, 4 Jun 2020 17:10:21 +0300
+Subject: [PATCH] updated for compatibility with LLVM 10
+
+In LLVM 10 llvm::StringRef operator std::string() is marked as explicit.
+In this commit all implicit conversion from llvm::StringRef to
+std::string are changed by explicit.
+Also included header file clang/Basic/FileManager.h in src/MiniDumper
+because without this header, class clang::FileEntry in incomplete class
+---
+ src/FixItExporter.cpp | 5 +++--
+ src/MiniAstDumper.cpp | 1 +
+ src/Utils.cpp | 2 +-
+ src/checkbase.cpp | 2 +-
+ src/checks/detachingbase.cpp | 2 +-
+ src/checks/level0/qenums.cpp | 2 +-
+ src/checks/level0/qt-macros.cpp | 4 ++--
+ src/checks/level0/unused-non-trivial-variable.cpp | 2 +-
+ src/checks/level1/detaching-temporary.cpp | 2 +-
+ src/checks/level1/non-pod-global-static.cpp | 2 +-
+ src/checks/level1/qproperty-without-notify.cpp | 2 +-
+ src/checks/level2/missing-typeinfo.cpp | 2 +-
+ src/checks/level2/old-style-connect.cpp | 6 +++---
+ src/checks/level2/rule-of-three.cpp | 2 +-
+ src/checks/manuallevel/ifndef-define-typo.cpp | 6 +++---
+ src/checks/manuallevel/qproperty-type-mismatch.cpp | 2 +-
+ src/checks/manuallevel/qrequiredresult-candidates.cpp | 2 +-
+ src/checks/manuallevel/qt-keywords.cpp | 4 ++--
+ src/checks/manuallevel/reserve-candidates.cpp | 3 ++-
+ 19 files changed, 28 insertions(+), 25 deletions(-)
+
+diff --git a/src/FixItExporter.cpp b/src/FixItExporter.cpp
+index f3af2e5..44240cf 100644
+--- a/src/FixItExporter.cpp
++++ b/src/FixItExporter.cpp
+@@ -68,7 +68,7 @@ void FixItExporter::BeginSourceFile(const LangOptions &LangOpts, const Preproces
+
+ const auto id = SourceMgr.getMainFileID();
+ const auto entry = SourceMgr.getFileEntryForID(id);
+- getTuDiag().MainSourceFile = entry->getName();
++ getTuDiag().MainSourceFile = static_cast<std::string>(entry->getName());
+ }
+
+ bool FixItExporter::IncludeInDiagnosticCounts() const
+@@ -89,7 +89,8 @@ tooling::Diagnostic FixItExporter::ConvertDiagnostic(const Diagnostic &Info)
+ // TODO: This returns an empty string: DiagEngine->getDiagnosticIDs()->getWarningOptionForDiag(Info.getID());
+ // HACK: capture it at the end of the message: Message text [check-name]
+
+- std::string checkName = DiagEngine.getDiagnosticIDs()->getWarningOptionForDiag(Info.getID());
++ std::string checkName =
++ static_cast<std::string>(DiagEngine.getDiagnosticIDs()->getWarningOptionForDiag(Info.getID()));
+ std::string messageText;
+
+ if (checkName.empty()) {
+diff --git a/src/MiniAstDumper.cpp b/src/MiniAstDumper.cpp
+index 4766174..6124e6e 100644
+--- a/src/MiniAstDumper.cpp
++++ b/src/MiniAstDumper.cpp
+@@ -24,6 +24,7 @@
+
+ #include <clang/Frontend/CompilerInstance.h>
+ #include <clang/Frontend/FrontendPluginRegistry.h>
++#include <clang/Basic/FileManager.h>
+
+ using namespace clang;
+ using namespace std;
+diff --git a/src/Utils.cpp b/src/Utils.cpp
+index 001ced9..b0812fe 100644
+--- a/src/Utils.cpp
++++ b/src/Utils.cpp
+@@ -878,7 +878,7 @@ string Utils::filenameForLoc(SourceLocation loc, const clang::SourceManager &sm)
+ if (loc.isMacroID())
+ loc = sm.getExpansionLoc(loc);
+
+- const string filename = sm.getFilename(loc);
++ const string filename = static_cast<std::string>(sm.getFilename(loc));
+ auto splitted = clazy::splitString(filename, '/');
+ if (splitted.empty())
+ return {};
+diff --git a/src/checkbase.cpp b/src/checkbase.cpp
+index 8b40e19..22a426c 100644
+--- a/src/checkbase.cpp
++++ b/src/checkbase.cpp
+@@ -188,7 +188,7 @@ bool CheckBase::shouldIgnoreFile(SourceLocation loc) const
+ if (!loc.isValid())
+ return true;
+
+- string filename = sm().getFilename(loc);
++ string filename = static_cast<std::string>(sm().getFilename(loc));
+
+ return clazy::any_of(m_filesToIgnore, [filename](const std::string &ignored) {
+ return clazy::contains(filename, ignored);
+diff --git a/src/checks/detachingbase.cpp b/src/checks/detachingbase.cpp
+index 70311f4..1b094ee 100644
+--- a/src/checks/detachingbase.cpp
++++ b/src/checks/detachingbase.cpp
+@@ -57,7 +57,7 @@ bool DetachingBase::isDetachingMethod(CXXMethodDecl *method, DetachingMethodType
+
+ const std::unordered_map<string, std::vector<StringRef>> &methodsByType = detachingMethodType == DetachingMethod ? clazy::detachingMethods()
+ : clazy::detachingMethodsWithConstCounterParts();
+- auto it = methodsByType.find(className);
++ auto it = methodsByType.find(static_cast<std::string>(className));
+ if (it != methodsByType.cend()) {
+ const auto &methods = it->second;
+ if (clazy::contains(methods, clazy::name(method)))
+diff --git a/src/checks/level0/qenums.cpp b/src/checks/level0/qenums.cpp
+index 00075b5..db8910f 100644
+--- a/src/checks/level0/qenums.cpp
++++ b/src/checks/level0/qenums.cpp
+@@ -59,7 +59,7 @@ void QEnums::VisitMacroExpands(const Token &MacroNameTok, const SourceRange &ran
+ // We simply check if :: is present because it's very cumbersome to to check for different classes when dealing with the pre-processor
+
+ CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
+- string text = Lexer::getSourceText(crange, sm(), lo());
++ string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
+ if (clazy::contains(text, "::"))
+ return;
+ }
+diff --git a/src/checks/level0/qt-macros.cpp b/src/checks/level0/qt-macros.cpp
+index d3a587c..ab8e9f5 100644
+--- a/src/checks/level0/qt-macros.cpp
++++ b/src/checks/level0/qt-macros.cpp
+@@ -44,7 +44,7 @@ void QtMacros::VisitMacroDefined(const Token &MacroNameTok)
+ return;
+
+ IdentifierInfo *ii = MacroNameTok.getIdentifierInfo();
+- if (ii && clazy::startsWith(ii->getName(), "Q_OS_"))
++ if (ii && clazy::startsWith(static_cast<std::string>(ii->getName()), "Q_OS_"))
+ m_OSMacroExists = true;
+ }
+
+@@ -58,7 +58,7 @@ void QtMacros::checkIfDef(const Token ¯oNameTok, SourceLocation Loc)
+ if (preProcessorVisitor && preProcessorVisitor->qtVersion() < 51204 && ii->getName() == "Q_OS_WINDOWS") {
+ // Q_OS_WINDOWS was introduced in 5.12.4
+ emitWarning(Loc, "Q_OS_WINDOWS was only introduced in Qt 5.12.4, use Q_OS_WIN instead");
+- } else if (!m_OSMacroExists && clazy::startsWith(ii->getName(), "Q_OS_")) {
++ } else if (!m_OSMacroExists && clazy::startsWith(static_cast<std::string>(ii->getName()), "Q_OS_")) {
+ emitWarning(Loc, "Include qglobal.h before testing Q_OS_ macros");
+ }
+ }
+diff --git a/src/checks/level0/unused-non-trivial-variable.cpp b/src/checks/level0/unused-non-trivial-variable.cpp
+index 4e4b830..93815f2 100644
+--- a/src/checks/level0/unused-non-trivial-variable.cpp
++++ b/src/checks/level0/unused-non-trivial-variable.cpp
+@@ -91,7 +91,7 @@ bool UnusedNonTrivialVariable::isUninterestingType(const CXXRecordDecl *record)
+ static const vector<StringRef> blacklistedTemplates = { "QScopedPointer", "QSetValueOnDestroy", "QScopedValueRollback" };
+ StringRef className = clazy::name(record);
+ for (StringRef templateName : blacklistedTemplates) {
+- if (clazy::startsWith(className, templateName))
++ if (clazy::startsWith(static_cast<std::string>(className), static_cast<std::string>(templateName)))
+ return true;
+ }
+
+diff --git a/src/checks/level1/detaching-temporary.cpp b/src/checks/level1/detaching-temporary.cpp
+index fedfc81..60c7553 100644
+--- a/src/checks/level1/detaching-temporary.cpp
++++ b/src/checks/level1/detaching-temporary.cpp
+@@ -140,7 +140,7 @@ void DetachingTemporary::VisitStmt(clang::Stmt *stm)
+ StringRef className = clazy::name(classDecl);
+
+ const std::unordered_map<string, std::vector<StringRef>> &methodsByType = clazy::detachingMethods();
+- auto it = methodsByType.find(className);
++ auto it = methodsByType.find(static_cast<std::string>(className));
+ auto it2 = m_writeMethodsByType.find(className);
+
+ std::vector<StringRef> allowedFunctions;
+diff --git a/src/checks/level1/non-pod-global-static.cpp b/src/checks/level1/non-pod-global-static.cpp
+index 5879bff..433b5c5 100644
+--- a/src/checks/level1/non-pod-global-static.cpp
++++ b/src/checks/level1/non-pod-global-static.cpp
+@@ -74,7 +74,7 @@ void NonPodGlobalStatic::VisitStmt(clang::Stmt *stm)
+ const SourceLocation declStart = clazy::getLocStart(varDecl);
+
+ if (declStart.isMacroID()) {
+- auto macroName = Lexer::getImmediateMacroName(declStart, sm(), lo());
++ auto macroName = static_cast<std::string>(Lexer::getImmediateMacroName(declStart, sm(), lo()));
+ if (clazy::startsWithAny(macroName, { "Q_IMPORT_PLUGIN", "Q_CONSTRUCTOR_FUNCTION", "Q_DESTRUCTOR_FUNCTION"})) // Don't warn on these
+ return;
+ }
+diff --git a/src/checks/level1/qproperty-without-notify.cpp b/src/checks/level1/qproperty-without-notify.cpp
+index e1d6db4..3af9fee 100644
+--- a/src/checks/level1/qproperty-without-notify.cpp
++++ b/src/checks/level1/qproperty-without-notify.cpp
+@@ -69,7 +69,7 @@ void QPropertyWithoutNotify::VisitMacroExpands(const clang::Token &MacroNameTok,
+ return;
+ CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
+
+- string text = Lexer::getSourceText(crange, sm(), lo());
++ string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
+ if (text.back() == ')')
+ text.pop_back();
+
+diff --git a/src/checks/level2/missing-typeinfo.cpp b/src/checks/level2/missing-typeinfo.cpp
+index 98df2cd..03b44e0 100644
+--- a/src/checks/level2/missing-typeinfo.cpp
++++ b/src/checks/level2/missing-typeinfo.cpp
+@@ -74,7 +74,7 @@ void MissingTypeInfo::VisitDecl(clang::Decl *decl)
+ if (sm().isInSystemHeader(clazy::getLocStart(record)))
+ return;
+
+- std::string typeName = clazy::name(record);
++ std::string typeName = static_cast<std::string>(clazy::name(record));
+ if (typeName == "QPair") // QPair doesn't use Q_DECLARE_TYPEINFO, but rather a explicit QTypeInfo.
+ return;
+
+diff --git a/src/checks/level2/old-style-connect.cpp b/src/checks/level2/old-style-connect.cpp
+index 0fe68c1..396cb70 100644
+--- a/src/checks/level2/old-style-connect.cpp
++++ b/src/checks/level2/old-style-connect.cpp
+@@ -274,7 +274,7 @@ void OldStyleConnect::VisitMacroExpands(const Token ¯oNameTok, const SourceR
+ return;
+
+ auto charRange = Lexer::getAsCharRange(range, sm(), lo());
+- const string text = Lexer::getSourceText(charRange, sm(), lo());
++ const string text = static_cast<std::string>(Lexer::getSourceText(charRange, sm(), lo()));
+
+ static regex rx(R"(Q_PRIVATE_SLOT\s*\((.*)\s*,\s*.*\s+(.*)\(.*)");
+ smatch match;
+@@ -293,7 +293,7 @@ string OldStyleConnect::signalOrSlotNameFromMacro(SourceLocation macroLoc)
+ CharSourceRange expansionRange = clazy::getImmediateExpansionRange(macroLoc, sm());
+ SourceRange range = SourceRange(expansionRange.getBegin(), expansionRange.getEnd());
+ auto charRange = Lexer::getAsCharRange(range, sm(), lo());
+- const string text = Lexer::getSourceText(charRange, sm(), lo());
++ const string text = static_cast<std::string>(Lexer::getSourceText(charRange, sm(), lo()));
+
+ static regex rx(R"(\s*(SIGNAL|SLOT)\s*\(\s*(.+)\s*\(.*)");
+
+@@ -315,7 +315,7 @@ bool OldStyleConnect::isSignalOrSlot(SourceLocation loc, string ¯oName) cons
+ if (!loc.isMacroID() || loc.isInvalid())
+ return false;
+
+- macroName = Lexer::getImmediateMacroName(loc, sm(), lo());
++ macroName = static_cast<std::string>(Lexer::getImmediateMacroName(loc, sm(), lo()));
+ return macroName == "SIGNAL" || macroName == "SLOT";
+ }
+
+diff --git a/src/checks/level2/rule-of-three.cpp b/src/checks/level2/rule-of-three.cpp
+index 8db55d5..7583fcc 100644
+--- a/src/checks/level2/rule-of-three.cpp
++++ b/src/checks/level2/rule-of-three.cpp
+@@ -140,7 +140,7 @@ void RuleOfThree::VisitDecl(clang::Decl *decl)
+
+ const string className = record->getNameAsString();
+ const string classQualifiedName = record->getQualifiedNameAsString();
+- const string filename = sm().getFilename(recordStart);
++ const string filename = static_cast<std::string>(sm().getFilename(recordStart));
+ if (clazy::endsWith(className, "Private") && clazy::endsWithAny(filename, { ".cpp", ".cxx", "_p.h" }))
+ return; // Lots of RAII classes fall into this category. And even Private (d-pointer) classes, warning in that case would just be noise
+
+diff --git a/src/checks/manuallevel/ifndef-define-typo.cpp b/src/checks/manuallevel/ifndef-define-typo.cpp
+index edb6cdf..e9c50a4 100644
+--- a/src/checks/manuallevel/ifndef-define-typo.cpp
++++ b/src/checks/manuallevel/ifndef-define-typo.cpp
+@@ -44,7 +44,7 @@ void IfndefDefineTypo::VisitMacroDefined(const Token ¯oNameTok)
+ {
+ if (!m_lastIfndef.empty()) {
+ if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo()) {
+- maybeWarn(ii->getName(), macroNameTok.getLocation());
++ maybeWarn(static_cast<std::string>(ii->getName()), macroNameTok.getLocation());
+ }
+ }
+ }
+@@ -53,7 +53,7 @@ void IfndefDefineTypo::VisitDefined(const Token ¯oNameTok, const SourceRange
+ {
+ if (!m_lastIfndef.empty()) {
+ if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo()) {
+- maybeWarn(ii->getName(), macroNameTok.getLocation());
++ maybeWarn(static_cast<std::string>(ii->getName()), macroNameTok.getLocation());
+ }
+ }
+ }
+@@ -66,7 +66,7 @@ void IfndefDefineTypo::VisitIfdef(SourceLocation, const Token &)
+ void IfndefDefineTypo::VisitIfndef(SourceLocation, const Token ¯oNameTok)
+ {
+ if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo())
+- m_lastIfndef = ii->getName();
++ m_lastIfndef = static_cast<std::string>(ii->getName());
+ }
+
+ void IfndefDefineTypo::VisitIf(SourceLocation, SourceRange, PPCallbacks::ConditionValueKind)
+diff --git a/src/checks/manuallevel/qproperty-type-mismatch.cpp b/src/checks/manuallevel/qproperty-type-mismatch.cpp
+index f91159c..952d9f1 100644
+--- a/src/checks/manuallevel/qproperty-type-mismatch.cpp
++++ b/src/checks/manuallevel/qproperty-type-mismatch.cpp
+@@ -237,7 +237,7 @@ void QPropertyTypeMismatch::VisitMacroExpands(const clang::Token &MacroNameTok,
+
+ CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
+
+- string text = Lexer::getSourceText(crange, sm(), lo());
++ string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
+ if (!text.empty() && text.back() == ')')
+ text.pop_back();
+
+diff --git a/src/checks/manuallevel/qrequiredresult-candidates.cpp b/src/checks/manuallevel/qrequiredresult-candidates.cpp
+index 912dbaa..6375bd7 100644
+--- a/src/checks/manuallevel/qrequiredresult-candidates.cpp
++++ b/src/checks/manuallevel/qrequiredresult-candidates.cpp
+@@ -65,7 +65,7 @@ void QRequiredResultCandidates::VisitDecl(clang::Decl *decl)
+
+
+ if (returnClass == classDecl) {
+- const std::string methodName = clazy::name(method);
++ const std::string methodName = static_cast<std::string>(clazy::name(method));
+ if (methodName.empty()) // fixes assert
+ return;
+
+diff --git a/src/checks/manuallevel/qt-keywords.cpp b/src/checks/manuallevel/qt-keywords.cpp
+index e792e95..b60752c 100644
+--- a/src/checks/manuallevel/qt-keywords.cpp
++++ b/src/checks/manuallevel/qt-keywords.cpp
+@@ -59,12 +59,12 @@ void QtKeywords::VisitMacroExpands(const Token ¯oNameTok, const SourceRange
+ }
+
+ static const vector<StringRef> keywords = { "foreach", "signals", "slots", "emit" };
+- std::string name = ii->getName();
++ std::string name = static_cast<std::string>(ii->getName());
+ if (!clazy::contains(keywords, name))
+ return;
+
+ // Make sure the macro is Qt's. It must be defined in Qt's headers, not 3rdparty
+- std::string qtheader = sm().getFilename(sm().getSpellingLoc(minfo->getDefinitionLoc()));
++ std::string qtheader = static_cast<std::string>(sm().getFilename(sm().getSpellingLoc(minfo->getDefinitionLoc())));
+ if (!clazy::endsWith(qtheader, "qglobal.h") && !clazy::endsWith(qtheader, "qobjectdefs.h"))
+ return;
+
+diff --git a/src/checks/manuallevel/reserve-candidates.cpp b/src/checks/manuallevel/reserve-candidates.cpp
+index 389cac5..92e4491 100644
+--- a/src/checks/manuallevel/reserve-candidates.cpp
++++ b/src/checks/manuallevel/reserve-candidates.cpp
+@@ -78,7 +78,8 @@ static bool isCandidateMethod(CXXMethodDecl *methodDecl)
+ if (!classDecl)
+ return false;
+
+- if (!clazy::equalsAny(clazy::name(methodDecl), { "append", "push_back", "push", "operator<<", "operator+=" }))
++ if (!clazy::equalsAny(static_cast<std::string>(clazy::name(methodDecl)),
++ { "append", "push_back", "push", "operator<<", "operator+=" }))
+ return false;
+
+ if (!clazy::isAReserveClass(classDecl))
+--
+GitLab
+
diff --git a/dev-util/clazy/files/clazy-1.7-llvm11-2.patch b/dev-util/clazy/files/clazy-1.7-llvm11-2.patch
new file mode 100644
index 00000000000..4556f257bf3
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.7-llvm11-2.patch
@@ -0,0 +1,28 @@
+From 25aa102cc49def9573ffbed88155589cd60a2e8f Mon Sep 17 00:00:00 2001
+From: Egor Gabov <egor.gabov@waveaccess.ru>
+Date: Fri, 5 Jun 2020 16:52:53 +0300
+Subject: [PATCH] updated for compatibility with LLVM 10 (clazy-standalone)
+
+In LLVM 10 llvm::StringRef operator std::string() is marked as explicit.
+In this commit all implicit conversion from llvm::StringRef to
+std::string are changed by explicit.
+---
+ src/checks/manuallevel/jnisignatures.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/checks/manuallevel/jnisignatures.cpp b/src/checks/manuallevel/jnisignatures.cpp
+index 81e61d4..5d4fe20 100644
+--- a/src/checks/manuallevel/jnisignatures.cpp
++++ b/src/checks/manuallevel/jnisignatures.cpp
+@@ -103,7 +103,7 @@ void JniSignatures::checkFunctionCall(Stmt *stm)
+ return;
+ }
+
+- const std::string name = clazy::name(funDecl);
++ const std::string name = static_cast<std::string>(clazy::name(funDecl));
+
+ if (name == "callObjectMethod" || name == "callMethod") {
+ checkArgAt(callExpr, 0, methodNameRegex, "Invalid method name");
+--
+GitLab
+
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2020-08-22 16:06 Andreas Sturmlechner
0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-08-22 16:06 UTC (permalink / raw
To: gentoo-commits
commit: ea47abb8ad9f6e4df7b0f30baa4b00760355841e
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 21 19:56:55 2020 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 22 16:05:48 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea47abb8
dev-util/clazy: Drop 1.6-r1
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-util/clazy/Manifest | 1 -
dev-util/clazy/clazy-1.6-r1.ebuild | 53 ------------------
dev-util/clazy/files/clazy-1.6-clang-cpp.patch | 60 ---------------------
dev-util/clazy/files/clazy-1.6-llvm-10.patch | 75 --------------------------
4 files changed, 189 deletions(-)
diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index f5bcd93ff3b..286b8ca39df 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
-DIST clazy-1.6.tar.xz 364292 BLAKE2B 01da58e34d5a7cb1e812d10264cebe15e90369589535e07f2c9f4520971f2e95b2c70494e99e34f7077957ec1bf01352fa6a72a64f0572e8a5db422267ab727a SHA512 dc7cb9590bbc40a2ac51abe305b6520ebc1ff7128ff21b4f6111d18f14eb8c2ab66d907636a18c7508143b708e70ba69f9d6fad88ffce12dec981a9bdd0edcc0
DIST clazy-1.7.tar.xz 371788 BLAKE2B 281acd0164cf76510e46883fff7269aa77e4b815d6d0ca5a54307165ff8f4355e095b82e0c41cdb0af391f4a15048a8d64b2a2a7b9dabc042b36ba1a380405cc SHA512 3dba993140f3d69aac8d9cf3fa49db990185928647193220b689773bbca70f9fd9ee7fc52022e6029b3c0c81800301a593bd79edee7e1fa6c5884782d390ced6
diff --git a/dev-util/clazy/clazy-1.6-r1.ebuild b/dev-util/clazy/clazy-1.6-r1.ebuild
deleted file mode 100644
index 7db5c3d6366..00000000000
--- a/dev-util/clazy/clazy-1.6-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://kde.org/applications/development/org.kde.clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-RDEPEND="
- >=sys-devel/llvm-3.8:=
-"
-DEPEND="${RDEPEND}"
-
-DOCS=( README.md )
-
-PATCHES=(
- "${FILESDIR}/${P}-llvm-10.patch"
- "${FILESDIR}/${P}-clang-cpp.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
- -i CMakeLists.txt || die
-
- sed -e 's|${MAN_INSTALL_DIR}|share/man/man1|' \
- -i docs/man/CMakeLists.txt || die
-}
-
-src_configure() {
- # this package requires both llvm and clang of the same version.
- # clang pulls in the equivalent llvm version, but not vice versa.
- # so, we must find llvm based on the installed clang version.
- # bug #681568
- local clang_version=$(best_version "sys-devel/clang")
- export LLVM_ROOT="/usr/lib/llvm/$(ver_cut 1 ${clang_version##sys-devel/clang-})"
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- mv "${D}"/usr/share/doc/clazy/* "${D}"/usr/share/doc/${PF} || die
- rmdir "${D}"/usr/share/doc/clazy || die
-}
diff --git a/dev-util/clazy/files/clazy-1.6-clang-cpp.patch b/dev-util/clazy/files/clazy-1.6-clang-cpp.patch
deleted file mode 100644
index 16b9af00ce3..00000000000
--- a/dev-util/clazy/files/clazy-1.6-clang-cpp.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 0e295e5a926496f5a5d46ea4feb1b285b084f5e0 Mon Sep 17 00:00:00 2001
-From: Christophe Giboudeaux <christophe@krop.fr>
-Date: Mon, 11 Nov 2019 10:31:49 +0100
-Subject: Check if clazy should be linked to clang-cpp
-
-Summary:
-According to [1], clang can now provide a single shared library instead of split
-ones.
-
-We have to check if this library exists and link to it if available.
-
-[1] https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html#build-system-changes
-
-Reviewers: smartins, kde-buildsystem
-
-Reviewed By: smartins
-
-Differential Revision: https://phabricator.kde.org/D25163
----
- CMakeLists.txt | 11 ++++++++---
- cmake/FindClang.cmake | 1 +
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b7301ed..ce1f887 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -125,9 +125,14 @@ macro(link_to_llvm name is_standalone)
- if(WIN32)
- target_link_libraries(${name} version.lib)
- endif()
-- target_link_libraries(${name} clangTooling)
-- target_link_libraries(${name} clangToolingCore)
-- target_link_libraries(${name} ${clang_tooling_refactoring_lib})
-+ # clang >= 9.0 can provide a single shared library instead of split ones
-+ if(CLANG_CLANG-CPP_LIB)
-+ target_link_libraries(${name} clang-cpp)
-+ else()
-+ target_link_libraries(${name} clangTooling)
-+ target_link_libraries(${name} clangToolingCore)
-+ target_link_libraries(${name} ${clang_tooling_refactoring_lib})
-+ endif()
- endmacro()
-
- macro(add_clang_plugin name)
-diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
-index 542172e..50e0829 100644
---- a/cmake/FindClang.cmake
-+++ b/cmake/FindClang.cmake
-@@ -62,6 +62,7 @@ if (LLVM_FOUND AND LLVM_LIBRARY_DIRS)
- # note: On Windows there's 'libclang.dll' instead of 'clang.dll' -> search for 'libclang', too
- find_library(CLANG_LIBCLANG_LIB NAMES clang libclang HINTS ${LLVM_LIBRARY_DIRS}) # LibClang: high-level C interface
-
-+ FIND_AND_ADD_CLANG_LIB(clang-cpp)
- FIND_AND_ADD_CLANG_LIB(clangFrontend)
- FIND_AND_ADD_CLANG_LIB(clangDriver)
- FIND_AND_ADD_CLANG_LIB(clangCodeGen)
---
-cgit v1.1
-
diff --git a/dev-util/clazy/files/clazy-1.6-llvm-10.patch b/dev-util/clazy/files/clazy-1.6-llvm-10.patch
deleted file mode 100644
index f00695f5211..00000000000
--- a/dev-util/clazy/files/clazy-1.6-llvm-10.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From df41bd29433937111edca3654a7beb11ec765029 Mon Sep 17 00:00:00 2001
-From: Johannes Ziegenbalg <Johannes.Ziegenbalg@tu-dresden.de>
-Date: Fri, 27 Mar 2020 14:18:32 +0100
-Subject: Fix build issues using llvm 10.0.0
-
----
- CMakeLists.txt | 2 +-
- src/ClazyStandaloneMain.cpp | 10 ++++++++++
- src/checks/level0/qstring-ref.cpp | 4 ++++
- 3 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f1463cf..a30813f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -53,7 +53,7 @@ if(MSVC)
- # disable trigger-happy warnings from Clang/LLVM headers
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4291 /wd4800 /wd4141 /wd4146 /wd4251")
- elseif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
- endif()
-
- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
-diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
-index aada189..6baae32 100644
---- a/src/ClazyStandaloneMain.cpp
-+++ b/src/ClazyStandaloneMain.cpp
-@@ -93,7 +93,11 @@ public:
- {
- }
-
-+#if LLVM_VERSION_MAJOR >= 10
-+ std::unique_ptr<FrontendAction> create() override
-+#else
- FrontendAction *create() override
-+#endif
- {
- ClazyContext::ClazyOptions options = ClazyContext::ClazyOption_None;
-
-@@ -116,9 +120,15 @@ public:
- options |= ClazyContext::ClazyOption_IgnoreIncludedFiles;
-
- // TODO: We need to agregate the fixes with previous run
-+#if LLVM_VERSION_MAJOR >= 10
-+ return std::make_unique<ClazyStandaloneASTAction>(s_checks.getValue(), s_headerFilter.getValue(),
-+ s_ignoreDirs.getValue(), s_exportFixes.getValue(),
-+ m_paths, options);
-+#else
- return new ClazyStandaloneASTAction(s_checks.getValue(), s_headerFilter.getValue(),
- s_ignoreDirs.getValue(), s_exportFixes.getValue(),
- m_paths, options);
-+#endif
- }
- std::vector<std::string> m_paths;
- };
-diff --git a/src/checks/level0/qstring-ref.cpp b/src/checks/level0/qstring-ref.cpp
-index d1d8a4e..ec9e890 100644
---- a/src/checks/level0/qstring-ref.cpp
-+++ b/src/checks/level0/qstring-ref.cpp
-@@ -117,7 +117,11 @@ static bool containsChild(Stmt *s, Stmt *target)
- return true;
-
- if (auto mte = dyn_cast<MaterializeTemporaryExpr>(s)) {
-+#if LLVM_VERSION_MAJOR >= 10
-+ return containsChild(mte->getSubExpr(), target);
-+#else
- return containsChild(mte->getTemporary(), target);
-+#endif
- } else if (auto ice = dyn_cast<ImplicitCastExpr>(s)) {
- return containsChild(ice->getSubExpr(), target);
- } else if (auto bte = dyn_cast<CXXBindTemporaryExpr>(s)) {
---
-cgit v1.1
-
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2020-04-09 21:37 Andreas Sturmlechner
0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-04-09 21:37 UTC (permalink / raw
To: gentoo-commits
commit: 014cfb8ff4491f6122312b8f2ba11eda28427af5
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 9 15:58:13 2020 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Apr 9 21:36:24 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=014cfb8f
dev-util/clazy: Fix build with >=sys-devel/clang-10
Closes: https://bugs.gentoo.org/711642
Package-Manager: Portage-2.3.98, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-util/clazy/clazy-1.6-r1.ebuild | 50 +++++++++++++++++++
dev-util/clazy/files/clazy-1.6-llvm-10.patch | 75 ++++++++++++++++++++++++++++
2 files changed, 125 insertions(+)
diff --git a/dev-util/clazy/clazy-1.6-r1.ebuild b/dev-util/clazy/clazy-1.6-r1.ebuild
new file mode 100644
index 00000000000..075782027ed
--- /dev/null
+++ b/dev-util/clazy/clazy-1.6-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
+HOMEPAGE="https://cgit.kde.org/clazy.git/tree/README.md"
+SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ >=sys-devel/llvm-3.8:=
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+PATCHES=( "${FILESDIR}/${P}-llvm-10.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
+ -i CMakeLists.txt || die
+
+ sed -e 's|${MAN_INSTALL_DIR}|share/man/man1|' \
+ -i docs/man/CMakeLists.txt || die
+}
+
+src_configure() {
+ # this package requires both llvm and clang of the same version.
+ # clang pulls in the equivalent llvm version, but not vice versa.
+ # so, we must find llvm based on the installed clang version.
+ # bug #681568
+ local clang_version=$(best_version "sys-devel/clang")
+ export LLVM_ROOT="/usr/lib/llvm/$(ver_cut 1 ${clang_version##sys-devel/clang-})"
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ mv "${D}"/usr/share/doc/clazy/* "${D}"/usr/share/doc/${PF} || die
+ rmdir "${D}"/usr/share/doc/clazy || die
+}
diff --git a/dev-util/clazy/files/clazy-1.6-llvm-10.patch b/dev-util/clazy/files/clazy-1.6-llvm-10.patch
new file mode 100644
index 00000000000..f00695f5211
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.6-llvm-10.patch
@@ -0,0 +1,75 @@
+From df41bd29433937111edca3654a7beb11ec765029 Mon Sep 17 00:00:00 2001
+From: Johannes Ziegenbalg <Johannes.Ziegenbalg@tu-dresden.de>
+Date: Fri, 27 Mar 2020 14:18:32 +0100
+Subject: Fix build issues using llvm 10.0.0
+
+---
+ CMakeLists.txt | 2 +-
+ src/ClazyStandaloneMain.cpp | 10 ++++++++++
+ src/checks/level0/qstring-ref.cpp | 4 ++++
+ 3 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f1463cf..a30813f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,7 +53,7 @@ if(MSVC)
+ # disable trigger-happy warnings from Clang/LLVM headers
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4291 /wd4800 /wd4141 /wd4146 /wd4251")
+ elseif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
+ endif()
+
+ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
+diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
+index aada189..6baae32 100644
+--- a/src/ClazyStandaloneMain.cpp
++++ b/src/ClazyStandaloneMain.cpp
+@@ -93,7 +93,11 @@ public:
+ {
+ }
+
++#if LLVM_VERSION_MAJOR >= 10
++ std::unique_ptr<FrontendAction> create() override
++#else
+ FrontendAction *create() override
++#endif
+ {
+ ClazyContext::ClazyOptions options = ClazyContext::ClazyOption_None;
+
+@@ -116,9 +120,15 @@ public:
+ options |= ClazyContext::ClazyOption_IgnoreIncludedFiles;
+
+ // TODO: We need to agregate the fixes with previous run
++#if LLVM_VERSION_MAJOR >= 10
++ return std::make_unique<ClazyStandaloneASTAction>(s_checks.getValue(), s_headerFilter.getValue(),
++ s_ignoreDirs.getValue(), s_exportFixes.getValue(),
++ m_paths, options);
++#else
+ return new ClazyStandaloneASTAction(s_checks.getValue(), s_headerFilter.getValue(),
+ s_ignoreDirs.getValue(), s_exportFixes.getValue(),
+ m_paths, options);
++#endif
+ }
+ std::vector<std::string> m_paths;
+ };
+diff --git a/src/checks/level0/qstring-ref.cpp b/src/checks/level0/qstring-ref.cpp
+index d1d8a4e..ec9e890 100644
+--- a/src/checks/level0/qstring-ref.cpp
++++ b/src/checks/level0/qstring-ref.cpp
+@@ -117,7 +117,11 @@ static bool containsChild(Stmt *s, Stmt *target)
+ return true;
+
+ if (auto mte = dyn_cast<MaterializeTemporaryExpr>(s)) {
++#if LLVM_VERSION_MAJOR >= 10
++ return containsChild(mte->getSubExpr(), target);
++#else
+ return containsChild(mte->getTemporary(), target);
++#endif
+ } else if (auto ice = dyn_cast<ImplicitCastExpr>(s)) {
+ return containsChild(ice->getSubExpr(), target);
+ } else if (auto bte = dyn_cast<CXXBindTemporaryExpr>(s)) {
+--
+cgit v1.1
+
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-01-27 22:30 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-11 21:41 [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/ Andreas Sturmlechner
-- strict thread matches above, loose matches on Subject: below --
2025-01-27 22:29 Andreas Sturmlechner
2024-09-21 13:34 Andreas Sturmlechner
2022-01-19 13:54 Andreas Sturmlechner
2021-05-01 21:24 Andreas Sturmlechner
2020-10-26 13:56 Andreas Sturmlechner
2020-08-22 16:06 Andreas Sturmlechner
2020-04-09 21:37 Andreas Sturmlechner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox