public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Steve Cossette <farchord@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/kdevelop-python] rawhide: Initial import (fedora#2493981)
Date: Thu, 02 Jul 2026 12:32:15 GMT	[thread overview]
Message-ID: <178299553562.1.9262809201147100209.rpms-kdevelop-python-5d834bd1bd3f@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/kdevelop-python
Branch : rawhide
Commit : 5d834bd1bd3ff400a33bd21f364d1d7d34453a3b
Author : Steve Cossette <farchord@gmail.com>
Date   : 2026-07-02T08:30:37-04:00
Stats  : +461/-507 in 7 file(s)
URL    : https://src.fedoraproject.org/rpms/kdevelop-python/c/5d834bd1bd3ff400a33bd21f364d1d7d34453a3b?branch=rawhide

Log:
Initial import (fedora#2493981)

---
diff --git a/.gitignore b/.gitignore
index 7ab4658..c2fa1f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,3 +36,4 @@
 /kdev-python-5.6.0.tar.xz
 /kdev-python-5.6.1.tar.xz
 /kdev-python-5.6.2.tar.xz
+/kdev-python-26.04.2.tar.xz

diff --git a/65.patch b/65.patch
new file mode 100644
index 0000000..7d90f07
--- /dev/null
+++ b/65.patch
@@ -0,0 +1,403 @@
+From b483204bb39f6691d2a5a682b295a15ac7c08c40 Mon Sep 17 00:00:00 2001
+From: Morten Danielsen Volden <mvolden2@gmail.com>
+Date: Fri, 5 Jun 2026 23:33:38 +0200
+Subject: [PATCH 1/4] Fix build for python 3.14 and forward
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a8ee6f2..e1ea85d7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,7 +42,7 @@ add_definitions( -DTRANSLATION_DOMAIN=\"kdevpython\" )
+ 
+ set(Python3_USE_STATIC_LIBS FALSE)
+ set(Python3_FIND_STRATEGY VERSION)
+-find_package(Python3 3.4.3...<3.14 COMPONENTS Interpreter Development REQUIRED)
++find_package(Python3 3.4.3 COMPONENTS Interpreter Development REQUIRED)
+ 
+ configure_file(kdevpythonversion.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/kdevpythonversion.h" @ONLY)
+ 
+-- 
+GitLab
+
+
+From 6ee5cbb3f6129470439a1a5d9b9483417ba045ac Mon Sep 17 00:00:00 2001
+From: Morten Danielsen Volden <mvolden2@gmail.com>
+Date: Sat, 27 Jun 2026 07:19:38 +0200
+Subject: [PATCH 2/4] Add support for python 3.14 AST features Fixes the
+ following scenario. If a user writes t"hello {name}" in Python 3.14 code, the
+ Python AST produces an ast.TemplateStr node. The transformer at
+ asttransformer.cpp:816-819 will then hit the unhandled fallthrough:
+
+// asttransformer.cpp:816
+else {
+    qWarning() << "Unsupported _expr AST type: " << PyUnicodeObjectToQString(PyObject_Str(node));
+    Q_ASSERT(false);   // crashes debug builds, skips in release
+}
+---
+ parser/ast.cpp               | 10 ++++++
+ parser/ast.h                 | 17 ++++++++++
+ parser/astdefaultvisitor.cpp | 11 +++++++
+ parser/astdefaultvisitor.h   |  4 +++
+ parser/asttransformer.cpp    | 24 ++++++++++++++
+ parser/astvisitor.cpp        |  2 ++
+ parser/astvisitor.h          |  2 ++
+ parser/python_grammar.h      | 15 +++++++++
+ parser/tests/pyasttest.cpp   | 64 ++++++++++++++++++++++++++++++++++++
+ parser/tests/pyasttest.h     |  3 ++
+ 10 files changed, 152 insertions(+)
+
+diff --git a/parser/ast.cpp b/parser/ast.cpp
+index b10fcb11..3a5f95e0 100644
+--- a/parser/ast.cpp
++++ b/parser/ast.cpp
+@@ -676,6 +676,16 @@ FormattedValueAst::FormattedValueAst(Ast* parent): ExpressionAst(parent, Ast::Fo
+ 
+ }
+ 
++TemplateStringAst::TemplateStringAst(Ast* parent): ExpressionAst(parent, Ast::TemplateStringAstType), values()
++{
++
++}
++
++InterpolationAst::InterpolationAst(Ast* parent): ExpressionAst(parent, Ast::InterpolationAstType), value(nullptr), expr(), conversion(0), formatSpec(nullptr)
++{
++
++}
++
+ SubscriptAst::SubscriptAst(Ast* parent): ExpressionAst(parent, Ast::SubscriptAstType), value(nullptr), slice(nullptr)
+ {
+     
+diff --git a/parser/ast.h b/parser/ast.h
+index ba64ad23..0c029c9b 100644
+--- a/parser/ast.h
++++ b/parser/ast.h
+@@ -108,6 +108,8 @@ public:
+         StringAstType,
+         JoinedStringAstType,
+         FormattedValueAstType,
++        TemplateStringAstType,
++        InterpolationAstType,
+         BytesAstType,
+         SubscriptAstType,
+         StarredAstType,
+@@ -694,6 +696,21 @@ public:
+     ExpressionAst* formatSpec;
+ };
+ 
++class KDEVPYTHONPARSER_EXPORT TemplateStringAst : public ExpressionAst {
++public:
++    TemplateStringAst(Ast* parent);
++    QList<ExpressionAst*> values;
++};
++
++class KDEVPYTHONPARSER_EXPORT InterpolationAst : public ExpressionAst {
++public:
++    InterpolationAst(Ast* parent);
++    ExpressionAst* value;
++    QString expr; // raw source text of the interpolated expression
++    int conversion;
++    ExpressionAst* formatSpec;
++};
++
+ class KDEVPYTHONPARSER_EXPORT BytesAst : public ConstantAst {
+ public:
+     BytesAst(Ast* parent) : ConstantAst(parent, Ast::BytesAstType) {};
+diff --git a/parser/astdefaultvisitor.cpp b/parser/astdefaultvisitor.cpp
+index 5aaeaed7..9a60d989 100644
+--- a/parser/astdefaultvisitor.cpp
++++ b/parser/astdefaultvisitor.cpp
+@@ -45,6 +45,17 @@ void AstDefaultVisitor::visitFormattedValue(FormattedValueAst* node) {
+     visitNode(node->formatSpec);
+ }
+ 
++void AstDefaultVisitor::visitTemplateString(TemplateStringAst* node) {
++    for (Ast* value : std::as_const(node->values)) {
++        visitNode(value);
++    }
++}
++
++void AstDefaultVisitor::visitInterpolation(InterpolationAst* node) {
++    visitNode(node->value);
++    visitNode(node->formatSpec);
++}
++
+ void AstDefaultVisitor::visitStarred(StarredAst* node) {
+     visitNode(node->value);
+ }
+diff --git a/parser/astdefaultvisitor.h b/parser/astdefaultvisitor.h
+index 458fead0..c6811a16 100644
+--- a/parser/astdefaultvisitor.h
++++ b/parser/astdefaultvisitor.h
+@@ -67,6 +67,8 @@ public:
+     void visitString(StringAst* node) override;
+     void visitJoinedString(JoinedStringAst* node) override;
+     void visitFormattedValue(FormattedValueAst* node) override;
++    void visitTemplateString(TemplateStringAst* node) override;
++    void visitInterpolation(InterpolationAst* node) override;
+     void visitBytes(BytesAst* node) override;
+     void visitYield(YieldAst* node) override;
+     void visitYieldFrom(YieldFromAst* node) override;
+@@ -149,6 +151,8 @@ public:
+     void visitString(StringAst* node) override { AstDefaultVisitor::visitString(node); delete node; }
+     void visitJoinedString(JoinedStringAst* node) override { AstDefaultVisitor::visitJoinedString(node); delete node; }
+     void visitFormattedValue(FormattedValueAst* node) override { AstDefaultVisitor::visitFormattedValue(node); delete node; }
++    void visitTemplateString(TemplateStringAst* node) override { AstDefaultVisitor::visitTemplateString(node); delete node; }
++    void visitInterpolation(InterpolationAst* node) override { AstDefaultVisitor::visitInterpolation(node); delete node; }
+     void visitBytes(BytesAst* node) override { AstDefaultVisitor::visitBytes(node); delete node; }
+     void visitYield(YieldAst* node) override { AstDefaultVisitor::visitYield(node); delete node; }
+     void visitYieldFrom(YieldFromAst* node) override { AstDefaultVisitor::visitYieldFrom(node); delete node; }
+diff --git a/parser/asttransformer.cpp b/parser/asttransformer.cpp
+index 462f7975..0e42b346 100644
+--- a/parser/asttransformer.cpp
++++ b/parser/asttransformer.cpp
+@@ -618,6 +618,30 @@ Ast* AstTransformer::visitExprNode(PyObject* node, Ast* parent)
+         result = v;
+     }
+ #endif
++#if PYTHON_VERSION >= QT_VERSION_CHECK(3, 14, 0)
++    else if (PyObject_IsInstance(node, grammar.ast_TemplateStr)) {
++        TemplateStringAst* v = new TemplateStringAst(parent);
++        {
++            PyObjectRef values = getattr<PyObjectRef>(node, "values");
++            v->values = visitNodeList<ExpressionAst>(values, v);
++        }
++        result = v;
++    }
++    else if (PyObject_IsInstance(node, grammar.ast_Interpolation)) {
++        InterpolationAst* v = new InterpolationAst(parent);
++        {
++            PyObjectRef value = getattr<PyObjectRef>(node, "value");
++            v->value = static_cast<ExpressionAst*>(visitExprNode(value, v));
++        }
++        v->expr = getattr<QString>(node, "str");
++        v->conversion = getattr<int>(node, "conversion");
++        {
++            PyObjectRef format_spec = getattr<PyObjectRef>(node, "format_spec");
++            v->formatSpec = static_cast<ExpressionAst*>(visitExprNode(format_spec, v));
++        }
++        result = v;
++    }
++#endif
+ #if PYTHON_VERSION < QT_VERSION_CHECK(3, 8, 0)
+     else if (PyObject_IsInstance(node, grammar.ast_Bytes)) {
+         BytesAst* v = new  BytesAst(parent);
+diff --git a/parser/astvisitor.cpp b/parser/astvisitor.cpp
+index df21cddf..0f96922a 100644
+--- a/parser/astvisitor.cpp
++++ b/parser/astvisitor.cpp
+@@ -65,6 +65,8 @@ void AstVisitor::visitNode(Ast* node)
+         case Ast::StringAstType:                                this->visitString(static_cast<StringAst*>(node)); break;
+         case Ast::FormattedValueAstType:                        this->visitFormattedValue(static_cast<FormattedValueAst*>(node)); break;
+         case Ast::JoinedStringAstType:                          this->visitJoinedString(static_cast<JoinedStringAst*>(node)); break;
++        case Ast::TemplateStringAstType:                        this->visitTemplateString(static_cast<TemplateStringAst*>(node)); break;
++        case Ast::InterpolationAstType:                         this->visitInterpolation(static_cast<InterpolationAst*>(node)); break;
+         case Ast::BytesAstType:                                 this->visitBytes(static_cast<BytesAst*>(node)); break;
+         case Ast::YieldAstType:                                 this->visitYield(static_cast<YieldAst*>(node)); break;
+         case Ast::NameAstType:                                  this->visitName(static_cast<NameAst*>(node)); break;
+diff --git a/parser/astvisitor.h b/parser/astvisitor.h
+index aa4d8015..9ac05ced 100644
+--- a/parser/astvisitor.h
++++ b/parser/astvisitor.h
+@@ -80,6 +80,8 @@ public:
+     virtual void visitString(StringAst* node) { Q_UNUSED(node); };
+     virtual void visitFormattedValue(FormattedValueAst* node) { Q_UNUSED(node); };
+     virtual void visitJoinedString(JoinedStringAst* node) { Q_UNUSED(node); };
++    virtual void visitTemplateString(TemplateStringAst* node) { Q_UNUSED(node); };
++    virtual void visitInterpolation(InterpolationAst* node) { Q_UNUSED(node); };
+     virtual void visitBytes(BytesAst* node) { Q_UNUSED(node); };
+     virtual void visitYield(YieldAst* node) { Q_UNUSED(node); };
+     virtual void visitName(NameAst* node) { Q_UNUSED(node); };
+diff --git a/parser/python_grammar.h b/parser/python_grammar.h
+index 88c68f70..a908da3b 100644
+--- a/parser/python_grammar.h
++++ b/parser/python_grammar.h
+@@ -187,6 +187,12 @@ public:
+     PyObject* ast_Bytes;
+ #endif
+ 
++#if PYTHON_VERSION >= QT_VERSION_CHECK(3, 14, 0)
++    // PEP 750 t-strings
++    PyObject* ast_TemplateStr;
++    PyObject* ast_Interpolation;
++#endif
++
+     Grammar() {
+         PyObject* mod = PyImport_ImportModule("ast");
+ 
+@@ -338,6 +344,11 @@ public:
+         Py_GRAMMAR_GET(mod, TypeAlias);
+ #endif
+ 
++#if PYTHON_VERSION >= QT_VERSION_CHECK(3, 14, 0)
++        Py_GRAMMAR_GET(mod, TemplateStr);
++        Py_GRAMMAR_GET(mod, Interpolation);
++#endif
++
+         Py_DECREF(mod);
+     }
+ 
+@@ -486,6 +497,10 @@ public:
+ #endif
+ #if PYTHON_VERSION >= QT_VERSION_CHECK(3, 12, 0)
+         Py_XDECREF(ast_TypeAlias);
++#endif
++#if PYTHON_VERSION >= QT_VERSION_CHECK(3, 14, 0)
++        Py_XDECREF(ast_TemplateStr);
++        Py_XDECREF(ast_Interpolation);
+ #endif
+     }
+ };
+diff --git a/parser/tests/pyasttest.cpp b/parser/tests/pyasttest.cpp
+index 16852f8d..442fa16b 100644
+--- a/parser/tests/pyasttest.cpp
++++ b/parser/tests/pyasttest.cpp
+@@ -243,6 +243,12 @@ void PyAstTest::testExpressions_data()
+     QTest::newRow("ExtSlice") << "A[1:3,3:5]";
+     QTest::newRow("FString") << "f\"hi {a.b}\"";
+     QTest::newRow("Formatted") << "'%s %s' % ('one', 'two')";
++#if PYTHON_VERSION >= QT_VERSION_CHECK(3, 14, 0)
++    QTest::newRow("TString") << "t\"hello {name}\"";
++    QTest::newRow("TString_conversion") << "t\"{value!r}\"";
++    QTest::newRow("TString_format_spec") << "t\"{value:.2f}\"";
++    QTest::newRow("TString_nested_expr") << "t\"{a + b}\"";
++#endif
+ 
+ #if PYTHON_VERSION >= QT_VERSION_CHECK(3, 6, 0)
+     QTest::newRow("async_generator") << "async def foo(): result = [i async for i in aiter() if i % 2]";
+@@ -321,4 +327,62 @@ void PyAstTest::testClass()
+     testCode(QStringLiteral("class c: pass"));
+ }
+ 
++#if PYTHON_VERSION >= QT_VERSION_CHECK(3, 14, 0)
++void PyAstTest::testTemplateStrings()
++{
++    // t"hello {name}" -> TemplateStringAst with [StringAst, InterpolationAst]
++    {
++        CodeAst::Ptr ast = getAst(QStringLiteral("t\"hello {name}\""));
++        QVERIFY(ast);
++        QCOMPARE(ast->body.size(), 1);
++        QCOMPARE(ast->body.first()->astType, Ast::ExpressionAstType);
++        ExpressionAst* expr = static_cast<ExpressionAst*>(ast->body.first());
++        QCOMPARE(expr->value->astType, Ast::TemplateStringAstType);
++        TemplateStringAst* tstr = static_cast<TemplateStringAst*>(expr->value);
++        QCOMPARE(tstr->values.size(), 2);
++        QCOMPARE(tstr->values.at(0)->astType, Ast::StringAstType);
++        QCOMPARE(tstr->values.at(1)->astType, Ast::InterpolationAstType);
++        InterpolationAst* interp = static_cast<InterpolationAst*>(tstr->values.at(1));
++        QCOMPARE(interp->expr, QStringLiteral("name"));
++        QCOMPARE(interp->conversion, -1); // no conversion
++        QVERIFY(!interp->formatSpec);
++        QVERIFY(interp->value);
++        QCOMPARE(interp->value->astType, Ast::NameAstType);
++    }
++
++    // t"{value!r}" -> InterpolationAst with conversion == 'r' (114)
++    {
++        CodeAst::Ptr ast = getAst(QStringLiteral("t\"{value!r}\""));
++        QVERIFY(ast);
++        ExpressionAst* expr = static_cast<ExpressionAst*>(ast->body.first());
++        TemplateStringAst* tstr = static_cast<TemplateStringAst*>(expr->value);
++        QCOMPARE(tstr->values.size(), 1);
++        QCOMPARE(tstr->values.first()->astType, Ast::InterpolationAstType);
++        InterpolationAst* interp = static_cast<InterpolationAst*>(tstr->values.first());
++        QCOMPARE(interp->conversion, 114); // 'r'
++        QVERIFY(!interp->formatSpec);
++    }
++
++    // t"{value:.2f}" -> InterpolationAst with non-null formatSpec
++    {
++        CodeAst::Ptr ast = getAst(QStringLiteral("t\"{value:.2f}\""));
++        QVERIFY(ast);
++        ExpressionAst* expr = static_cast<ExpressionAst*>(ast->body.first());
++        TemplateStringAst* tstr = static_cast<TemplateStringAst*>(expr->value);
++        QCOMPARE(tstr->values.size(), 1);
++        InterpolationAst* interp = static_cast<InterpolationAst*>(tstr->values.first());
++        QCOMPARE(interp->conversion, -1);
++        QVERIFY(interp->formatSpec);
++    }
++
++    // VerifyVisitor walks the entire tree without asserting
++    {
++        CodeAst::Ptr ast = getAst(QStringLiteral("x = t\"sum={a+b:.2f} items={items!s}\""));
++        QVERIFY(ast);
++        VerifyVisitor v;
++        v.visitCode(ast.data());
++    }
++}
++#endif
++
+ #include "moc_pyasttest.cpp"
+diff --git a/parser/tests/pyasttest.h b/parser/tests/pyasttest.h
+index 9a37822b..401f13eb 100644
+--- a/parser/tests/pyasttest.h
++++ b/parser/tests/pyasttest.h
+@@ -40,6 +40,9 @@ private Q_SLOTS:
+     void testExceptionHandlers();
+     void testCorrectedFuncRanges();
+     void testCorrectedFuncRanges_data();
++#if PYTHON_VERSION >= QT_VERSION_CHECK(3, 14, 0)
++    void testTemplateStrings();
++#endif
+ };
+ 
+ }
+-- 
+GitLab
+
+
+From 2164bb8ad9fbb70a822bdbf762232c8dfa4af618 Mon Sep 17 00:00:00 2001
+From: Morten Danielsen Volden <mvolden2@gmail.com>
+Date: Sat, 27 Jun 2026 07:31:25 +0200
+Subject: [PATCH 3/4] Bring back upper requirements for python Also bump to
+ include 3.14
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e1ea85d7..cd8346c5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,7 +42,7 @@ add_definitions( -DTRANSLATION_DOMAIN=\"kdevpython\" )
+ 
+ set(Python3_USE_STATIC_LIBS FALSE)
+ set(Python3_FIND_STRATEGY VERSION)
+-find_package(Python3 3.4.3 COMPONENTS Interpreter Development REQUIRED)
++find_package(Python3 3.4.3...<3.15 COMPONENTS Interpreter Development REQUIRED)
+ 
+ configure_file(kdevpythonversion.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/kdevpythonversion.h" @ONLY)
+ 
+-- 
+GitLab
+
+
+From c71b0ecad3e7d3184cb88ab0659580298b0d8f0e Mon Sep 17 00:00:00 2001
+From: Morten Danielsen Volden <mvolden2@gmail.com>
+Date: Sun, 28 Jun 2026 07:40:56 +0200
+Subject: [PATCH 4/4] Update python to include version 3.15
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cd8346c5..35bf830b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,7 +42,7 @@ add_definitions( -DTRANSLATION_DOMAIN=\"kdevpython\" )
+ 
+ set(Python3_USE_STATIC_LIBS FALSE)
+ set(Python3_FIND_STRATEGY VERSION)
+-find_package(Python3 3.4.3...<3.15 COMPONENTS Interpreter Development REQUIRED)
++find_package(Python3 3.4.3...<3.16 COMPONENTS Interpreter Development REQUIRED)
+ 
+ configure_file(kdevpythonversion.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/kdevpythonversion.h" @ONLY)
+ 
+-- 
+GitLab
+

diff --git a/kdev-python-1.7.0-py3-doc-syntax.patch b/kdev-python-1.7.0-py3-doc-syntax.patch
deleted file mode 100644
index 183d880..0000000
--- a/kdev-python-1.7.0-py3-doc-syntax.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -ur kdev-python-1.7.0-py3/documentation_files/__builtin_types__.py kdev-python-1.7.0-py3-doc-syntax/documentation_files/__builtin_types__.py
---- kdev-python-1.7.0-py3/documentation_files/__builtin_types__.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-doc-syntax/documentation_files/__builtin_types__.py	2014-09-27 03:24:55.000000000 +0200
-@@ -44,14 +44,6 @@
- 		"""
- 		pass
- 		
--	def set"other(self, ():
--		"""
--		Test whether the set is a true subset of *other*, that is,
--		``set <= other and set != other``.
--		
--		"""
--		pass
--		
- 	def issuperset(self, other):
- 		"""set >= other
- 		
-@@ -59,14 +51,6 @@
- 		
- 		"""
- 		pass
--		
--	def set"other(self, ():
--		"""
--		Test whether the set is a true superset of *other*, that is, ``set >=
--		other and set != other``.
--		
--		"""
--		pass
- 		
- 	def union(self, other,more):
- 		"""set | other | more

diff --git a/kdev-python-1.7.0-py3-shebang.patch b/kdev-python-1.7.0-py3-shebang.patch
deleted file mode 100644
index b2680dd..0000000
--- a/kdev-python-1.7.0-py3-shebang.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-diff -ur kdev-python-1.7.0-py3/documentation_files/__builtin_constants__.py kdev-python-1.7.0-py3-shebang/documentation_files/__builtin_constants__.py
---- kdev-python-1.7.0-py3/documentation_files/__builtin_constants__.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/__builtin_constants__.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- Built-in Constants
-diff -ur kdev-python-1.7.0-py3/documentation_files/__builtin__.py kdev-python-1.7.0-py3-shebang/documentation_files/__builtin__.py
---- kdev-python-1.7.0-py3/documentation_files/__builtin__.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/__builtin__.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- Built-in Functions
-diff -ur kdev-python-1.7.0-py3/documentation_files/__builtin_types__.py kdev-python-1.7.0-py3-shebang/documentation_files/__builtin_types__.py
---- kdev-python-1.7.0-py3/documentation_files/__builtin_types__.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/__builtin_types__.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- .. *************
-diff -ur kdev-python-1.7.0-py3/documentation_files/errno.py kdev-python-1.7.0-py3-shebang/documentation_files/errno.py
---- kdev-python-1.7.0-py3/documentation_files/errno.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/errno.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Standard errno system symbols.
- 
-diff -ur kdev-python-1.7.0-py3/documentation_files/exceptions.py kdev-python-1.7.0-py3-shebang/documentation_files/exceptions.py
---- kdev-python-1.7.0-py3/documentation_files/exceptions.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/exceptions.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Standard exception classes.
- 
-diff -ur kdev-python-1.7.0-py3/documentation_files/future_builtins.py kdev-python-1.7.0-py3-shebang/documentation_files/future_builtins.py
---- kdev-python-1.7.0-py3/documentation_files/future_builtins.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/future_builtins.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """"""
- def ascii(object):
-diff -ur kdev-python-1.7.0-py3/documentation_files/__future__.py kdev-python-1.7.0-py3-shebang/documentation_files/__future__.py
---- kdev-python-1.7.0-py3/documentation_files/__future__.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/__future__.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Future statement definitions
- 
-diff -ur kdev-python-1.7.0-py3/documentation_files/gc.py kdev-python-1.7.0-py3-shebang/documentation_files/gc.py
---- kdev-python-1.7.0-py3/documentation_files/gc.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/gc.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Interface to the cycle-detecting garbage collector.
- """
-diff -ur kdev-python-1.7.0-py3/documentation_files/imp.py kdev-python-1.7.0-py3-shebang/documentation_files/imp.py
---- kdev-python-1.7.0-py3/documentation_files/imp.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/imp.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Access the implementation of the import statement.
- 
-diff -ur kdev-python-1.7.0-py3/documentation_files/io.py kdev-python-1.7.0-py3-shebang/documentation_files/io.py
---- kdev-python-1.7.0-py3/documentation_files/io.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/io.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Core tools for working with streams.
- """
-diff -ur kdev-python-1.7.0-py3/documentation_files/marshal.py kdev-python-1.7.0-py3-shebang/documentation_files/marshal.py
---- kdev-python-1.7.0-py3/documentation_files/marshal.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/marshal.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Convert Python objects to streams of bytes and back (with different
- constraints).
-diff -ur kdev-python-1.7.0-py3/documentation_files/posix.py kdev-python-1.7.0-py3-shebang/documentation_files/posix.py
---- kdev-python-1.7.0-py3/documentation_files/posix.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/posix.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:platform: Unix
- :synopsis: The most common POSIX system calls (normally used via module os).
-diff -ur kdev-python-1.7.0-py3/documentation_files/pwd.py kdev-python-1.7.0-py3-shebang/documentation_files/pwd.py
---- kdev-python-1.7.0-py3/documentation_files/pwd.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/pwd.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:platform: Unix
- :synopsis: The password database (getpwnam() and friends).
-diff -ur kdev-python-1.7.0-py3/documentation_files/signal.py kdev-python-1.7.0-py3-shebang/documentation_files/signal.py
---- kdev-python-1.7.0-py3/documentation_files/signal.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/signal.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Set handlers for asynchronous events.
- 
-diff -ur kdev-python-1.7.0-py3/documentation_files/sys.py kdev-python-1.7.0-py3-shebang/documentation_files/sys.py
---- kdev-python-1.7.0-py3/documentation_files/sys.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/sys.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Access system-specific parameters and functions.
- 
-diff -ur kdev-python-1.7.0-py3/documentation_files/thread.py kdev-python-1.7.0-py3-shebang/documentation_files/thread.py
---- kdev-python-1.7.0-py3/documentation_files/thread.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/thread.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: Create multiple threads of control within one interpreter.
- 
-diff -ur kdev-python-1.7.0-py3/documentation_files/zipimport.py kdev-python-1.7.0-py3-shebang/documentation_files/zipimport.py
---- kdev-python-1.7.0-py3/documentation_files/zipimport.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_files/zipimport.py	2014-09-27 02:53:00.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2.7
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """:synopsis: support for importing Python modules from ZIP archives.
- """
-diff -ur kdev-python-1.7.0-py3/documentation_src/introspection/introspect.py kdev-python-1.7.0-py3-shebang/documentation_src/introspection/introspect.py
---- kdev-python-1.7.0-py3/documentation_src/introspection/introspect.py	2014-08-30 16:49:01.000000000 +0200
-+++ kdev-python-1.7.0-py3-shebang/documentation_src/introspection/introspect.py	2014-09-27 02:47:35.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- Coding:utf-8 -*-
- 
- # Copyright 2013 by Sven Brauch <svenbrauch@googlemail.com>

diff --git a/kdev-python_async.patch b/kdev-python_async.patch
deleted file mode 100644
index 555912e..0000000
--- a/kdev-python_async.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -rupN kdev-python-5.2.3/documentation_files/PyKDE4/kdecore.py kdev-python-5.2.3-new/documentation_files/PyKDE4/kdecore.py
---- kdev-python-5.2.3/documentation_files/PyKDE4/kdecore.py	2018-05-17 20:38:20.000000000 +0200
-+++ kdev-python-5.2.3-new/documentation_files/PyKDE4/kdecore.py	2018-07-04 23:24:21.832704858 +0200
-@@ -312,7 +312,7 @@ class KAuth():
-         def executesAsync(self):
-             '''bool KAuth.Action.executesAsync()'''
-             return bool()
--        def setExecutesAsync(self, async):
-+        def setExecutesAsync(self, async_):
-             '''void KAuth.Action.setExecutesAsync(bool async)'''
-         def execute(self):
-             '''KAuth.ActionReply KAuth.Action.execute()'''
-diff -rupN kdev-python-5.2.3/documentation_files/PyKDE4/khtml.py kdev-python-5.2.3-new/documentation_files/PyKDE4/khtml.py
---- kdev-python-5.2.3/documentation_files/PyKDE4/khtml.py	2018-05-17 20:38:20.000000000 +0200
-+++ kdev-python-5.2.3-new/documentation_files/PyKDE4/khtml.py	2018-07-04 23:17:16.075728408 +0200
-@@ -1619,7 +1619,7 @@ class DOM():
-         def setAsync(self):
-             '''bool DOM.Document.setAsync()'''
-             return bool()
--        def async(self):
-+        def async_(self):
-             '''bool DOM.Document.async()'''
-             return bool()
-         def getOverrideStyle(self, elt, pseudoElt):

diff --git a/kdevelop-python.spec b/kdevelop-python.spec
index d743ec4..3ed8fad 100644
--- a/kdevelop-python.spec
+++ b/kdevelop-python.spec
@@ -1,309 +1,78 @@
-%undefine __cmake_in_source_build
+%global upstream_name kdev-python
 
-Name:       kdevelop-python
-Version:    5.6.2
-%global py3_suffix -py3
-%global py3_tag .py3
-Release:    3%{?dist}
-License:    GPLv2
-Source0:    http://download.kde.org/stable/kdevelop/%{version}/src/kdev-python-%{version}.tar.xz
+Name:           kdevelop-python
+Version:        26.04.2
+Release:        1%{?dist}
+Summary:        KDevelop Python language support
 
-## kdevelop-pg-qt FTBFS s390x
-ExcludeArch: s390x
+License:        CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND MIT
+URL:            https://kdevelop.org/
+Source0:        https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{upstream_name}-%{version}.tar.xz
 
-# ensure the installed Python 3 scripts have #!/usr/bin/env python3
-Patch0:     kdev-python-1.7.0-py3-shebang.patch
+# Fixes to build against python 3.15
+Patch0:         65.patch
 
-# remove bogus autogenerated set"other methods from
-# documentation_files/__builtin_types__.py that are actually the < and >
-# operators, not methods - the bogus syntax (quote in identifier) makes the
-# brp-python-bytecompile script choke
-Patch1:     kdev-python-1.7.0-py3-doc-syntax.patch
-
-# Fix syntax error due to async being a reserved keyword in python3.7
-Patch2:     kdev-python_async.patch
-
-Summary:    Python 3 Plugin for KDevelop
-URL:        https://www.kdevelop.org/
-
-BuildRequires:  kdevelop-devel >= %{version}
-BuildRequires:  python3-devel >= 3.4
-BuildRequires:  gettext
-
-BuildRequires:  kf5-rpm-macros
+# kdevelop depends on qt6-qtwebengine, which is only available on some arches
+ExclusiveArch:  %{qt6_qtwebengine_arches}
+ 
 BuildRequires:  extra-cmake-modules
-BuildRequires:  grantlee-qt5-devel
-BuildRequires:  kf5-ki18n-devel
-BuildRequires:  kf5-knotifyconfig-devel
-BuildRequires:  kf5-knewstuff-devel
-BuildRequires:  kf5-kcmutils-devel
-BuildRequires:  kf5-ktexteditor-devel
-BuildRequires:  kf5-threadweaver-devel
-BuildRequires:  kf5-kitemmodels-devel
-BuildRequires:  kf5-kdelibs4support-devel
-
-BuildRequires:  qt5-qtbase-devel
-BuildRequires:  qt5-qtwebkit-devel
+BuildRequires:  gcc-c++
+BuildRequires:  kf6-rpm-macros
+# Needs to track kdevelop
+BuildRequires:  kdevelop-devel = 9:%{version}
+BuildRequires:  libappstream-glib
+
+BuildRequires:  python3-devel
+BuildRequires:  pkgconfig(cups)
+
+BuildRequires:  cmake(Qt6Core)
+BuildRequires:  cmake(Qt6Core5Compat)
+BuildRequires:  cmake(Qt6Widgets)
+BuildRequires:  cmake(Qt6Test)
+
+BuildRequires:  cmake(KF6Config)
+BuildRequires:  cmake(KF6CoreAddons)
+BuildRequires:  cmake(KF6I18n)
+BuildRequires:  cmake(KF6Parts)
+BuildRequires:  cmake(KF6Service)
+BuildRequires:  cmake(KF6TextEditor)
+BuildRequires:  cmake(KF6ThreadWeaver)
+BuildRequires:  cmake(KF6WidgetsAddons)
+BuildRequires:  cmake(KF6XmlGui)
 
-# force using Python 3 for bytecompiling
-%global __python %{__python3}
-
-%{?kdevelop_requires}
 
 %description
-Python 3 language support for the KDevelop Integrated Development Environment.
-
+%{summary}.
 
 %prep
-%setup -qn kdev-python-%{version}
+%autosetup -n %{upstream_name}-%{version} -p1
 
-# don't use backups because CMakeLists.txt installs the whole directory
-# shebang
-%patch0 -p1
-# doc-syntax
-%patch1 -p1
-# async
-%patch2 -p1
+%conf
+%cmake_kf6
 
 %build
-%{cmake_kf5}
 %cmake_build
 
-%py_byte_compile %{__python3} %{buildroot}%{_datadir}/kdevpythonsupport
-
 %install
 %cmake_install
 
-# don't ship this Python 2 script, it is only used to generate the
-# documentation_files, it is not needed at runtime
-rm -f %{buildroot}%{_datadir}/kdevpythonsupport/documentation_files/PyKDE4/parse_xml.py
-
-# TODO Enable translations in stable build
-%find_lang kdevpython
-
-%ldconfig_scriptlets
+%check
+%find_lang kdevpython --all-name
+# • tag-invalid           : stock icon is not valid [kdevelop]
+# Reported Upstream: https://bugs.kde.org/show_bug.cgi?id=522338
+appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.kdev-python.metainfo.xml ||:
 
 %files -f kdevpython.lang
-%doc DESIGN README
-%{_libdir}/libkdevpythonduchain.so
-%{_libdir}/libkdevpythonparser.so
-%{_libdir}/libkdevpythoncompletion.so
-%{_datadir}/kdevpythonsupport
-%{_datadir}/kdevappwizard/templates/*
-%{_kf5_qtplugindir}/kdevplatform/34/kdevpdb.so
-%{_kf5_qtplugindir}/kdevplatform/34/kdevpythonlanguagesupport.so
-%{_datadir}/qlogging-categories5/kdevpythonsupport.categories
-%{_datadir}/metainfo/org.kde.kdev-python.metainfo.xml
+%license LICENSES/*
+%doc DESIGN INSTALL README README.packagers
+%{_kf6_libdir}/libkdevpython*.so
+%{_kf6_qtplugindir}/kdevplatform/65/kdevpdb.so
+%{_kf6_qtplugindir}/kdevplatform/65/kdevpythonlanguagesupport.so
+%{_kf6_datadir}/kdevappwizard/templates/*.tar.bz2
+%{_kf6_datadir}/kdevpythonsupport/
+%{_kf6_metainfodir}/org.kde.kdev-python.metainfo.xml
+%{_kf6_datadir}/qlogging-categories6/kdevpythonsupport.categories
 
 %changelog
-* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.2-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 5.6.2-2
-- Rebuilt for Python 3.10
-
-* Tue Feb 02 2021 Jan Grulich <jgrulich@redhat.com> - 5.6.2-1
-- 5.6.2
-
-* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Wed Dec  9 10:50:21 CET 2020 Jan Grulich <jgrulich@redhat.com> - 5.6.1-1
-- 5.6.1
-
-* Tue Sep 08 2020 Jan Grulich <jgrulich@redhat.com> - 5.6.0-1
-- 5.6.0
-
-* Mon Aug 24 2020 Jan Grulich <jgrulich@redhat.com> - 5.5.2-4
-- Support Python 3.9
-
-* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.2-3
-- Second attempt - Rebuilt for
-  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Tue Jun 02 2020 Jan Grulich <jgrulich@redhat.com> - 5.5.2-1
-- 5.5.2
-
-* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 5.5.1-2
-- Rebuilt for Python 3.9
-
-* Wed May 06 2020 Jan Grulich <jgrulich@redhat.com> - 5.5.1-1
-- 5.5.1
-
-* Mon Feb 03 2020 Jan Grulich <jgrulich@redhat.com> - 5.5.0-1
-- 5.5.0
-
-* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.6-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Tue Jan 07 2020 Jan Grulich <jgrulich@redhat.com> - 5.4.6-1
-- 5.4.6
-
-* Tue Dec 03 2019 Jan Grulich <jgrulich@redhat.com> - 5.4.5-1
-- 5.4.5
-
-* Tue Nov 05 2019 Jan Grulich <jgrulich@redhat.com> - 5.4.4-1
-- 5.4.4
-
-* Thu Oct 24 2019 Jan Grulich <jgrulich@redhat.com> - 5.4.3-2
-- Build against Python 3.8
-
-* Tue Oct 22 2019 Jan Grulich <jgrulich@redhat.com> - 5.4.3-1
-- 5.4.3
-
-* Tue Sep 03 2019 Jan Grulich <jgrulich@redhat.com> - 5.4.2-1.py3
-- 5.4.2
-
-* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 5.4.1-2.py3
-- Rebuilt for Python 3.8
-
-* Tue Aug 13 2019 Jan Grulich <jgrulich@redhat.com> - 5.4.1-1.py3
-- 5.4.1
-
-* Wed Aug 07 2019 Jan Grulich <jgrulich@redhat.com> - 5.4.0-1.py3
-- 5.4.0
-
-* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.3-2.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Thu Jul 18 2019 Jan Grulich <jgrulich@redhat.com> - 5.3.3-1.py3
-- 5.3.3
-
-* Fri Mar 15 2019 Jan Grulich <jgrulich@redhat.com> - 5.3.2-1.py3
-- 5.3.2
-
-* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.1-2.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Tue Dec 11 2018 Jan Grulich <jgrulich@redhat.com> - 5.3.1-1.py3
-- 5.3.1
-
-* Wed Nov 14 2018 Jan Grulich <jgrulich@redhat.com> - 5.3.0-1.py3
-- 5.3.0
-
-* Tue Oct 02 2018 Jan Grulich <jgrulich@redhat.com> - 5.2.80-1.py3
-- 5.2.80 (beta)
-
-* Mon Aug 27 2018 Jan Grulich <jgrulich@redhat.com> - 5.2.4-1.py3
-- 5.2.4
-
-* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.3-4.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Thu Jul 12 2018 Sandro Mani <manisandro@gmail.com> - 5.2.3-3.py3
-- Fix FTBFS due to syntax error due to async being a reserved keyword in python3.7
-
-* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 5.2.3-2.py3
-- Rebuilt for Python 3.7
-
-* Mon May 21 2018 Jan Grulich <jgrulich@redhat.com> - 5.2.3-1.py3
-- Update to 5.2.3
-
-* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-2.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Fri Nov 24 2017 Jan Grulich <jgrulich@redhat.com> - 5.2.1-1
-- Update to 5.2.1
-
-* Tue Nov 14 2017 Jan Grulich <jgrulich@redhat.com> - 5.2.0-1
-- Update to 5.2.0
-
-* Fri Oct 06 2017 Jan Grulich <jgrulich@redhat.com> - 5.1.80
-- Update to 5.1.80 (beta)
-
-* Tue Aug 29 2017 Jan Grulich <jgrulich@redhat.com> - 5.1.2-1
-- Update to 5.1.2
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.1-3.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.1-2.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon May 29 2017 Jan Grulich <jgrulich@redhat.com> - 5.1.1-1
-- Update to 5.1.1
-
-* Mon Mar 20 2017 Jan Grulich <jgrulich@redhat.com> - 5.1.0-1
-- Update to 5.1.0
-
-* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.80-2.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Tue Jan 17 2017 Jan Grulich <jgrulich@redhat.com> - 5.0.80-1
-- Update to 5.0.80 (beta)
-
-* Thu Dec 22 2016 Jan Grulich <jgrulich@redhat.com> - 5.0.3-3.py3
-- Add support for Python 3.6 (taken from upstream)
-
-* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 5.0.3-2.py3
-- Rebuild for Python 3.6
-
-* Fri Dec 02 2016 Jan Grulich <jgrulich@redhat.com> - 5.0.3-1
-- Update to 5.0.3
-
-* Mon Oct 17 2016 Jan Grulich <jgrulich@redhat.com> - 5.0.2-1
-- Update to 5.0.2
-
-* Mon Sep 19 2016 Jan Grulich <jgrulich@redhat.com> - 5.0.1-1
-- Update to 5.0.1
-
-* Wed Sep 07 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.0.0-2
-- use %%{?kdevelop_requires}, cosmetics
-
-* Wed Aug 31 2016 Helio Chissini de Castro <helio@kde.org> - 5.0.0-1
-- New upstream version
-
-* Wed Jun 08 2016 Jan Grulich <jgrulich@redhat.com> - 5.0.0-0.1.20160608git.py3
-- Package latest git snapshot to address GCC 6 related crashes
-  Resolves: bz#1343439
-
-* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.90.91-2.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Tue Jan 26 2016 Jan Grulich <jgrulich@redhat.com> - 4.90.91-1.py3
-- Update to 4.90.91 (beta 2)
-
-* Thu Nov 12 2015 Jan Grulich <jgrulich@redhat.com> - 4.90.90-1.py3
-- Update to 4.90.90 (beta 1)
-
-* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.2-2.py3
-- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
-
-* Mon Oct 12 2015 Jan Grulich <jgrulich@redhat.com> - 1.7.2-1.py3
-- Update to 1.7.2
-
-* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.1-3.py3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.7.1-2.py3
-- Rebuilt for GCC 5 C++11 ABI change
-
-* Tue Feb 10 2015 Jan Grulich <jgrulich@redhat.com> - 1.7.1-1.py3
-- update to 1.7.1-py3
-
-* Sat Sep 27 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.7.0-1.py3
-- update to 1.7.0-py3 (#1146723)
-- specfile cleanups
-- ensure the installed Python 3 scripts have #!/usr/bin/env python3
-
-* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Fri Feb 15 2013 Minh Ngo <minh@fedoraproject.org> 1.4.1-3
-- possible fixing a bug with libpython2.7-kdevelop.so.1.0 requirement
-
-* Thu Feb 14 2013 Minh Ngo <minh@fedoraproject.org> 1.4.1-2
-- have added _kde4_appsdir macro
-- have dropped updata-mime-database scriptlets
-- have omitted cmake requirement
-- have removed desktop-file-install script
-- removing python2.7 hardcode
-
-* Sat Dec 01 2012 Minh Ngo <minh@fedoraproject.org> 1.4.1-1
-- initial build
+* Sat Jun 27 2026 Steve Cossette <farchord@gmail.com> - 26.04.2-1
+- Initial Import

diff --git a/sources b/sources
index 0add470..5625819 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (kdev-python-5.6.2.tar.xz) = c0ecf9c075fe8c18e31152b774e76596367bb5eca8bb5ec976e9ce90ce78512d9e42bc95daea0f1de18474ef4deee430674e186263736df0de67d7d26c81f6a0
+SHA512 (kdev-python-26.04.2.tar.xz) = 74d40d052e41cf8505998b85f788c8c84a14ad33909b6addfc40b79c7025e89af4e7f5bb62b3b94b51d5d940f0bf29626da487ad36d465e84e3052c8aeee4290

                 reply	other threads:[~2026-07-02 12:32 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178299553562.1.9262809201147100209.rpms-kdevelop-python-5d834bd1bd3f@fedoraproject.org \
    --to=farchord@gmail.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox