commit:     50d9a0b2d140eb64e955826acd7b30c31959d014
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun May 28 12:02:03 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun May 28 12:44:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50d9a0b2

kde-misc/krename: Fix build with >=exiv2-0.28

5.0.2-r0: Switch to patchset and cleanup slightly oversize patch.

Closes: https://bugs.gentoo.org/906471
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-misc/krename/Manifest                          |   1 +
 kde-misc/krename/files/krename-5.0.1-no-kjs.patch  | 519 ---------------------
 ...rename-5.0.2.ebuild => krename-5.0.2-r1.ebuild} |   9 +-
 kde-misc/krename/krename-5.0.2.ebuild              |   7 +-
 4 files changed, 10 insertions(+), 526 deletions(-)

diff --git a/kde-misc/krename/Manifest b/kde-misc/krename/Manifest
index e7d89374b2cd..7df8124fb483 100644
--- a/kde-misc/krename/Manifest
+++ b/kde-misc/krename/Manifest
@@ -1 +1,2 @@
+DIST krename-5.0.2-patchset-1.tar.xz 6360 BLAKE2B 
69e8b046885be27c77d5d315e994e8b2a31e76ed76f4ea6d030679b83133725cb0577d818841b1f41e566e757f4cbd4e08c1f479bc1d572a8391db47c4a26e8c
 SHA512 
2de0ee19d29dadb50995b0d02e486e8efdbff3d3fda0a3a6ec69f4b5858b4c376b3d33d2018da0cf2333309fe8b4ea58f4de21f6d2864c2c22b60830b5ac9bcf
 DIST krename-5.0.2.tar.xz 337908 BLAKE2B 
2fb7a96ca3f3f3b193d0924dd1131a7442b32149c1f62387734c47680077b6f77e3cf32b940b85d6f688d24f24af08ac39a8ccc86f10f5ec1d65b53fc9631108
 SHA512 
c065d6de90c43e5297db2773d8569279535b007d3b00b99a252329e78c90dc949678ecd2f2ecaa74e72394fa0e848b8774f6f387d4a7f367b367b1dd38405545

diff --git a/kde-misc/krename/files/krename-5.0.1-no-kjs.patch 
b/kde-misc/krename/files/krename-5.0.1-no-kjs.patch
deleted file mode 100644
index f4b7eb786890..000000000000
--- a/kde-misc/krename/files/krename-5.0.1-no-kjs.patch
+++ /dev/null
@@ -1,519 +0,0 @@
-From 407b612a93128b9f935a686d5ff82c7ee06087f5 Mon Sep 17 00:00:00 2001
-From: Harald Sitter <[email protected]>
-Date: Thu, 17 Dec 2020 13:19:56 +0100
-Subject: [PATCH 1/5] reduce nesting
-
-easier on the eyes
----
- src/scriptplugin.cpp | 63 +++++++++++++++++++++++---------------------
- 1 file changed, 33 insertions(+), 30 deletions(-)
-
-diff --git a/src/scriptplugin.cpp b/src/scriptplugin.cpp
-index 0790fd4..8f4b11e 100644
---- a/src/scriptplugin.cpp
-+++ b/src/scriptplugin.cpp
-@@ -175,36 +175,39 @@ void ScriptPlugin::initKRenameVars(const KRenameFile 
&file, int index)
-             file.srcDirectory());
- 
-     // User definitions, set them only on first file
--    if (index == 0) {
--        for (int i = 0; i < m_widget->listVariables->topLevelItemCount(); 
i++) {
--            // TODO, we have to know the type of the variable!
--            QTreeWidgetItem *item = m_widget->listVariables->topLevelItem(i);
--            if (item) {
--                EVarType eVarType = static_cast<EVarType>(item->data(1, 
Qt::UserRole).toInt());
--                const QString &name  = item->text(0);
--                const QString &value = item->text(1);
--                switch (eVarType) {
--                default:
--                case eVarType_String:
--                    
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--                            name, value.toUtf8().data());
--                    break;
--                case eVarType_Int:
--                    
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--                            name, value.toInt());
--                    break;
--                case eVarType_Double:
--                    
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--                            name, value.toDouble());
--                    break;
--                case eVarType_Bool:
--                    
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--                            name,
--                            (value.toLower() == "true" ? true : false));
--                    break;
--
--                }
--            }
-+    if (index != 0) {
-+        return;
-+    }
-+
-+    for (int i = 0; i < m_widget->listVariables->topLevelItemCount(); i++) {
-+        // TODO, we have to know the type of the variable!
-+        QTreeWidgetItem *item = m_widget->listVariables->topLevelItem(i);
-+        if (!item) {
-+            continue;
-+        }
-+
-+        EVarType eVarType = static_cast<EVarType>(item->data(1, 
Qt::UserRole).toInt());
-+        const QString &name  = item->text(0);
-+        const QString &value = item->text(1);
-+        switch (eVarType) {
-+        default:
-+        case eVarType_String:
-+            
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
-+                    name, value.toUtf8().data());
-+            break;
-+        case eVarType_Int:
-+            
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
-+                    name, value.toInt());
-+            break;
-+        case eVarType_Double:
-+            
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
-+                    name, value.toDouble());
-+            break;
-+        case eVarType_Bool:
-+            
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
-+                    name,
-+                    (value.toLower() == "true" ? true : false));
-+            break;
-         }
-     }
- }
--- 
-2.29.2
-
-
-From f80de4b81846da45c4cc16c585a159872dcc2c29 Mon Sep 17 00:00:00 2001
-From: Harald Sitter <[email protected]>
-Date: Thu, 17 Dec 2020 13:24:37 +0100
-Subject: [PATCH 2/5] don't needlessly use qpointer
-
-for one it has no value, scopedpointer might. we don't need a pointer
-at all though, simply put qdialog on the stack and let the compiler
-take care of it
----
- src/scriptplugin.cpp | 44 ++++++++++++++++++++++----------------------
- 1 file changed, 22 insertions(+), 22 deletions(-)
-
-diff --git a/src/scriptplugin.cpp b/src/scriptplugin.cpp
-index 8f4b11e..fec61e7 100644
---- a/src/scriptplugin.cpp
-+++ b/src/scriptplugin.cpp
-@@ -28,7 +28,6 @@
- #include <QTemporaryFile>
- #include <QFile>
- #include <QMenu>
--#include <QPointer>
- #include <QTextStream>
- #include <QVariant>
- #include <QFileDialog>
-@@ -228,7 +227,7 @@ void ScriptPlugin::slotEnableControls()
- 
- void ScriptPlugin::slotAdd()
- {
--    QPointer<QDialog> dialog = new QDialog();
-+    QDialog dialog;
-     Ui::ScriptPluginDialog dlg;
- 
-     QStringList types;
-@@ -238,32 +237,33 @@ void ScriptPlugin::slotAdd()
-     types << i18n("Double");
-     types << i18n("Boolean");
- 
--    dlg.setupUi(dialog);
-+    dlg.setupUi(&dialog);
-     dlg.comboType->addItems(types);
- 
--    if (dialog->exec() == QDialog::Accepted) {
--        QString name  = dlg.lineName->text();
--        QString value = dlg.lineValue->text();
-+    if (dialog.exec() != QDialog::Accepted) {
-+        return;
-+    }
- 
--        // Build a Java script statement
--        QString script = name + " = " + value + ';';
-+    QString name  = dlg.lineName->text();
-+    QString value = dlg.lineValue->text();
- 
--        KJSInterpreter interpreter;
--        KJSResult result = m_interpreter->evaluate(script, nullptr);
--        if (result.isException()) {
--            KMessageBox::error(m_parent,
--                               i18n("A JavaScript error has occurred: ") +
--                               result.errorMessage(), this->name());
--        } else {
--            QTreeWidgetItem *item = new QTreeWidgetItem();
--            item->setText(0, name);
--            item->setText(1, value);
--            item->setData(1, Qt::UserRole, 
QVariant(dlg.comboType->currentIndex()));
-+    // Build a Java script statement
-+    QString script = name + " = " + value + ';';
- 
--            m_widget->listVariables->addTopLevelItem(item);
--        }
-+    KJSInterpreter interpreter;
-+    KJSResult result = m_interpreter->evaluate(script, nullptr);
-+    if (result.isException()) {
-+        KMessageBox::error(m_parent,
-+                            i18n("A JavaScript error has occurred: ") +
-+                            result.errorMessage(), this->name());
-+    } else {
-+        QTreeWidgetItem *item = new QTreeWidgetItem();
-+        item->setText(0, name);
-+        item->setText(1, value);
-+        item->setData(1, Qt::UserRole, 
QVariant(dlg.comboType->currentIndex()));
-+
-+        m_widget->listVariables->addTopLevelItem(item);
-     }
--    delete dialog;
- }
- 
- void ScriptPlugin::slotRemove()
--- 
-2.29.2
-
-
-From 5979b30da5b385008894ff5577da917dd888959e Mon Sep 17 00:00:00 2001
-From: Harald Sitter <[email protected]>
-Date: Thu, 17 Dec 2020 13:32:41 +0100
-Subject: [PATCH 3/5] fix dangerously implicit int->int->enum mapping
-
-the type order in the qstringlist was implicitly the int values of the
-type enum. incredibly scary. instead push the items into the combobox
-along with their enum value as Qt::UserRole and then pass that along.
-this ensures (kind of) that the int we cast back to enum in
-initKRenameVars will be an actual enum value
----
- src/scriptplugin.cpp | 15 ++++++---------
- 1 file changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/src/scriptplugin.cpp b/src/scriptplugin.cpp
-index fec61e7..1933bc6 100644
---- a/src/scriptplugin.cpp
-+++ b/src/scriptplugin.cpp
-@@ -4,6 +4,7 @@
-     begin                : Fri Nov 9 2007
-     copyright            : (C) 2007 by Dominik Seichter
-     email                : [email protected]
-+    copyright            : (C) 2020 by Harald Sitter <[email protected]>
-  ***************************************************************************/
- 
- /***************************************************************************
-@@ -230,15 +231,11 @@ void ScriptPlugin::slotAdd()
-     QDialog dialog;
-     Ui::ScriptPluginDialog dlg;
- 
--    QStringList types;
--
--    types << i18n("String");
--    types << i18n("Int");
--    types << i18n("Double");
--    types << i18n("Boolean");
--
-     dlg.setupUi(&dialog);
--    dlg.comboType->addItems(types);
-+    dlg.comboType->addItem(i18n("String"), eVarType_String);
-+    dlg.comboType->addItem(i18n("Int"), eVarType_Int);
-+    dlg.comboType->addItem(i18n("Double"), eVarType_Double);
-+    dlg.comboType->addItem(i18n("Boolean"), eVarType_Bool);
- 
-     if (dialog.exec() != QDialog::Accepted) {
-         return;
-@@ -260,7 +257,7 @@ void ScriptPlugin::slotAdd()
-         QTreeWidgetItem *item = new QTreeWidgetItem();
-         item->setText(0, name);
-         item->setText(1, value);
--        item->setData(1, Qt::UserRole, 
QVariant(dlg.comboType->currentIndex()));
-+        item->setData(1, Qt::UserRole, dlg.comboType->currentData());
- 
-         m_widget->listVariables->addTopLevelItem(item);
-     }
--- 
-2.29.2
-
-
-From 82161c323b7b0d4b77602551923118f304c5c536 Mon Sep 17 00:00:00 2001
-From: Harald Sitter <[email protected]>
-Date: Thu, 17 Dec 2020 15:05:49 +0100
-Subject: [PATCH 4/5] port away from stringy QMenu::addAction to functor based
- API
-
-was introdcued in 5.6 so is fine to use and loads safer
----
- src/previewlist.cpp    |  8 ++++----
- src/progressdialog.cpp |  8 ++++----
- src/scriptplugin.cpp   | 10 +++++-----
- 3 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/src/previewlist.cpp b/src/previewlist.cpp
-index df8097b..0d3ccb6 100644
---- a/src/previewlist.cpp
-+++ b/src/previewlist.cpp
-@@ -28,12 +28,12 @@ PreviewList::PreviewList(QWidget *parent)
-     : QTreeView(parent), m_model(nullptr)
- {
-     m_menu = new QMenu("KRename", this);   // we need any text here so that 
we have a title
--    m_menu->addAction(i18n("&Change filename manually..."), this, 
SLOT(slotManually()), QKeySequence("F2"));
-+    m_menu->addAction(i18n("&Change filename manually..."), this, 
&PreviewList::slotManually, QKeySequence("F2"));
-     m_menu->addSeparator();
--    m_menu->addAction(i18n("&Open"), this, SLOT(slotOpen()));
-+    m_menu->addAction(i18n("&Open"), this, &PreviewList::slotOpen);
-     m_menu->addSeparator();
--    m_menu->addAction(i18n("&Add..."), this, SIGNAL(addFiles()));
--    m_menu->addAction(i18n("&Remove"), this, SLOT(slotRemove()));
-+    m_menu->addAction(i18n("&Add..."), this, &PreviewList::addFiles);
-+    m_menu->addAction(i18n("&Remove"), this, &PreviewList::slotRemove);
- 
-     connect(this, &PreviewList::activated, this, &PreviewList::slotManually);
- }
-diff --git a/src/progressdialog.cpp b/src/progressdialog.cpp
-index 4eaaf1a..d217614 100644
---- a/src/progressdialog.cpp
-+++ b/src/progressdialog.cpp
-@@ -49,11 +49,11 @@ ProgressDialog::ProgressDialog(ESplitMode eSplitMode, 
unsigned int dot, QWidget
-             qApp, &QApplication::quit, Qt::QueuedConnection);
- 
-     QMenu *menu = new QMenu(this);
--    menu->addAction(i18n("Restart &KRename..."), this, 
SLOT(slotRestartKRename()));
-+    menu->addAction(i18n("Restart &KRename..."), this, 
&ProgressDialog::slotRestartKRename);
-     menu->addSeparator();
--    m_actProcessed   = menu->addAction(i18n("Rename Processed Files 
&Again..."),    this, SLOT(slotRenameProcessedAgain()));
--    m_actUnprocessed = menu->addAction(i18n("Rename &Unprocessed Files 
Again..."), this, SLOT(slotRenameUnprocessedAgain()));
--    menu->addAction(i18n("&Rename All Files Again..."),          this, 
SLOT(slotRenameAllAgain()));
-+    m_actProcessed = menu->addAction(i18n("Rename Processed Files 
&Again..."), this, &ProgressDialog::slotRenameProcessedAgain);
-+    m_actUnprocessed = menu->addAction(i18n("Rename &Unprocessed Files 
Again..."), this, &ProgressDialog::slotRenameUnprocessedAgain);
-+    menu->addAction(i18n("&Rename All Files Again..."), this, 
&ProgressDialog::slotRenameAllAgain);
- 
-     m_buttonMore->setMenu(menu);
- }
-diff --git a/src/scriptplugin.cpp b/src/scriptplugin.cpp
-index 1933bc6..46b27ca 100644
---- a/src/scriptplugin.cpp
-+++ b/src/scriptplugin.cpp
-@@ -68,11 +68,11 @@ ScriptPlugin::ScriptPlugin(PluginLoader *loader)
- 
-     m_help.append("[js;4+5];;" + i18n("Insert a snippet of JavaScript code 
(4+5 in this case)"));
- 
--    m_menu->addAction(i18n("Index of the current file"),     this, 
SLOT(slotInsertIndex()));
--    m_menu->addAction(i18n("URL of the current file"),       this, 
SLOT(slotInsertUrl()));
--    m_menu->addAction(i18n("Filename of the current file"),  this, 
SLOT(slotInsertFilename()));
--    m_menu->addAction(i18n("Extension of the current file"), this, 
SLOT(slotInsertExtension()));
--    m_menu->addAction(i18n("Directory of the current file"), this, 
SLOT(slotInsertDirectory()));
-+    m_menu->addAction(i18n("Index of the current file"), this, 
&ScriptPlugin::slotInsertIndex);
-+    m_menu->addAction(i18n("URL of the current file"), this, 
&ScriptPlugin::slotInsertUrl);
-+    m_menu->addAction(i18n("Filename of the current file"), this, 
&ScriptPlugin::slotInsertFilename);
-+    m_menu->addAction(i18n("Extension of the current file"), this, 
&ScriptPlugin::slotInsertExtension);
-+    m_menu->addAction(i18n("Directory of the current file"), this, 
&ScriptPlugin::slotInsertDirectory);
- }
- 
- ScriptPlugin::~ScriptPlugin()
--- 
-2.29.2
-
-
-From e0a93830d0ea0c71ab649b7e68af0238bd48eb10 Mon Sep 17 00:00:00 2001
-From: Harald Sitter <[email protected]>
-Date: Thu, 17 Dec 2020 13:45:07 +0100
-Subject: [PATCH 5/5] port from deprecated kjs to qjsengine
-
-for kf6 todo https://phabricator.kde.org/T11604
-
-kjs is deprecated and we want to move away from it. this ports to
-qjsengine which does what we need for krename just fine and is also
-supported in qt6 still
-
-all use cases of the js plugin still seem to work fine. variable
-definition, function definition and using either in the replacement.
-same for the implicit global variables.
----
- CMakeLists.txt       |  2 +-
- src/CMakeLists.txt   |  2 +-
- src/scriptplugin.cpp | 55 ++++++++++++++------------------------------
- src/scriptplugin.h   |  6 +++--
- 4 files changed, 23 insertions(+), 42 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2b39e18..e1673e1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -17,7 +17,7 @@ include(FeatureSummary)
- include(KDECompilerSettings NO_POLICY_SCOPE)
- include(FeatureSummary)
- 
--find_package(Qt5 REQUIRED COMPONENTS Core Widgets)
-+find_package(Qt5 REQUIRED COMPONENTS Core Qml Widgets)
- find_package(KF5 REQUIRED COMPONENTS
-     Completion
-     Config
-@@ -27,7 +27,6 @@ find_package(KF5 REQUIRED COMPONENTS
-     IconThemes
-     ItemViews
-     JobWidgets
--    JS
-     KIO
-     Service
-     WidgetsAddons
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 3f262b3..bee7378 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -128,9 +128,9 @@ target_link_libraries(krename
-     KF5::KIOCore
-     KF5::KIOFileWidgets
-     KF5::I18n
--    KF5::JSApi
-     KF5::IconThemes
-     Qt5::Widgets
-+    Qt5::Qml
- )
- if(TAGLIB_FOUND)
-     target_link_libraries(krename
-diff --git a/src/scriptplugin.cpp b/src/scriptplugin.cpp
-index d7f7125..651e656 100644
---- a/src/scriptplugin.cpp
-+++ b/src/scriptplugin.cpp
-@@ -18,8 +18,7 @@
- #include <QTextStream>
- #include <QVariant>
- #include <QFileDialog>
--
--#include <kjs/kjsinterpreter.h>
-+#include <QDebug>
- 
- #include "ui_scriptplugindialog.h"
- #include "ui_scriptpluginwidget.h"
-@@ -46,7 +45,6 @@ ScriptPlugin::ScriptPlugin(PluginLoader *loader)
- {
-     m_name = i18n("JavaScript Plugin");
-     m_icon = "applications-development";
--    m_interpreter = new KJSInterpreter();
-     m_menu   = new QMenu();
-     m_widget = new Ui::ScriptPluginWidget();
- 
-@@ -65,7 +63,6 @@ ScriptPlugin::~ScriptPlugin()
- {
-     delete m_widget;
-     delete m_menu;
--    delete m_interpreter;
- }
- 
- QString ScriptPlugin::processFile(BatchRenamer *b, int index,
-@@ -90,13 +87,13 @@ QString ScriptPlugin::processFile(BatchRenamer *b, int 
index,
-         // Make sure definitions are executed first
-         script = definitions + '\n' + script;
- 
--        KJSResult result = m_interpreter->evaluate(script, nullptr);
--        if (result.isException()) {
--            qDebug("JavaScript Error: %s", 
result.errorMessage().toUtf8().data());
-+        const QJSValue result = m_engine.evaluate(script);
-+        if (result.isError()) {
-+            qDebug() << "JavaScript Error:" << result.toString();
-             return QString();
-         }
- 
--        return result.value().toString(m_interpreter->globalContext());
-+        return result.toString();
-     }
- 
-     return QString();
-@@ -144,21 +141,11 @@ void ScriptPlugin::createUI(QWidget *parent) const
- void ScriptPlugin::initKRenameVars(const KRenameFile &file, int index)
- {
-     // KRename definitions
--    m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--            ScriptPlugin::s_pszVarNameIndex,
--            index);
--    m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--            ScriptPlugin::s_pszVarNameUrl,
--            file.srcUrl().url());
--    m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--            ScriptPlugin::s_pszVarNameFilename,
--            file.srcFilename());
--    m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--            ScriptPlugin::s_pszVarNameExtension,
--            file.srcExtension());
--    m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--            ScriptPlugin::s_pszVarNameDirectory,
--            file.srcDirectory());
-+    m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameIndex, 
index);
-+    m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameUrl, 
file.srcUrl().url());
-+    m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameFilename, 
file.srcFilename());
-+    m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameExtension, 
file.srcExtension());
-+    m_engine.globalObject().setProperty(ScriptPlugin::s_pszVarNameDirectory, 
file.srcDirectory());
- 
-     // User definitions, set them only on first file
-     if (index != 0) {
-@@ -178,21 +165,16 @@ void ScriptPlugin::initKRenameVars(const KRenameFile 
&file, int index)
-         switch (eVarType) {
-         default:
-         case eVarType_String:
--            
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--                    name, value.toUtf8().data());
-+            m_engine.globalObject().setProperty(name, value);
-             break;
-         case eVarType_Int:
--            
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--                    name, value.toInt());
-+            m_engine.globalObject().setProperty(name, value.toInt());
-             break;
-         case eVarType_Double:
--            
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--                    name, value.toDouble());
-+            m_engine.globalObject().setProperty(name, value.toDouble());
-             break;
-         case eVarType_Bool:
--            
m_interpreter->globalObject().setProperty(m_interpreter->globalContext(),
--                    name,
--                    (value.toLower() == "true" ? true : false));
-+            m_engine.globalObject().setProperty(name, (value.toLower() == 
"true" ? true : false));
-             break;
-         }
-     }
-@@ -233,12 +215,9 @@ void ScriptPlugin::slotAdd()
-     // Build a Java script statement
-     QString script = name + " = " + value + ';';
- 
--    KJSInterpreter interpreter;
--    KJSResult result = m_interpreter->evaluate(script, nullptr);
--    if (result.isException()) {
--        KMessageBox::error(m_parent,
--                            i18n("A JavaScript error has occurred: ") +
--                            result.errorMessage(), this->name());
-+    const QJSValue result = m_engine.evaluate(script);
-+    if (result.isError()) {
-+        KMessageBox::error(m_parent, i18n("A JavaScript error has occurred: 
") + result.toString(), this->name());
-     } else {
-         QTreeWidgetItem *item = new QTreeWidgetItem();
-         item->setText(0, name);
-diff --git a/src/scriptplugin.h b/src/scriptplugin.h
-index 367310b..f91e79b 100644
---- a/src/scriptplugin.h
-+++ b/src/scriptplugin.h
-@@ -3,9 +3,10 @@
- 
- #include "plugin.h"
- 
-+#include <QJSEngine>
-+
- class QMenu;
- 
--class KJSInterpreter;
- class KRenameFile;
- 
- namespace Ui
-@@ -171,7 +173,7 @@ private:
- 
-     QStringList         m_keys;
-     QStringList         m_help;
--    KJSInterpreter     *m_interpreter;
-+    QJSEngine           m_engine;
-     QWidget            *m_parent;
-     QMenu              *m_menu;
- 
--- 
-2.29.2
-

diff --git a/kde-misc/krename/krename-5.0.2.ebuild 
b/kde-misc/krename/krename-5.0.2-r1.ebuild
similarity index 84%
copy from kde-misc/krename/krename-5.0.2.ebuild
copy to kde-misc/krename/krename-5.0.2-r1.ebuild
index 632cc5cb2f25..5b56a51b4fe9 100644
--- a/kde-misc/krename/krename-5.0.2.ebuild
+++ b/kde-misc/krename/krename-5.0.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -12,8 +12,9 @@ DESCRIPTION="Powerful batch file renamer"
 HOMEPAGE="https://apps.kde.org/krename/ https://userbase.kde.org/KRename";
 
 if [[ ${KDE_BUILD_TYPE} != live ]]; then
-       SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-       KEYWORDS="amd64 ~arm64 x86"
+       SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz
+               https://dev.gentoo.org/~asturm/distfiles/${P}-patchset-1.tar.xz";
+       KEYWORDS="~amd64 ~arm64 ~x86"
 fi
 
 LICENSE="GPL-2"
@@ -45,7 +46,7 @@ DEPEND="
 RDEPEND="${DEPEND}"
 BDEPEND="sys-devel/gettext"
 
-PATCHES=( "${FILESDIR}/${PN}-5.0.1-no-kjs.patch" )
+PATCHES=( "${WORKDIR}/${P}-patchset-1" ) # upstream, git master
 
 src_configure() {
        local mycmakeargs=(

diff --git a/kde-misc/krename/krename-5.0.2.ebuild 
b/kde-misc/krename/krename-5.0.2.ebuild
index 632cc5cb2f25..8f13ce26b5db 100644
--- a/kde-misc/krename/krename-5.0.2.ebuild
+++ b/kde-misc/krename/krename-5.0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -12,7 +12,8 @@ DESCRIPTION="Powerful batch file renamer"
 HOMEPAGE="https://apps.kde.org/krename/ https://userbase.kde.org/KRename";
 
 if [[ ${KDE_BUILD_TYPE} != live ]]; then
-       SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
+       SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz
+               https://dev.gentoo.org/~asturm/distfiles/${P}-patchset-1.tar.xz";
        KEYWORDS="amd64 ~arm64 x86"
 fi
 
@@ -45,7 +46,7 @@ DEPEND="
 RDEPEND="${DEPEND}"
 BDEPEND="sys-devel/gettext"
 
-PATCHES=( "${FILESDIR}/${PN}-5.0.1-no-kjs.patch" )
+PATCHES=( "${WORKDIR}/${PN}-5.0.2-patchset-1/${PN}-5.0.1-no-kjs.patch" )
 
 src_configure() {
        local mycmakeargs=(

Reply via email to