public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/clazy] epel8: 1.17
@ 2026-08-14  7:36 Jan Grulich
  0 siblings, 0 replies; only message in thread
From: Jan Grulich @ 2026-08-14  7:36 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/clazy
Branch : epel8
Commit : 270c100e3260c780ad03f1bf0e37f2d554da3476
Author : Jan Grulich <jgrulich@redhat.com>
Date   : 2026-02-26T12:56:53+01:00
Stats  : +9/-422 in 7 file(s)
URL    : https://src.fedoraproject.org/rpms/clazy/c/270c100e3260c780ad03f1bf0e37f2d554da3476?branch=epel8

Log:
1.17

---
diff --git a/.gitignore b/.gitignore
index 490b833..b767067 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@
 /clazy-1.14.tar.xz
 /clazy-1.15.tar.xz
 /clazy-v1.16.tar.xz
+/clazy-1.17.tar.xz

diff --git a/76212885729bf9dcfea7c198d32a15651310aceb.patch b/76212885729bf9dcfea7c198d32a15651310aceb.patch
deleted file mode 100644
index f2f7e61..0000000
--- a/76212885729bf9dcfea7c198d32a15651310aceb.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 76212885729bf9dcfea7c198d32a15651310aceb Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Sun, 2 Nov 2025 08:30:28 +0100
-Subject: [PATCH] Fix qhash-namespace test with llvm22
-
----
- src/checks/level1/qhash-namespace.cpp | 16 ++++++++++++----
- src/checks/level1/qhash-namespace.h   |  3 +++
- 2 files changed, 15 insertions(+), 4 deletions(-)
-
-diff --git a/src/checks/level1/qhash-namespace.cpp b/src/checks/level1/qhash-namespace.cpp
-index ef29711b..4b397fc3 100644
---- a/src/checks/level1/qhash-namespace.cpp
-+++ b/src/checks/level1/qhash-namespace.cpp
-@@ -18,6 +18,15 @@
- 
- using namespace clang;
- 
-+std::string QHashNamespace::fullyQualifiedParamName(clang::ParmVarDecl *firstArg)
-+{
-+    if (auto *typePtr = firstArg->getType().getTypePtr()->getAsTagDecl()) {
-+        return typePtr->getQualifiedNameAsString();
-+    }
-+    // Fallback, should not happen
-+    return firstArg->getType().getAsString();
-+}
-+
- void QHashNamespace::VisitDecl(clang::Decl *decl)
- {
-     auto *func = dyn_cast<FunctionDecl>(decl);
-@@ -34,13 +43,12 @@ void QHashNamespace::VisitDecl(clang::Decl *decl)
-         const std::string argumentNSstr = argumentNS->getQualifiedNameAsString();
-         const std::string qhashNSstr = qHashNS->getQualifiedNameAsString();
-         if (argumentNSstr != qhashNSstr) {
--            msg = "Move qHash(" + clazy::simpleTypeName(firstArg->getType(), lo()) + ") to " + argumentNSstr + " namespace for ADL lookup";
-+            msg = "Move qHash(" + fullyQualifiedParamName(firstArg) + ") to " + argumentNSstr + " namespace for ADL lookup";
-         }
-     } else if (qHashNS && !argumentNS) {
--        msg = "Move qHash(" + clazy::simpleTypeName(firstArg->getType(), lo()) + ") out of namespace " + qHashNS->getQualifiedNameAsString();
-+        msg = "Move qHash(" + fullyQualifiedParamName(firstArg) + ") out of namespace " + qHashNS->getQualifiedNameAsString();
-     } else if (!qHashNS && argumentNS) {
--        msg =
--            "Move qHash(" + clazy::simpleTypeName(firstArg->getType(), lo()) + ") into " + argumentNS->getQualifiedNameAsString() + " namespace for ADL lookup";
-+        msg = "Move qHash(" + fullyQualifiedParamName(firstArg) + ") into " + argumentNS->getQualifiedNameAsString() + " namespace for ADL lookup";
-     }
- 
-     if (!msg.empty()) {
-diff --git a/src/checks/level1/qhash-namespace.h b/src/checks/level1/qhash-namespace.h
-index 0bedd50c..c30adb25 100644
---- a/src/checks/level1/qhash-namespace.h
-+++ b/src/checks/level1/qhash-namespace.h
-@@ -17,6 +17,9 @@ class QHashNamespace : public CheckBase
- public:
-     using CheckBase::CheckBase;
-     void VisitDecl(clang::Decl *decl) override;
-+
-+private:
-+    std::string fullyQualifiedParamName(clang::ParmVarDecl *firstArg);
- };
- 
- #endif
--- 
-GitLab
-

diff --git a/81b7cf38a444f6ca7a539ceb51ada050214f3b47.patch b/81b7cf38a444f6ca7a539ceb51ada050214f3b47.patch
deleted file mode 100644
index 2a26655..0000000
--- a/81b7cf38a444f6ca7a539ceb51ada050214f3b47.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 81b7cf38a444f6ca7a539ceb51ada050214f3b47 Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Fri, 31 Oct 2025 08:02:53 +0100
-Subject: [PATCH] Add #if statements to avoid using ElaboratedType that is
- removed in LLVM 22
-
-Starting to make it compatible with LLVM22:
-https://invent.kde.org/sdk/clazy/-/issues/32
----
- src/StringUtils.h                               | 4 ++++
- src/TypeUtils.h                                 | 2 ++
- src/checks/level0/fully-qualified-moc-types.cpp | 2 ++
- 3 files changed, 8 insertions(+)
-
-diff --git a/src/StringUtils.h b/src/StringUtils.h
-index 1d2f301b..03c79a60 100644
---- a/src/StringUtils.h
-+++ b/src/StringUtils.h
-@@ -93,9 +93,11 @@ inline std::string classNameFor(clang::QualType qt)
-         return {};
-     }
- 
-+#if LLVM_VERSION_MAJOR < 22
-     if (clang::ElaboratedType::classof(t)) {
-         return classNameFor(static_cast<const clang::ElaboratedType *>(t)->getNamedType());
-     }
-+#endif
- 
-     const clang::CXXRecordDecl *record = t->isRecordType() ? t->getAsCXXRecordDecl() : t->getPointeeCXXRecordDecl();
-     return classNameFor(record);
-@@ -256,9 +258,11 @@ inline std::string simpleTypeName(clang::QualType qt, const clang::LangOptions &
-         return {};
-     }
- 
-+#if LLVM_VERSION_MAJOR < 22
-     if (clang::ElaboratedType::classof(t)) {
-         qt = static_cast<const clang::ElaboratedType *>(t)->getNamedType();
-     }
-+#endif
- 
-     return qt.getNonReferenceType().getUnqualifiedType().getAsString(clang::PrintingPolicy(lo));
- }
-diff --git a/src/TypeUtils.h b/src/TypeUtils.h
-index 49f373d0..c93f542d 100644
---- a/src/TypeUtils.h
-+++ b/src/TypeUtils.h
-@@ -211,9 +211,11 @@ inline clang::CXXRecordDecl *parentRecordForTypedef(const clang::QualType qt)
- {
-     auto *t = qt.getTypePtrOrNull();
- 
-+#if LLVM_VERSION_MAJOR < 22
-     if (const auto *elab = llvm::dyn_cast<clang::ElaboratedType>(t)) {
-         t = elab->desugar().getTypePtrOrNull();
-     }
-+#endif
- 
-     if (const auto *tdt = llvm::dyn_cast<clang::TypedefType>(t)) {
-         clang::TypedefNameDecl *tdnd = tdt->getDecl();
-diff --git a/src/checks/level0/fully-qualified-moc-types.cpp b/src/checks/level0/fully-qualified-moc-types.cpp
-index 7f9d6ab5..40d7f6cb 100644
---- a/src/checks/level0/fully-qualified-moc-types.cpp
-+++ b/src/checks/level0/fully-qualified-moc-types.cpp
-@@ -86,6 +86,7 @@ void FullyQualifiedMocTypes::VisitDecl(clang::Decl *decl)
- 
- std::string FullyQualifiedMocTypes::getQualifiedNameOfType(const Type *ptr, bool checkElabType) const
- {
-+#if LLVM_VERSION_MAJOR < 22
-     if (auto *elabType = dyn_cast<ElaboratedType>(ptr); elabType && checkElabType) {
-         if (auto *specType = dyn_cast<TemplateSpecializationType>(elabType->getNamedType().getTypePtrOrNull()); specType && !ptr->getAs<TypedefType>()) {
-             return resolveTemplateType(specType, false);
-@@ -94,6 +95,7 @@ std::string FullyQualifiedMocTypes::getQualifiedNameOfType(const Type *ptr, bool
-             return elabType->getAs<EnumType>()->getDecl()->getQualifiedNameAsString();
-         }
-     }
-+#endif
-     if (auto *typedefDecl = ptr->getAs<TypedefType>(); typedefDecl && typedefDecl->getDecl()) {
-         return typedefDecl->getDecl()->getQualifiedNameAsString();
-     } else if (auto templateSpec = ptr->getAs<TemplateSpecializationType>()) {
--- 
-GitLab
-

diff --git a/9cf68dbe86c02d7b4e5913be1f637ba12000ac8d.patch b/9cf68dbe86c02d7b4e5913be1f637ba12000ac8d.patch
deleted file mode 100644
index 9916081..0000000
--- a/9cf68dbe86c02d7b4e5913be1f637ba12000ac8d.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 9cf68dbe86c02d7b4e5913be1f637ba12000ac8d Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Mon, 17 Nov 2025 20:47:32 +0100
-Subject: [PATCH] Fix old-style-connect check not working with LLVM22
-
-The decleration did not contain the info we needed.
-
-CXXRecordDecl 0x7f0f7c4f2930 prev 0x38f35d18 </usr/include/qt5/QtDBus/qdbusconnection.h:74:1, col:7> col:7 referenced class QObject
-`-VisibilityAttr 0x7f0f7c4f29f0 </usr/include/qt5/QtCore/qcompilerdetection.h:236:46, col:66> Inherited Default
-
-Compared to before, where we had all the methods and so on.
-To fix this, get the decleration of the class
----
- src/checks/level2/old-style-connect.cpp | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/checks/level2/old-style-connect.cpp b/src/checks/level2/old-style-connect.cpp
-index d5b82fd4..7461a27f 100644
---- a/src/checks/level2/old-style-connect.cpp
-+++ b/src/checks/level2/old-style-connect.cpp
-@@ -350,7 +350,7 @@ std::vector<FixItHint> OldStyleConnect::fixits(int classification, T *callOrCtor
-                 }
-             }
- 
--            if (!lastRecordDecl) {
-+            if (!lastRecordDecl || !lastRecordDecl->hasDefinition()) {
-                 std::string msg = "Failed to get class name for explicit receiver";
-                 queueManualFixitWarning(s, msg);
-                 return {};
-@@ -358,7 +358,8 @@ std::vector<FixItHint> OldStyleConnect::fixits(int classification, T *callOrCtor
- 
-             const std::string methodName = signalOrSlotNameFromMacro(s);
- 
--            auto methods = Utils::methodsFromString(lastRecordDecl, methodName);
-+            // With LLVM22, we need to explicitly ask for the definition
-+            auto methods = Utils::methodsFromString(lastRecordDecl->getDefinition(), methodName);
-             if (methods.empty()) {
-                 std::string msg;
-                 if (isPrivateSlot(methodName)) {
--- 
-GitLab
-

diff --git a/ccffc8695477d9f486e509874440c7c63e2ec599.patch b/ccffc8695477d9f486e509874440c7c63e2ec599.patch
deleted file mode 100644
index 2ec2afc..0000000
--- a/ccffc8695477d9f486e509874440c7c63e2ec599.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From ccffc8695477d9f486e509874440c7c63e2ec599 Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Sun, 16 Nov 2025 19:43:51 +0100
-Subject: [PATCH] Fix fully-fualified-moc-types not working with llvm22
-
-The core change is: Use the lexer to get the source text directly, normalize it and avoid shenanigans that are too fragile
----
- Changelog                                     |   1 +
- .../level0/fully-qualified-moc-types.cpp      | 116 ++++++++++++++----
- src/checks/level0/fully-qualified-moc-types.h |   8 +-
- 3 files changed, 101 insertions(+), 24 deletions(-)
-
-diff --git a/src/checks/level0/fully-qualified-moc-types.cpp b/src/checks/level0/fully-qualified-moc-types.cpp
-index 40d7f6cb..576c9968 100644
---- a/src/checks/level0/fully-qualified-moc-types.cpp
-+++ b/src/checks/level0/fully-qualified-moc-types.cpp
-@@ -28,6 +28,73 @@
- 
- using namespace clang;
- 
-+/*
-+ * When we get the raw string from the lexer, ensure we remove unneeded whitespaces to get a proper representation of the expression
-+ */
-+static std::string normalizeType(const std::string &type)
-+{
-+    std::string out;
-+    bool lastWasSpace = false;
-+
-+    for (size_t i = 0; i < type.size(); ++i) {
-+        const char c = type[i];
-+
-+        if (isspace(static_cast<unsigned char>(c))) {
-+            lastWasSpace = true;
-+            continue; // skip now, decide later
-+        }
-+
-+        // Remove space before certain punctuation that is relevant here
-+        if ((c == '<' || c == '>' || c == ',') && !out.empty() && out.back() == ' ') {
-+            out.pop_back();
-+        }
-+
-+        // Add a space if needed (mandatory space between keywords/identifiers)
-+        if (lastWasSpace) {
-+            if (!out.empty()) {
-+                const char prev = out.back();
-+                // insert a space if previous and current chars are alphanumeric or underscores
-+                if ((isalnum(prev) || prev == '_') && (isalnum(c) || c == '_')) {
-+                    out += ' ';
-+                }
-+            }
-+        }
-+
-+        out += c;
-+
-+        // Add exactly one space after comma
-+        if (c == ',') {
-+            out += ' ';
-+        }
-+
-+        lastWasSpace = false;
-+    }
-+
-+    return out;
-+}
-+
-+std::string FullyQualifiedMocTypes::writtenType(const ParmVarDecl *param) const
-+{
-+    TypeSourceInfo *TSI = param->getTypeSourceInfo();
-+    if (!TSI)
-+        return {};
-+
-+    TypeLoc TL = TSI->getTypeLoc();
-+    while (true) {
-+        if (auto PtrLoc = TL.getAs<PointerTypeLoc>()) {
-+            TL = PtrLoc.getPointeeLoc();
-+        } else if (auto RefLoc = TL.getAs<ReferenceTypeLoc>()) {
-+            TL = RefLoc.getPointeeLoc();
-+        } else {
-+            break; // reached underlying type
-+        }
-+    }
-+
-+    CharSourceRange CSR = CharSourceRange::getTokenRange(TL.getSourceRange());
-+    StringRef text = Lexer::getSourceText(CSR, sm(), lo());
-+    return normalizeType(text.str());
-+}
-+
- void FullyQualifiedMocTypes::VisitDecl(clang::Decl *decl)
- {
-     auto *method = dyn_cast<CXXMethodDecl>(decl);
-@@ -54,10 +121,10 @@ void FullyQualifiedMocTypes::VisitDecl(clang::Decl *decl)
-     }
- 
-     std::string qualifiedTypeName;
--    std::string typeName;
-     for (auto *param : method->parameters()) {
-         QualType t = clazy::pointeeQualType(param->getType());
--        if (!typeIsFullyQualified(t, /*by-ref*/ qualifiedTypeName, /*by-ref*/ typeName)) {
-+        const std::string typeName = writtenType(param);
-+        if (!typeIsFullyQualified(t, /*by-ref*/ qualifiedTypeName, typeName)) {
-             SourceRange fixitRange = param->getTypeSourceInfo()->getTypeLoc().getSourceRange();
-             // We don't want to include the & or * characters for the fixit range
-             if (param->getType()->isReferenceType() || param->getType()->isPointerType()) {
-@@ -70,8 +137,18 @@ void FullyQualifiedMocTypes::VisitDecl(clang::Decl *decl)
-     }
- 
-     if (qst == QtAccessSpecifier_Slot || qst == QtAccessSpecifier_Invokable) {
-+        std::string typeName;
-         QualType returnT = clazy::pointeeQualType(method->getReturnType());
--        if (!typeIsFullyQualified(returnT, /*by-ref*/ qualifiedTypeName, /*by-ref*/ typeName)) {
-+        if (auto *TSI = method->getTypeSourceInfo()) {
-+            FunctionTypeLoc FTL = TSI->getTypeLoc().castAs<FunctionTypeLoc>();
-+            SourceRange SR = FTL.getReturnLoc().getSourceRange();
-+            if (SR.isValid()) {
-+                StringRef returnText = Lexer::getSourceText(CharSourceRange::getTokenRange(SR), sm(), lo());
-+                typeName = normalizeType(returnText.str());
-+            }
-+        }
-+
-+        if (!typeName.empty() && !typeIsFullyQualified(returnT, /*by-ref*/ qualifiedTypeName, typeName)) {
-             SourceRange returnTypeSourceRange = method->getReturnTypeSourceRange();
-             // We don't want to include the & or * characters for the fixit range
-             if (method->getReturnType()->isReferenceType() || method->getReturnType()->isPointerType()) {
-@@ -84,25 +161,23 @@ void FullyQualifiedMocTypes::VisitDecl(clang::Decl *decl)
-     }
- }
- 
--std::string FullyQualifiedMocTypes::getQualifiedNameOfType(const Type *ptr, bool checkElabType) const
-+std::string FullyQualifiedMocTypes::getQualifiedNameOfType(const Type *ptr, bool resolveTemplateArgs) const
- {
--#if LLVM_VERSION_MAJOR < 22
--    if (auto *elabType = dyn_cast<ElaboratedType>(ptr); elabType && checkElabType) {
--        if (auto *specType = dyn_cast<TemplateSpecializationType>(elabType->getNamedType().getTypePtrOrNull()); specType && !ptr->getAs<TypedefType>()) {
--            return resolveTemplateType(specType, false);
--        }
--        if (elabType->isEnumeralType() && elabType->getAs<EnumType>()) {
--            return elabType->getAs<EnumType>()->getDecl()->getQualifiedNameAsString();
--        }
-+    if (ptr->isEnumeralType() && ptr->getAs<EnumType>()) {
-+        return ptr->getAs<EnumType>()->getDecl()->getQualifiedNameAsString();
-     }
--#endif
-     if (auto *typedefDecl = ptr->getAs<TypedefType>(); typedefDecl && typedefDecl->getDecl()) {
-         return typedefDecl->getDecl()->getQualifiedNameAsString();
-+    }
-+
-+    else if (auto templateSpec = ptr->getAs<TemplateSpecializationType>(); templateSpec && resolveTemplateArgs) {
-+        return resolveTemplateType(templateSpec, false);
-     } else if (auto templateSpec = ptr->getAs<TemplateSpecializationType>()) {
-         // In case one uses a typedef with generics, like QVector<QString> in Qt6
-         // The docs indicate getAsTemplateDecl might be null - so be prepared for that
-         if (auto *decl = templateSpec->getTemplateName().getAsTemplateDecl()) {
-             return decl->getQualifiedNameAsString();
-+        } else {
-         }
-     } else if (auto recordDecl = ptr->getAsRecordDecl()) {
-         return recordDecl->getQualifiedNameAsString();
-@@ -132,30 +207,27 @@ std::string FullyQualifiedMocTypes::resolveTemplateType(const clang::TemplateSpe
-             if (argType.isConstQualified()) {
-                 str += "const ";
-             }
--            str += getQualifiedNameOfType(argType.getTypePtr());
-+            str += getQualifiedNameOfType(argType.getTypePtr(), true);
-         }
-     }
-     str += ">";
-     return str;
- }
- 
--bool FullyQualifiedMocTypes::typeIsFullyQualified(QualType t, std::string &qualifiedTypeName, std::string &typeName) const
-+bool FullyQualifiedMocTypes::typeIsFullyQualified(QualType t, std::string &qualifiedTypeName, const std::string &typeName) const
- {
-     qualifiedTypeName.clear();
--    typeName.clear();
--
-     if (auto *ptr = t.getTypePtrOrNull(); ptr && (ptr->isRecordType() || ptr->isEnumeralType())) {
--        typeName = clazy::name(t.getUnqualifiedType(), lo(), /*asWritten=*/true); // Ignore qualifiers like const here
-         if (typeName == "QPrivateSignal") {
-             return true;
-         }
- 
-         if (auto specType = ptr->getAs<TemplateSpecializationType>(); specType && !ptr->getAs<TypedefType>()) {
--            qualifiedTypeName = resolveTemplateType(specType);
-+            qualifiedTypeName = resolveTemplateType(specType, false);
-         } else if (auto recordDecl = ptr->getAsRecordDecl(); recordDecl && recordDecl->isInAnonymousNamespace()) {
-             return true;
-         } else {
--            qualifiedTypeName = getQualifiedNameOfType(ptr);
-+            qualifiedTypeName = getQualifiedNameOfType(ptr, true);
-         }
-         return qualifiedTypeName.empty() || typeName == qualifiedTypeName;
-     }
-@@ -212,8 +284,10 @@ bool FullyQualifiedMocTypes::handleQ_PROPERTY(CXXMethodDecl *method)
-                             continue;
-                         }
- 
--                        std::string nameAsWritten;
-+                        QualType castType = clazy::pointeeQualType(reinterpret->getTypeAsWritten()).getUnqualifiedType();
-+                        std::string nameAsWritten = castType.getUnqualifiedType().getAsString();
-                         std::string qualifiedName;
-+
-                         if (!typeIsFullyQualified(qt, qualifiedName, nameAsWritten)) {
-                             // warn in the cxxrecorddecl, since we don't want to warn in the .moc files.
-                             // Ideally we would do some cross checking with the Q_PROPERTIES, but that's not in the AST
-diff --git a/src/checks/level0/fully-qualified-moc-types.h b/src/checks/level0/fully-qualified-moc-types.h
-index 3b791667..7b34a99c 100644
---- a/src/checks/level0/fully-qualified-moc-types.h
-+++ b/src/checks/level0/fully-qualified-moc-types.h
-@@ -32,9 +32,11 @@ private:
-     bool handleQ_PROPERTY(clang::CXXMethodDecl *);
-     void VisitMacroExpands(const clang::Token &MacroNameTok, const clang::SourceRange &range, const clang::MacroInfo *minfo = nullptr) override;
-     void registerQ_GADGET(clang::SourceLocation);
--    bool typeIsFullyQualified(clang::QualType t, std::string &qualifiedTypeName, std::string &typeName) const;
--    std::string getQualifiedNameOfType(const clang::Type *ptr, bool checkElabType = true) const;
--    std::string resolveTemplateType(const clang::TemplateSpecializationType *ptr, bool checkElabType = true) const;
-+    bool typeIsFullyQualified(clang::QualType t, std::string &qualifiedTypeName, const std::string &typeName) const;
-+    std::string getQualifiedNameOfType(const clang::Type *ptr, bool resolveTemplateArgs) const;
-+    std::string resolveTemplateType(const clang::TemplateSpecializationType *ptr, bool resolveTemplateArgs) const;
-+
-+    std::string writtenType(const clang::ParmVarDecl *param) const;
- 
-     std::vector<clang::SourceLocation> m_qgadgetMacroLocations;
- };
--- 
-GitLab
-

diff --git a/clazy.spec b/clazy.spec
index caa15cc..ef0146c 100644
--- a/clazy.spec
+++ b/clazy.spec
@@ -1,22 +1,18 @@
 Name:           clazy
 Summary:        Qt oriented code checker based on clang framework
-Version:        1.16
-Release:        5%{?dist}
+Version:        1.17
+Release:        1%{?dist}
 License:        LGPL-2.0-or-later
 URL:            https://invent.kde.org/sdk/%{name}
 
 %if 0%{?commitdate}
 Source0:        %{url}/-/archive/%{commit}/%{name}-%{commit}.tar.gz
 %else
-Source0:        https://download.kde.org/stable/%{name}/%{version}/src/%{name}-v%{version}.tar.xz
+Source0:        https://download.kde.org/stable/%{name}/%{version}/src/%{name}-%{version}.tar.xz
 %endif
 
 Patch0:         clazy-no-rpath.patch
-# Patches required for LLVM 22.
-Patch1:         81b7cf38a444f6ca7a539ceb51ada050214f3b47.patch
-Patch2:         76212885729bf9dcfea7c198d32a15651310aceb.patch
-Patch3:         ccffc8695477d9f486e509874440c7c63e2ec599.patch
-Patch4:         9cf68dbe86c02d7b4e5913be1f637ba12000ac8d.patch
+
 
 BuildRequires: cmake
 BuildRequires: gcc-c++
@@ -61,6 +57,9 @@ refactoring.
 
 
 %changelog
+* Thu Feb 26 2026 Jan Grulich <jgrulich@redhat.com> - 1.17-1
+- 1.17
+
 * Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.16-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
 

diff --git a/sources b/sources
index e66e19c..272134d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (clazy-v1.16.tar.xz) = 5978ad184ba4e18dbc8af9e1c9cbae603e3e32a8e2e6b9d1c893bf29c1a23237b7155f0c62222aa949d0c4abb71c1c97cf4e4de30f6cacd478a239b283789cb4
+SHA512 (clazy-1.17.tar.xz) = afd5f5517108120fb83342d6ee7302f0fbb5472d5bcb58961b7dc9542c95baf5b6e6e130962e71bd528b98c9b9ffdeeaabfa40701fea030f4ebc7beb193cd73a

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-14  7:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-14  7:36 [rpms/clazy] epel8: 1.17 Jan Grulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox