diff --git a/srcpkgs/clazy/files/clazy-001-llvm11-stringref.patch b/srcpkgs/clazy/files/clazy-001-llvm11-stringref.patch deleted file mode 100644 index 48049fa594a..00000000000 --- a/srcpkgs/clazy/files/clazy-001-llvm11-stringref.patch +++ /dev/null @@ -1,343 +0,0 @@ -From 30d6a2b64f5a05722fdc5d8e3754dbf13425cd62 Mon Sep 17 00:00:00 2001 -From: Egor Gabov -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 f3af2e54..44240cf5 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(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(DiagEngine.getDiagnosticIDs()->getWarningOptionForDiag(Info.getID())); - std::string messageText; - - if (checkName.empty()) { -diff --git a/src/MiniAstDumper.cpp b/src/MiniAstDumper.cpp -index 47661749..6124e6e8 100644 ---- a/src/MiniAstDumper.cpp -+++ b/src/MiniAstDumper.cpp -@@ -24,6 +24,7 @@ - - #include - #include -+#include - - using namespace clang; - using namespace std; -diff --git a/src/Utils.cpp b/src/Utils.cpp -index 001ced98..b0812fe3 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(sm.getFilename(loc)); - auto splitted = clazy::splitString(filename, '/'); - if (splitted.empty()) - return {}; -diff --git a/src/checkbase.cpp b/src/checkbase.cpp -index 8b40e19d..22a426cf 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(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 70311f42..1b094ee7 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> &methodsByType = detachingMethodType == DetachingMethod ? clazy::detachingMethods() - : clazy::detachingMethodsWithConstCounterParts(); -- auto it = methodsByType.find(className); -+ auto it = methodsByType.find(static_cast(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 00075b5c..db8910f2 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(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 d3a587cb..ab8e9f52 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(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(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 4e4b8303..93815f27 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 blacklistedTemplates = { "QScopedPointer", "QSetValueOnDestroy", "QScopedValueRollback" }; - StringRef className = clazy::name(record); - for (StringRef templateName : blacklistedTemplates) { -- if (clazy::startsWith(className, templateName)) -+ if (clazy::startsWith(static_cast(className), static_cast(templateName))) - return true; - } - -diff --git a/src/checks/level1/detaching-temporary.cpp b/src/checks/level1/detaching-temporary.cpp -index fedfc81c..60c75532 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> &methodsByType = clazy::detachingMethods(); -- auto it = methodsByType.find(className); -+ auto it = methodsByType.find(static_cast(className)); - auto it2 = m_writeMethodsByType.find(className); - - std::vector allowedFunctions; -diff --git a/src/checks/level1/non-pod-global-static.cpp b/src/checks/level1/non-pod-global-static.cpp -index 5879bff8..433b5c5f 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(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 e1d6db4a..3af9fee2 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(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 98df2cd4..03b44e06 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(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 0fe68c13..396cb703 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(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(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(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 8db55d53..7583fcc5 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(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 edb6cdf4..e9c50a45 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(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(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(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 f91159cb..952d9f1d 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(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 912dbaa0..6375bd7b 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(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 e792e95a..b60752c9 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 keywords = { "foreach", "signals", "slots", "emit" }; -- std::string name = ii->getName(); -+ std::string name = static_cast(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(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 389cac5a..92e4491c 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(clazy::name(methodDecl)), -+ { "append", "push_back", "push", "operator<<", "operator+=" })) - return false; - - if (!clazy::isAReserveClass(classDecl)) --- -GitLab - diff --git a/srcpkgs/clazy/files/clazy-002-llvm11-stringref.patch b/srcpkgs/clazy/files/clazy-002-llvm11-stringref.patch deleted file mode 100644 index 28cbb60b091..00000000000 --- a/srcpkgs/clazy/files/clazy-002-llvm11-stringref.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 25aa102cc49def9573ffbed88155589cd60a2e8f Mon Sep 17 00:00:00 2001 -From: Egor Gabov -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 81e61d48..5d4fe203 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(clazy::name(funDecl)); - - if (name == "callObjectMethod" || name == "callMethod") { - checkArgAt(callExpr, 0, methodNameRegex, "Invalid method name"); --- -GitLab - diff --git a/srcpkgs/clazy/template b/srcpkgs/clazy/template index 5af2b918e14..a74c4a5f1dd 100644 --- a/srcpkgs/clazy/template +++ b/srcpkgs/clazy/template @@ -1,20 +1,14 @@ # Template file for 'clazy' pkgname=clazy -version=1.7 -revision=2 +version=1.8 +revision=1 +create_wrksrc=yes build_style=cmake -hostmakedepends="python" makedepends="clang llvm" short_desc="Qt oriented code checker based on clang framework" maintainer="John " license="LGPL-2.0-or-later" -homepage="https://cgit.kde.org/clazy.git/about/" +homepage="https://apps.kde.org/en/clazy" distfiles="${KDE_SITE}/clazy/${version}/src/${pkgname}-${version}.tar.xz" -checksum=754da5815f769dd6b72a040a2430525c93f294eb7769c78271603df9614f1b21 +checksum=ff0a5b5e694149df5f60bb7a4dc253ee4752b803453c5d29fa79611b54ecffdc nocross="Clang cannot be installed as makedep" - -post_extract() { - for i in ${FILESDIR}/clazy-*.patch; do - patch -sNp1 -i ${i} - done -}