diff options
author | hrdl | 2023-10-07 11:17:23 +0200 |
---|---|---|
committer | hrdl | 2023-10-07 11:17:23 +0200 |
commit | e4a1a281e737337bfb48392a8026f3a17cbfb86d (patch) | |
tree | e0e902fa778773c69a24fbd2a8e3b154b2bd358c | |
parent | 4ed8b1c38756cbcc8e5c4255beff41836d5bb463 (diff) | |
download | aur-e4a1a281e737337bfb48392a8026f3a17cbfb86d.tar.gz |
Move mupdf 1.23 patch
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rw-r--r-- | sioyek-mupdf-1.23.patch | 106 |
3 files changed, 119 insertions, 13 deletions
@@ -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 @@ -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 + |