summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorhrdl2023-10-07 11:17:23 +0200
committerhrdl2023-10-07 11:17:23 +0200
commite4a1a281e737337bfb48392a8026f3a17cbfb86d (patch)
treee0e902fa778773c69a24fbd2a8e3b154b2bd358c
parent4ed8b1c38756cbcc8e5c4255beff41836d5bb463 (diff)
downloadaur-e4a1a281e737337bfb48392a8026f3a17cbfb86d.tar.gz
Move mupdf 1.23 patch
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD18
-rw-r--r--sioyek-mupdf-1.23.patch106
3 files changed, 119 insertions, 13 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3ea5ea4b837e..8960595e90c6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = sioyek-git
pkgdesc = PDF viewer for research papers and technical books.
- pkgver = 2.0.0.r103.g5517425
- pkgrel = 2
+ pkgver = 2.0.0.r105.g2cdf61c
+ pkgrel = 1
epoch = 1
url = https://github.com/ahrm/sioyek
arch = x86_64
@@ -14,8 +14,8 @@ pkgbase = sioyek-git
provides = sioyek
conflicts = sioyek
source = git+https://github.com/ahrm/sioyek.git
- source = https://raw.githubusercontent.com/FabioLolix/AUR-artifacts/master/sioyek-mupdf-1.23.0.patch
+ source = sioyek-mupdf-1.23.patch
sha256sums = SKIP
- sha256sums = b71f3658803c80bd7a5cf59b38bb80418fd85cec06ee631a14d39736f2bfe39c
+ sha256sums = 30021646fda45c40af4579067ccb098bff4b2934ff42ace7b02a61fd1c8bc573
pkgname = sioyek-git
diff --git a/PKGBUILD b/PKGBUILD
index 38061c227c3c..19f365501927 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,24 +1,24 @@
-# Maintainer: Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
+# Maintainer: hrdl <git@hrdl.eu>
+# Contributor: Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
# Contributor: Philipp Kühn <p dot kuehn at posteo dot de>
# Contributor: Krut Patel <kroot.patel@gmail.com>
pkgname=sioyek-git
-pkgver=2.0.0.r103.g5517425
-pkgrel=2
+pkgver=2.0.0.r105.g2cdf61c
+pkgrel=1
epoch=1
pkgdesc="PDF viewer for research papers and technical books."
arch=(x86_64)
license=(GPL3)
url="https://github.com/ahrm/sioyek"
-depends=(qt5-base libmupdf)
-makedepends=(git qt5-3d mujs ) #gumbo-parser openjpeg2 jbig2dec harfbuzz
+depends=(qt5-base libmupdf)
+makedepends=(git qt5-3d mujs)
provides=(sioyek)
conflicts=(sioyek)
-# patch retreived from https://paste.debian.net/plain/1290973 (source: https://aur.archlinux.org/packages/sioyek-git#comment-932428)
source=("git+https://github.com/ahrm/sioyek.git"
- "https://raw.githubusercontent.com/FabioLolix/AUR-artifacts/master/sioyek-mupdf-1.23.0.patch")
+ "sioyek-mupdf-1.23.patch")
sha256sums=('SKIP'
- 'b71f3658803c80bd7a5cf59b38bb80418fd85cec06ee631a14d39736f2bfe39c')
+ '30021646fda45c40af4579067ccb098bff4b2934ff42ace7b02a61fd1c8bc573')
pkgver() {
cd "sioyek"
@@ -28,7 +28,7 @@ pkgver() {
prepare() {
cd "sioyek"
- patch --forward --strip=1 --input="${srcdir}/sioyek-mupdf-1.23.0.patch"
+ patch --forward --strip=1 --input="${srcdir}/sioyek-mupdf-1.23.patch"
sed -i 's/-lmupdf-threads/-lfreetype -lgumbo -ljbig2dec -lopenjp2 -ljpeg/' pdf_viewer_build_config.pro
sed -i '/#define LINUX_STANDARD_PATHS/s/\/\///' pdf_viewer/main.cpp
sed -i 's/-lmupdf-third//' pdf_viewer_build_config.pro
diff --git a/sioyek-mupdf-1.23.patch b/sioyek-mupdf-1.23.patch
new file mode 100644
index 000000000000..788375c19465
--- /dev/null
+++ b/sioyek-mupdf-1.23.patch
@@ -0,0 +1,106 @@
+From 9f0d37af732bef364f1be62c83cfd62d8aa437e5 Mon Sep 17 00:00:00 2001
+From: hrdl <git@hrdl.eu>
+Date: Tue, 5 Sep 2023 08:49:41 +0200
+Subject: [PATCH] Mupdf 1.23 support
+
+---
+ pdf_viewer/document_view.cpp | 4 ++--
+ pdf_viewer/main_widget.cpp | 8 ++++----
+ pdf_viewer/utils.cpp | 5 +++--
+ pdf_viewer/utils.h | 2 +-
+ 4 files changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/pdf_viewer/document_view.cpp b/pdf_viewer/document_view.cpp
+index afcb173..6a75b34 100644
+--- a/pdf_viewer/document_view.cpp
++++ b/pdf_viewer/document_view.cpp
+@@ -1126,7 +1126,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;
+ }
+@@ -1217,7 +1217,7 @@ void DocumentView::get_visible_links(std::vector<std::pair<int, fz_link*>>& visi
+ for (auto page : visible_pages) {
+ fz_link* link = get_document()->get_page_links(page);
+ while (link) {
+- ParsedUri parsed_uri = parse_uri(mupdf_context, link->uri);
++ ParsedUri parsed_uri = parse_uri(mupdf_context, get_document()->doc, link->uri);
+ fz_rect window_rect = document_to_window_rect(page, link->rect);
+ if ((window_rect.x0 >= -1) && (window_rect.x0 <= 1) && (window_rect.y0 >= -1) && (window_rect.y0 <= 1)) {
+ visible_page_links.push_back(std::make_pair(page, link));
+diff --git a/pdf_viewer/main_widget.cpp b/pdf_viewer/main_widget.cpp
+index c22e31b..e6d6f2b 100644
+--- a/pdf_viewer/main_widget.cpp
++++ b/pdf_viewer/main_widget.cpp
+@@ -179,7 +179,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);
+ }
+@@ -2771,7 +2771,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--;
+@@ -3920,7 +3920,7 @@ void MainWidget::handle_portal_to_link(const std::wstring& text) {
+ PdfLink pdf_link;
+ pdf_link.rect = link->rect;
+ pdf_link.uri = link->uri;
+- ParsedUri parsed_uri = parse_uri(mupdf_context, pdf_link.uri);
++ ParsedUri parsed_uri = parse_uri(mupdf_context, doc()->doc, pdf_link.uri);
+
+ //AbsoluteDocumentPos abspos = doc()->document_to_absolute_pos(defpos[0], true);
+ DocumentPos link_source_document_pos;
+@@ -3959,7 +3959,7 @@ void MainWidget::handle_open_link(const std::wstring& text, bool copy) {
+ 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);
+ }
+ }
+diff --git a/pdf_viewer/utils.cpp b/pdf_viewer/utils.cpp
+index c53b3e4..9b5fd45 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 10873c6..b25bfa2 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>
+--
+2.42.0
+