Subject: [bug#75319] [PATCH 0/5] Update kiwix-desktop to 2.4.1 and kiwix-tools to 3.7.0.

From: Nicolas Graves <[email-masked]>
Date: Wed, 22 Jan 2025 08:09:55 +0100

On 2025-01-03 21:11, Sughosha via Guix-patches via wrote:

> This patch series updates kiwix-desktop to 2.4.1 and kiwix-tools to 3.7.0.
>
> Sughosha (5):
>   gnu: libzim: Update to 9.2.3.
>   gnu: kiwix-lib: Update to 14.0.0 and rename with libkiwix.
>   gnu: kiwix-desktop: Update to 2.4.1.
>   gnu: Add libkiwix-13.
>   gnu: kiwix-tools: Update to 3.7.0.
>
>  gnu/local.mk                                  |  1 -
>  .../kiwix-desktop-newer-libkiwix.patch        | 40 ----------
>  gnu/packages/web.scm                          | 76 ++++++++++---------
>  3 files changed, 41 insertions(+), 76 deletions(-)
>  delete mode 100644 gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch
>
>
> base-commit: 3ea95d7736be1f807d578d17c174b0976543b333

Hi!

You can find attached a patch to enable tests for libzim, can you
include it in a v2 if QA catches up? Thanks!

Made a comment on a patch, otherwise LGTM (build and lint).

>From a7f496f3de76cd1896ef30678325ea8e116636be Mon Sep 17 00:00:00 2001
From: Nicolas Graves <[email-masked]>
Date: Wed, 22 Jan 2025 07:54:30 +0100
Subject: [PATCH] gnu: libzim: Enable tests.

* gnu/packages/web.scm (libzim-testing-suite): New variable.
(libzim)[arguments]<#:phases>: Add phase 'inject-test-data.
<#:configure-flags>: Set test_data_dir.
---
 gnu/packages/web.scm | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f966556ed9..2acad4b447 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -9322,6 +9322,16 @@ (define-public kineto
 of Geminispace, but it defaults to a specific domain.")
     (license license:gpl3+)))
 
+(define libzim-testing-suite
+  (origin
+    (method url-fetch)
+    (uri (format #f "https://github.com/openzim/\
+zim-testing-suite/releases/download/~a/zim-testing-suite-~a.tar.gz"
+                 "0.6.0"
+                 "0.6.0"))
+    (sha256
+     (base32 "14pas22zvxd1bw6z2iy0dqa8k1gh0b8dvlml2wi8c73rl94i7aas"))))
+
 (define-public libzim
   (package
     (name "libzim")
@@ -9337,8 +9347,16 @@ (define-public libzim
               (file-name (git-file-name name version))))
     (build-system meson-build-system)
     (arguments
-     ;; TODO: Find out why tests fail.
-     '(#:tests? #f))
+     (list #:configure-flags ''("-Dtest_data_dir=test_data")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'configure 'inject-test-data
+                 (lambda _
+                   (with-directory-excursion (dirname (getcwd))
+                     (mkdir-p "build/test_data")
+                     (invoke "tar" "--strip-components=1"
+                             "-xf" #+libzim-testing-suite
+                             "-C" "build/test_data")))))))
     (inputs
      (list icu4c
            python-wrapper ; for libzim-compile-resources
-- 
2.47.1

-- 
Best regards,
Nicolas Graves