summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Seiler2022-07-13 03:06:06 +0200
committerAlexander Seiler2022-07-13 03:06:06 +0200
commit0652869f031634580c80fab3f3aa8f42b27939de (patch)
tree3f6af8c911bd5cca96b22c2ba5e4e06539517008
parent21bc43beac708cae56e3ba73e260c1108a258c7c (diff)
downloadaur-0652869f031634580c80fab3f3aa8f42b27939de.tar.gz
upgpkg: sioyek 1.4.0-1
upstream release
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD12
-rw-r--r--mupdf-1.20.patch123
3 files changed, 134 insertions, 11 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b0ee39dab7b0..f191e1c9cc16 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = sioyek
pkgdesc = PDF viewer for research papers and technical books.
- pkgver = 1.3.0
- pkgrel = 4
+ pkgver = 1.4.0
+ pkgrel = 1
url = https://github.com/ahrm/sioyek
arch = x86_64
license = GPL3
@@ -15,7 +15,9 @@ pkgbase = sioyek
depends = openjpeg2
depends = jbig2dec
provides = sioyek
- source = sioyek-1.3.0.tar.gz::https://github.com/ahrm/sioyek/archive/v1.3.0.tar.gz
- sha256sums = 153876cecb75c32bed5469a86f24e7f14ea885711dacbac0072e91594d9f9235
+ source = sioyek-1.4.0.tar.gz::https://github.com/ahrm/sioyek/archive/v1.4.0.tar.gz
+ source = mupdf-1.20.patch
+ sha256sums = 44d49aec28e49bb79c2d0fb7cefd26aecc53b60136bf02dfec9863ac586aacd0
+ sha256sums = ab9fdffca70d43f1e6d2ba347c546430a79c51452178f05efb086589e247054b
pkgname = sioyek
diff --git a/PKGBUILD b/PKGBUILD
index 5ff18a31d869..d70cb8724b3b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,23 +1,21 @@
# Maintainer: Alexander Seiler <seileralex@gmail.com>
pkgname=sioyek
-pkgver=1.3.0
-pkgrel=4
+pkgver=1.4.0
+pkgrel=1
pkgdesc="PDF viewer for research papers and technical books."
arch=('x86_64')
license=('GPL3')
provides=('sioyek')
url="https://github.com/ahrm/sioyek"
depends=('qt5-base' 'qt5-3d' 'harfbuzz' 'gzip' 'libmupdf' 'zlib' 'gumbo-parser' 'openjpeg2' 'jbig2dec')
-source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
-sha256sums=('153876cecb75c32bed5469a86f24e7f14ea885711dacbac0072e91594d9f9235')
+source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz" "mupdf-1.20.patch")
+sha256sums=('44d49aec28e49bb79c2d0fb7cefd26aecc53b60136bf02dfec9863ac586aacd0' 'ab9fdffca70d43f1e6d2ba347c546430a79c51452178f05efb086589e247054b')
prepare() {
cd "$pkgname-$pkgver"
+ patch --forward --strip=1 --input="${srcdir}/mupdf-1.20.patch"
sed -i 's/-lmupdf-third -lmupdf-threads -lharfbuzz/-lmupdf-third -lharfbuzz -lfreetype -lgumbo -ljbig2dec -lopenjp2 -ljpeg/' pdf_viewer_build_config.pro
sed -i 's/\/\/#define LINUX_STANDARD_PATHS/#define LINUX_STANDARD_PATHS/' pdf_viewer/main.cpp
-
- # This has been fixed on the `master` branch, remove this for future releases:
- sed -i '9i #include <cstring>' pdf_viewer/utils.cpp
}
build() {
diff --git a/mupdf-1.20.patch b/mupdf-1.20.patch
new file mode 100644
index 000000000000..975560d66e78
--- /dev/null
+++ b/mupdf-1.20.patch
@@ -0,0 +1,123 @@
+diff '--color=auto' --unified --recursive --text sioyek-1.4.0-original/pdf_viewer/document.cpp sioyek-1.4.0-patched/pdf_viewer/document.cpp
+--- sioyek-1.4.0-original/pdf_viewer/document.cpp 2022-07-05 18:02:51.000000000 +0200
++++ sioyek-1.4.0-patched/pdf_viewer/document.cpp 2022-07-10 04:31:02.640253312 +0200
+@@ -542,14 +542,14 @@
+ current_node->title = utf8_decode(root->title);
+ current_node->x = root->x;
+ current_node->y = root->y;
+- if (root->page == -1) {
++ if (root->page.page == -1) {
+ float xp, yp;
+ fz_location loc = fz_resolve_link(context, doc, root->uri, &xp, &yp);
+ int chapter_page = accum_chapter_pages[loc.chapter];
+ current_node->page = chapter_page + loc.page;
+ }
+ else {
+- current_node->page = root->page;
++ current_node->page = root->page.page;
+ }
+ convert_toc_tree(root->down, current_node->children);
+
+diff '--color=auto' --unified --recursive --text sioyek-1.4.0-original/pdf_viewer/document_view.cpp sioyek-1.4.0-patched/pdf_viewer/document_view.cpp
+--- sioyek-1.4.0-original/pdf_viewer/document_view.cpp 2022-07-05 18:02:51.000000000 +0200
++++ sioyek-1.4.0-patched/pdf_viewer/document_view.cpp 2022-07-10 04:31:53.839132616 +0200
+@@ -1018,7 +1018,7 @@
+
+ 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(pdf_link.value().uri);
++ auto parsed_uri = parse_uri(mupdf_context, pdf_link.value().uri);
+ DocumentPos res;
+ res.page = parsed_uri.page-1;
+ res.x = parsed_uri.x;
+diff '--color=auto' --unified --recursive --text sioyek-1.4.0-original/pdf_viewer/main_widget.cpp sioyek-1.4.0-patched/pdf_viewer/main_widget.cpp
+--- sioyek-1.4.0-original/pdf_viewer/main_widget.cpp 2022-07-05 18:02:51.000000000 +0200
++++ sioyek-1.4.0-patched/pdf_viewer/main_widget.cpp 2022-07-10 04:33:51.237849831 +0200
+@@ -136,7 +136,7 @@
+
+ void MainWidget::set_overview_link(PdfLink link) {
+
+- auto [page, offset_x, offset_y] = parse_uri(link.uri);
++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri);
+ if (page >= 1) {
+ set_overview_position(page - 1, offset_y);
+ }
+@@ -2661,7 +2661,7 @@
+ }
+ if ((link_index >= 0) && (link_index < static_cast<int>(visible_page_links.size()))) {
+ auto [selected_page, selected_link] = visible_page_links[link_index];
+- auto [page, offset_x, offset_y] = parse_uri(selected_link->uri);
++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, selected_link->uri);
+ long_jump_to_destination(page-1, offset_y);
+ }
+ }
+@@ -3239,7 +3239,7 @@
+ return;
+ }
+
+- auto [page, offset_x, offset_y] = parse_uri(link.uri);
++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri);
+
+ // convert one indexed page to zero indexed page
+ page--;
+diff '--color=auto' --unified --recursive --text sioyek-1.4.0-original/pdf_viewer/pdf_renderer.cpp sioyek-1.4.0-patched/pdf_viewer/pdf_renderer.cpp
+--- sioyek-1.4.0-original/pdf_viewer/pdf_renderer.cpp 2022-07-05 18:02:51.000000000 +0200
++++ sioyek-1.4.0-patched/pdf_viewer/pdf_renderer.cpp 2022-07-10 04:34:52.438699545 +0200
+@@ -315,7 +315,7 @@
+
+ const int max_hits_per_page = 20;
+ fz_quad hitboxes[max_hits_per_page];
+- int num_results = fz_search_page(mupdf_context, page, utf8_encode(req.search_term).c_str(), hitboxes, max_hits_per_page);
++ int num_results = fz_search_page(mupdf_context, page, utf8_encode(req.search_term).c_str(), nullptr, hitboxes, max_hits_per_page);
+
+ if (num_results > 0) {
+ req.search_results_mutex->lock();
+diff '--color=auto' --unified --recursive --text sioyek-1.4.0-original/pdf_viewer/utils.cpp sioyek-1.4.0-patched/pdf_viewer/utils.cpp
+--- sioyek-1.4.0-original/pdf_viewer/utils.cpp 2022-07-05 18:02:51.000000000 +0200
++++ sioyek-1.4.0-patched/pdf_viewer/utils.cpp 2022-07-10 04:36:36.587440044 +0200
+@@ -24,6 +24,8 @@
+ #include <qnetworkreply.h>
+ #include <qscreen.h>
+
++#include <mupdf/pdf.h>
++
+ extern std::wstring LIBGEN_ADDRESS;
+ extern std::wstring GOOGLE_SCHOLAR_ADDRESS;
+ extern std::ofstream LOG_FILE;
+@@ -106,21 +108,9 @@
+ return range_intersects(rect1.x0, rect1.x1, rect2.x0, rect2.x1) && range_intersects(rect1.y0, rect1.y1, rect2.y0, rect2.y1);
+ }
+
+-ParsedUri parse_uri(std::string uri) {
+- int comma_index = -1;
+-
+- uri = uri.substr(1, uri.size() - 1);
+- comma_index = static_cast<int>(uri.find(","));
+- int page = atoi(uri.substr(0, comma_index ).c_str());
+-
+- uri = uri.substr(comma_index+1, uri.size() - comma_index-1);
+- comma_index = static_cast<int>(uri.find(","));
+- float offset_x = atof(uri.substr(0, comma_index ).c_str());
+-
+- uri = uri.substr(comma_index+1, uri.size() - comma_index-1);
+- float offset_y = atof(uri.c_str());
+-
+- return { page, offset_x, offset_y };
++ParsedUri parse_uri(fz_context* mupdf_context, std::string uri) {
++ fz_link_dest dest = pdf_parse_link_uri(mupdf_context, uri.c_str());
++ return { dest.loc.page + 1, dest.x, dest.y };
+ }
+
+ char get_symbol(int key, bool is_shift_pressed, const std::vector<char>& special_symbols) {
+diff '--color=auto' --unified --recursive --text sioyek-1.4.0-original/pdf_viewer/utils.h sioyek-1.4.0-patched/pdf_viewer/utils.h
+--- sioyek-1.4.0-original/pdf_viewer/utils.h 2022-07-05 18:02:51.000000000 +0200
++++ sioyek-1.4.0-patched/pdf_viewer/utils.h 2022-07-10 04:37:43.601270950 +0200
+@@ -33,7 +33,7 @@
+ 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(std::string uri);
++ParsedUri parse_uri(fz_context* mupdf_context, std::string uri);
+ char get_symbol(int key, bool is_shift_pressed, const std::vector<char>&special_symbols);
+
+ template<typename T>