Subject: [PATCH v1 4/4] gnu: kiwix-desktop: Update to 2.3.1.

From: Denis 'GNUtoo' Carikli <[email-masked]>
Date: Sat, 16 Sep 2023 11:06:07 +0200

* gnu/packages/web.scm (kiwix-desktop): Update to 2.3.1.
* gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Denis 'GNUtoo' Carikli <[email-masked]>
---
 gnu/local.mk                                  |  1 +
 .../kiwix-desktop-newer-libkiwix.patch        | 40 +++++++++++++++++++
 gnu/packages/web.scm                          |  5 ++-
 3 files changed, 44 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 8862fbfbb9..e5dcdb4f4b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1472,6 +1472,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/kio-search-smbd-on-PATH.patch		\
   %D%/packages/patches/kismet-unbundle-boost.patch		\
   %D%/packages/patches/kitty-fix-wayland-protocols.patch	\
+  %D%/packages/patches/kiwix-desktop-newer-libkiwix.patch	\
   %D%/packages/patches/kmod-module-directory.patch		\
   %D%/packages/patches/kmscon-runtime-keymap-switch.patch	\
   %D%/packages/patches/kobodeluxe-paths.patch			\
diff --git a/gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch b/gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch
new file mode 100644
index 0000000000..a5bee60ac2
--- /dev/null
+++ b/gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch
@@ -0,0 +1,40 @@
+Description: Fix building kiwix-desktop with libkiwix-12.1.0
+Bug: https://github.com/kiwix/kiwix-desktop/issues/964
+Origin: https://github.com/kiwix/kiwix-desktop/commit/1b322d8f01c787846546a6473f153cf1daa41e65
+Applied-Upstream: https://github.com/kiwix/kiwix-desktop/commit/1b322d8f01c787846546a6473f153cf1daa41e65
+---
+From 1b322d8f01c787846546a6473f153cf1daa41e65 Mon Sep 17 00:00:00 2001
+From: Matthieu Gautier <[email-masked]>
+Date: Thu, 9 Feb 2023 09:47:47 +0100
+Subject: [PATCH] With last version of libkiwix, Downloader now return
+ shared_ptr<Download>.
+
+---
+ src/contentmanager.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp
+index c2f4ff9..d4db50a 100644
+--- a/src/contentmanager.cpp
++++ b/src/contentmanager.cpp
+@@ -173,7 +173,7 @@ QStringList ContentManager::updateDownloadInfos(QString id, const QStringList &k
+         return values;
+     }
+     auto& b = mp_library->getBookById(id);
+-    kiwix::Download* d;
++    std::shared_ptr<kiwix::Download> d;
+     try {
+         d = mp_downloader->getDownload(b.getDownloadId());
+     } catch(...) {
+@@ -270,7 +270,7 @@ QString ContentManager::downloadBook(const QString &id)
+     for (auto b : booksList)
+         if (b.toStdString() == book.getId())
+             return "";
+-    kiwix::Download *download;
++    std::shared_ptr<kiwix::Download> download;
+     try {
+         std::pair<std::string, std::string> downloadDir("dir", downloadPath.toStdString());
+         const std::vector<std::pair<std::string, std::string>> options = { downloadDir };
+-- 
+2.41.0
+
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 221ee03728..fe2976d58e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -8692,7 +8692,7 @@ (define-public kiwix-lib
 (define-public kiwix-desktop
   (package
     (name "kiwix-desktop")
-    (version "2.2.2")
+    (version "2.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -8701,7 +8701,8 @@ (define-public kiwix-desktop
                     ".tar.gz"))
               (sha256
                (base32
-                "0ani12d91azcwwys499848ws7rx0m7c23nalcm5fanjak76bg6n6"))))
+                "0hlk05gcb3fmnxhwj6gan51v98rdq3iv2lklwbpmm1bazmz8i7br"))
+              (patches (search-patches "kiwix-desktop-newer-libkiwix.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
-- 
2.41.0