From bd2696fdc36ed3da2262312cf9dacb420426e209 Mon Sep 17 00:00:00 2001 From: dataCobra Date: Tue, 14 Jan 2025 13:15:37 +0100 Subject: [PATCH] krita: fix scripts not working with python3.13 --- srcpkgs/krita/patches/python-3.13.patch | 56 +++++++++++++++++++++++-- srcpkgs/krita/template | 2 +- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/srcpkgs/krita/patches/python-3.13.patch b/srcpkgs/krita/patches/python-3.13.patch index 6714059895d0ff..0a23a63adcea44 100644 --- a/srcpkgs/krita/patches/python-3.13.patch +++ b/srcpkgs/krita/patches/python-3.13.patch @@ -115,6 +115,56 @@ index fb309bd0b8..aec47da239 100644 */ static bool setPath(const QStringList& scriptPaths); --- -2.45.2 - +diff --git a/plugins/extensions/pykrita/plugin/krita/excepthook.py b/plugins/extensions/pykrita/plugin/krita/excepthook.py +index 029d5d3cb93..dfaeb560a37 100644 +--- a/plugins/extensions/pykrita/plugin/krita/excepthook.py ++++ b/plugins/extensions/pykrita/plugin/krita/excepthook.py +@@ -11,7 +11,7 @@ Things to extend: Clicking on the filename should open an editor. + Things to consider: Mail exceptions, copy to clipboard or send to bug tracker. + """ + import sys +-import cgitb ++import traceback + import atexit + + from PyQt5.QtCore import pyqtSlot, Qt +@@ -61,7 +61,7 @@ class ExceptHookDialog(QDialog): + self.setWindowTitle(self.windowTitle() + ": " + title) + msg = "%s: %s" % (exc_type.__name__, exc_obj) + self.ui.exceptionLabel.setText(msg) +- html = cgitb.text((exc_type, exc_obj, exc_tb)) ++ html = traceback.format_exception(exc_type, exc_obj, exc_tb).splitlines() + self.ui.tracebackBrowser.setText(html) + self.resize(650, 350) # give enough space to see the backtrace better + +@@ -74,7 +74,7 @@ if __name__ == "__main__": + # Some tests: + app = QApplication(sys.argv) + install() +- print("Triggering error 1") ++ print("Triggering error 1")f + try: + fail = 1 / 0 + except: +diff --git a/plugins/extensions/pykrita/plugin/krita/excepthook.py b/plugins/extensions/pykrita/plugin/krita/excepthook.py +index dfaeb560a37..a6b7fafc4f6 100644 +--- a/plugins/extensions/pykrita/plugin/krita/excepthook.py ++++ b/plugins/extensions/pykrita/plugin/krita/excepthook.py +@@ -61,7 +61,7 @@ class ExceptHookDialog(QDialog): + self.setWindowTitle(self.windowTitle() + ": " + title) + msg = "%s: %s" % (exc_type.__name__, exc_obj) + self.ui.exceptionLabel.setText(msg) +- html = traceback.format_exception(exc_type, exc_obj, exc_tb).splitlines() ++ html = "\n".join(traceback.format_exception(exc_type, exc_obj, exc_tb)) + self.ui.tracebackBrowser.setText(html) + self.resize(650, 350) # give enough space to see the backtrace better + +@@ -74,7 +74,7 @@ if __name__ == "__main__": + # Some tests: + app = QApplication(sys.argv) + install() +- print("Triggering error 1")f ++ print("Triggering error 1") + try: + fail = 1 / 0 + except: diff --git a/srcpkgs/krita/template b/srcpkgs/krita/template index 9b69726d67dcaf..b151a7bdc0119f 100644 --- a/srcpkgs/krita/template +++ b/srcpkgs/krita/template @@ -1,7 +1,7 @@ # Template file for 'krita' pkgname=krita version=5.2.6 -revision=2 +revision=3 build_style=cmake configure_args="-Wno-dev -DBUILD_TESTING=OFF -DENABLE_UPDATERS=OFF" hostmakedepends="extra-cmake-modules gettext pkg-config python3