guix_mirror_bot pushed a commit to branch master
in repository guix.

commit d3f91786b9fbba9b85ee2ba4aa0efe747ed3d50e
Author: Liliana Marie Prikler <[email protected]>
AuthorDate: Mon Aug 4 09:08:54 2025 +0200

    gnu: komikku: Update to 1.72.0.
    
    * gnu/packages/patches/komikku-python-3.11-compat.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register it here.
    * gnu/packages/gnome.scm (komikku): Update to 1.72.0.
    [patches]: Use “komikku-python-3.11-compat.patch”.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/gnome.scm                             |  5 +-
 .../patches/komikku-python-3.11-compat.patch       | 57 ++++++++++++++++++++++
 3 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 1fc24daae8..1b927db355 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1677,6 +1677,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/json-c-0.12-CVE-2020-12762.patch                \
   %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch     \
   %D%/packages/patches/julia-Use-MPFR-4.2.patch                        \
+  %D%/packages/patches/komikku-python-3.11-compat.patch                        
\
   %D%/packages/patches/libcall-ui-make-it-installable.patch    \
   
%D%/packages/patches/libcamera-ipa_manager-disable-signature-verification.patch 
     \
   %D%/packages/patches/libconfuse-CVE-2022-40320.patch         \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9e3a641f07..a45bb66441 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -13818,7 +13818,7 @@ profiler via Sysprof, debugging support, and more.")
 (define-public komikku
   (package
     (name "komikku")
-    (version "1.57.0")
+    (version "1.72.0")
     (source
      (origin
        (method git-fetch)
@@ -13828,7 +13828,8 @@ profiler via Sysprof, debugging support, and more.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0z8sigv1a8a96y0hgm21j4qmpy06ziqw8yhlgbp8kbg70g5yhrbg"))))
+         "13mz3ijrmfh002pw977mzdnilgkfl0knr3xrxr0zdicx8nf7inr9"))
+       (patches (search-patches "komikku-python-3.11-compat.patch"))))
     (build-system meson-build-system)
     (arguments
      (list
diff --git a/gnu/packages/patches/komikku-python-3.11-compat.patch 
b/gnu/packages/patches/komikku-python-3.11-compat.patch
new file mode 100644
index 0000000000..cf129e8cd1
--- /dev/null
+++ b/gnu/packages/patches/komikku-python-3.11-compat.patch
@@ -0,0 +1,57 @@
+This patch fixes quote nesting in format strings in a way that's compatible 
with
+Python 3.11.  A larger cleanup patch [1] applies some of these hunks upstream.
+
+[1] 
https://codeberg.org/valos/Komikku/commit/e76766c6012d9d5c18c2c3bbaa7dfc11a6ee2d77
+
+diff --git a/komikku/card/tracking.py b/komikku/card/tracking.py
+index ce333780..76119e20 100644
+--- a/komikku/card/tracking.py
++++ b/komikku/card/tracking.py
+@@ -279,7 +279,7 @@ class TrackerRow(Adw.ExpanderRow):
+             self.set_expanded(True)
+             self.set_arrow_visible(True)
+             self.btn.set_visible(False)
+-            self.action_row.set_title(f'<a 
href="{self.tracker.get_manga_url(data['id'])}">{html_escape(data["name"])}</a>')
++            self.action_row.set_title(f'<a 
href="{self.tracker.get_manga_url(data["id"])}">{html_escape(data["name"])}</a>')
+ 
+             with 
self.chapters_progress_row.handler_block(self.num_chapter_changed_handler_id):
+                 adj = Gtk.Adjustment(
+-- 
+diff --git a/komikku/servers/mangalib/__init__.py 
b/komikku/servers/mangalib/__init__.py
+index b631f617..c48c1cf2 100644
+--- a/komikku/servers/mangalib/__init__.py
++++ b/komikku/servers/mangalib/__init__.py
+@@ -124,9 +124,9 @@ class Mangalib(Server):
+                 for team in branch['teams']:
+                     scanlators.append(team['name'])
+ 
+             data['chapters'].append(dict(
+-                slug=f'v{chapter['volume']}/c{chapter['number']}',
++                slug=f'v{chapter["volume"]}/c{chapter["number"]}',
+                 title=f'Том {chapter["volume"]} Глава {chapter["number"]} - 
{chapter["name"]}',
+                 num=chapter['number'] if is_number(chapter['number']) else 
None,
+                 num_volume=chapter['volume'] if is_number(chapter['volume']) 
else None,
+                 date=convert_date_string(date, format='%Y-%m-%d') if date 
else None,
+diff --git a/komikku/servers/perfscan/__init__.py 
b/komikku/servers/perfscan/__init__.py
+index 8d77c131..ea9df5e4 100644
+--- a/komikku/servers/perfscan/__init__.py
++++ b/komikku/servers/perfscan/__init__.py
+@@ -69,7 +69,7 @@ class Perfscan(Server):
+         ))
+ 
+         data['name'] = resp_data['title']
+-        data['cover'] = f'{self.media_url}/{resp_data['cover']}'
++        data['cover'] = f'{self.media_url}/resp_data["cover"]}'
+ 
+         if resp_data.get('author'):
+             data['authors'].append(resp_data['author'])
+@@ -95,7 +95,7 @@ class Perfscan(Server):
+         for chapter in resp_data.get('Chapter'):
+             title = chapter['title'].strip()
+             if title in (None, '', '-'):
+-                title = f'Chapitre {chapter['index']}'
++                title = f'Chapitre {chapter["index"]}'
+ 
+             data['chapters'].append({
+                 'slug': chapter['id'],
+

Reply via email to