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