guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 8737b5332ed57ec056e70f3f7f1d88e4012101cd
Author: Ekaitz Zarraga <[email protected]>
AuthorDate: Tue Jul 15 16:57:41 2025 +0200

    gnu: sioyek: Use development branch.
    
    Sioyek's main branch is too old and requires a mupdf that is more than
    obsolete. Move to the development branch until they release 3.0.0.
    
    * gnu/packages/pdf.scm (sioyek): Move to development version.
    [inputs]: Add qtdeclarative, qtsvg, qtspeech. Replace qtbase-5,
    qtwayland-5 and qt3d-5 by qtbase, qtwayland and qt3d.
    * gnu/local.mk (sioyek-fix-build.patch): Remove.
    * gnu/packages/patches/sioyek-fix-build.patch: Remove.
    
    Change-Id: I2d5d88a6466079f68ed70a83fb2291e7ae62f893
---
 gnu/local.mk                                |   1 -
 gnu/packages/patches/sioyek-fix-build.patch |  82 -------------------
 gnu/packages/pdf.scm                        | 120 ++++++++++++++--------------
 3 files changed, 61 insertions(+), 142 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 74be04adfe..74ff7cae58 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2071,7 +2071,6 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/sdl-pango-header-guard.patch            \
   %D%/packages/patches/sdl-pango-matrix_declarations.patch     \
   %D%/packages/patches/sdl-pango-sans-serif.patch              \
-  %D%/packages/patches/sioyek-fix-build.patch                  \
   %D%/packages/patches/smalltalk-multiplication-overflow.patch \
   %D%/packages/patches/sqlite-hurd.patch                       \
   %D%/packages/patches/strace-readlink-tests.patch             \
diff --git a/gnu/packages/patches/sioyek-fix-build.patch 
b/gnu/packages/patches/sioyek-fix-build.patch
deleted file mode 100644
index 521b361f2a..0000000000
--- a/gnu/packages/patches/sioyek-fix-build.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-Patch fetched from 
https://git.alpinelinux.org/aports/tree/community/sioyek/mupdf-0.23.0.patch
-
-From 86e913eccf19b97a16f25d9b6cdf0f50232f1226 Mon Sep 17 00:00:00 2001
-From: ptrcnull <[email protected]>
-Date: Fri, 25 Aug 2023 22:44:26 +0200
-Subject: community/sioyek: fix build with mupdf-0.23.0
-
----
-
-diff --git a/pdf_viewer/document_view.cpp b/pdf_viewer/document_view.cpp
-index f48d05e..0bc3855 100644
---- a/pdf_viewer/document_view.cpp
-+++ b/pdf_viewer/document_view.cpp
-@@ -1121,7 +1121,7 @@ std::vector<DocumentPos> 
DocumentView::find_line_definitions() {
-
-                       std::optional<PdfLink> pdf_link = 
current_document->get_link_in_page_rect(get_center_page_number(), 
line_rects[line_index]);
-                       if (pdf_link.has_value()) {
--                              auto parsed_uri = parse_uri(mupdf_context, 
pdf_link.value().uri);
-+                              auto parsed_uri = parse_uri(mupdf_context, 
current_document->doc, pdf_link.value().uri);
-                               result.push_back({ parsed_uri.page - 1, 
parsed_uri.x, parsed_uri.y });
-                               return result;
-                       }
-diff --git a/pdf_viewer/main_widget.cpp b/pdf_viewer/main_widget.cpp
-index 19b568b..335a93f 100644
---- a/pdf_viewer/main_widget.cpp
-+++ b/pdf_viewer/main_widget.cpp
-@@ -170,7 +170,7 @@ void MainWidget::set_overview_position(int page, float 
offset) {
-
- void MainWidget::set_overview_link(PdfLink link) {
-
--    auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri);
-+    auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, 
link.uri);
-     if (page >= 1) {
-         set_overview_position(page - 1, offset_y);
-     }
-@@ -3178,7 +3178,7 @@ void 
MainWidget::handle_pending_text_command(std::wstring text) {
-                                       
open_web_url(utf8_decode(selected_link->uri));
-                 }
-                 else{
--                                      auto [page, offset_x, offset_y] = 
parse_uri(mupdf_context, selected_link->uri);
-+                                      auto [page, offset_x, offset_y] = 
parse_uri(mupdf_context, doc()->doc, selected_link->uri);
-                                       long_jump_to_destination(page-1, 
offset_y);
-                 }
-             }
-@@ -3863,7 +3863,7 @@ void MainWidget::handle_link_click(const PdfLink& link) {
-               return;
-       }
-
--      auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri);
-+      auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, 
link.uri);
-
-       // convert one indexed page to zero indexed page
-       page--;
-diff --git a/pdf_viewer/utils.cpp b/pdf_viewer/utils.cpp
-index 22d4265..3150e66 100644
---- a/pdf_viewer/utils.cpp
-+++ b/pdf_viewer/utils.cpp
-@@ -116,8 +116,9 @@ bool rects_intersect(fz_rect rect1, fz_rect rect2) {
-       return range_intersects(rect1.x0, rect1.x1, rect2.x0, rect2.x1) && 
range_intersects(rect1.y0, rect1.y1, rect2.y0, rect2.y1);
- }
-
--ParsedUri parse_uri(fz_context* mupdf_context, std::string uri) {
--      fz_link_dest dest = pdf_parse_link_uri(mupdf_context, uri.c_str());
-+ParsedUri parse_uri(fz_context* mupdf_context, fz_document* fz_doc, 
std::string uri) {
-+      pdf_document* doc = pdf_document_from_fz_document(mupdf_context, 
fz_doc);
-+      fz_link_dest dest = pdf_resolve_link_dest(mupdf_context, doc, 
uri.c_str());
-       return { dest.loc.page + 1, dest.x, dest.y };
- }
-
-diff --git a/pdf_viewer/utils.h b/pdf_viewer/utils.h
-index 2a12211..643b030 100644
---- a/pdf_viewer/utils.h
-+++ b/pdf_viewer/utils.h
-@@ -55,7 +55,7 @@ void get_flat_toc(const std::vector<TocNode*>& roots, 
std::vector<std::wstring>&
- int mod(int a, int b);
- bool range_intersects(float range1_start, float range1_end, float 
range2_start, float range2_end);
- bool rects_intersect(fz_rect rect1, fz_rect rect2);
--ParsedUri parse_uri(fz_context* mupdf_context, std::string uri);
-+ParsedUri parse_uri(fz_context* mupdf_context, fz_document* fz_doc, 
std::string uri);
- char get_symbol(int key, bool is_shift_pressed, const 
std::vector<char>&special_symbols);
-
- template<typename T>
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 18c9f1bf52..fa3d40b7ae 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -1835,65 +1835,67 @@ Keywords: html2pdf, htmltopdf")
     (license license:bsd-3)))
 
 (define-public sioyek
-  (package
-    (name "sioyek")
-    (version "2.0.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/ahrm/sioyek";)
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "1vmmp2s032ygh1byz77pg9aljmp8hx745fr7mmz11831f96mlmhq"))
-       (modules '((guix build utils)))
-       ;; libmupdf-third.so no longer available since mupdf 1.18.0.
-       (snippet '(substitute* "pdf_viewer_build_config.pro"
-                   (("-lmupdf-third") "")))
-       ;; XXX: Fix build with mupdf-0.23.0+.
-       ;; See also: https://github.com/ahrm/sioyek/issues/804
-       (patches (search-patches "sioyek-fix-build.patch"))))
-    (build-system qt-build-system)
-    (arguments
-     (list
-      #:configure-flags
-      #~(list (string-append "PREFIX=" #$output))
-      #:test-target "check"
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'patch-paths
-            (lambda _
-              (substitute* "pdf_viewer/main.cpp"
-                (("/usr/share")
-                 (string-append #$output "/share"))
-                (("/etc")
-                 (string-append #$output "/etc")))))
-          (replace 'configure
-            (lambda* (#:key configure-flags #:allow-other-keys)
-              (apply invoke "qmake" configure-flags)))
-          (add-after 'install 'instal-man-page
-            (lambda _
-              (install-file "resources/sioyek.1"
-                            (string-append #$output "/share/man/man1")))))))
-    (inputs
-     (list freetype
-           gumbo-parser
-           harfbuzz
-           jbig2dec
-           libjpeg-turbo
-           mujs
-           mupdf
-           openjpeg
-           qt3d-5
-           qtbase-5
-           qtwayland-5
-           zlib))
-    (home-page "https://sioyek.info/";)
-    (synopsis "PDF viewer with a focus on technical books and research papers")
-    (description
-     "Sioyek is a PDF viewer with a focus on textbooks and research papers.")
-    (license license:gpl3+)))
+  (let ((commit "8d173d993738d78559da035cc051f2eb40df41e6")
+        (revision "1"))
+    (package
+      (name "sioyek")
+      (version (git-version "2.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ahrm/sioyek";)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "10d08ajcm5ckvrj5xkgi0dj9ibndi961v2yacw7a8mxkdqki6ck6"))
+         (modules '((guix build utils)))
+         ;; libmupdf-third.so no longer available since mupdf 1.18.0.
+         (snippet '(substitute* "pdf_viewer_build_config.pro"
+                     (("-lmupdf-third") "")))))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+        #:configure-flags
+        #~(list (string-append "PREFIX=" #$output))
+        #:test-target "check"
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'patch-paths
+              (lambda _
+                (substitute* "pdf_viewer/main.cpp"
+                  (("/usr/share")
+                   (string-append #$output "/share"))
+                  (("/etc")
+                   (string-append #$output "/etc")))))
+            (replace 'configure
+              (lambda* (#:key configure-flags #:allow-other-keys)
+                (apply invoke "qmake" configure-flags)))
+            (add-after 'install 'instal-man-page
+              (lambda _
+                (install-file "resources/sioyek.1"
+                              (string-append #$output "/share/man/man1")))))))
+      (inputs
+       (list freetype
+             gumbo-parser
+             harfbuzz
+             jbig2dec
+             libjpeg-turbo
+             mujs
+             mupdf
+             openjpeg
+             qtbase
+             qtdeclarative
+             qtsvg
+             qt3d
+             qtspeech
+             qtwayland
+             zlib))
+      (home-page "https://sioyek.info/";)
+      (synopsis "PDF viewer with a focus on technical books and research 
papers")
+      (description
+       "Sioyek is a PDF viewer with a focus on textbooks and research papers.")
+      (license license:gpl3+))))
 
 (define-public pdftk
   (package

Reply via email to