upgpkg: sioyek 2.0.0-1

upstream release
master
Alexander Seiler 1 year ago
parent 35cc1e31c4
commit 21cfc34378

@ -1,6 +1,6 @@
pkgbase = sioyek
pkgdesc = PDF viewer for research papers and technical books.
pkgver = 1.5.0
pkgver = 2.0.0
pkgrel = 1
url = https://github.com/ahrm/sioyek
arch = x86_64
@ -13,9 +13,7 @@ pkgbase = sioyek
depends = qt5-3d
depends = qt5-base
depends = zlib
source = sioyek-1.5.0.tar.gz::https://github.com/ahrm/sioyek/archive/v1.5.0.tar.gz
source = mupdf-1.20.patch
sha256sums = 2d01c757953c3f2d98428376e642d13b8a9edeba8fee506477e8aa178756f16b
sha256sums = cd639043d9978a27f8957db59001c846bc6b5190fd08afd9cd8d2d8875b532fa
source = sioyek-2.0.0.tar.gz::https://github.com/ahrm/sioyek/archive/v2.0.0.tar.gz
sha256sums = 92398b6da5e297c59f22cd3c6b562194846f28bc17bb4ae9432869aafeb5df17
pkgname = sioyek

@ -1,6 +1,6 @@
# Maintainer: Alexander Seiler <seileralex@gmail.com>
pkgname=sioyek
pkgver=1.5.0
pkgver=2.0.0
pkgrel=1
pkgdesc="PDF viewer for research papers and technical books."
arch=('x86_64')
@ -15,12 +15,11 @@ depends=(
'qt5-3d'
'qt5-base'
'zlib')
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz" "mupdf-1.20.patch")
sha256sums=('2d01c757953c3f2d98428376e642d13b8a9edeba8fee506477e8aa178756f16b' 'cd639043d9978a27f8957db59001c846bc6b5190fd08afd9cd8d2d8875b532fa')
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
sha256sums=('92398b6da5e297c59f22cd3c6b562194846f28bc17bb4ae9432869aafeb5df17')
prepare() {
cd "$pkgname-$pkgver"
patch --forward --strip=1 --input="${srcdir}/mupdf-1.20.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
}
@ -39,5 +38,5 @@ package() {
install -Dm644 build/shaders/* -t "$pkgdir/usr/share/$pkgname/shaders/"
install -Dm644 -t "$pkgdir/etc/sioyek/" build/keys.config build/prefs.config
install -Dm644 -t "$pkgdir/usr/share/man/man1" resources/sioyek.1
install -Dm644 -t "$pkgdir/usr/share/sioyek" build/tutorial.pdf
install -Dm644 -t "$pkgdir/usr/share/sioyek" build/tutorial.pdf
}

@ -1,122 +0,0 @@
diff '--color=auto' --unified --recursive --text sioyek-1.5.0-original/pdf_viewer/document.cpp sioyek-1.5.0-patched/pdf_viewer/document.cpp
--- sioyek-1.5.0-original/pdf_viewer/document.cpp 2022-08-20 16:46:51.000000000 +0200
+++ sioyek-1.5.0-patched/pdf_viewer/document.cpp 2022-08-28 05:37:44.991162090 +0200
@@ -559,14 +559,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.5.0-original/pdf_viewer/document_view.cpp sioyek-1.5.0-patched/pdf_viewer/document_view.cpp
--- sioyek-1.5.0-original/pdf_viewer/document_view.cpp 2022-08-20 16:46:51.000000000 +0200
+++ sioyek-1.5.0-patched/pdf_viewer/document_view.cpp 2022-08-28 05:38:37.022162775 +0200
@@ -1050,7 +1050,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);
result.push_back({ parsed_uri.page - 1, parsed_uri.x, parsed_uri.y });
return result;
}
diff '--color=auto' --unified --recursive --text sioyek-1.5.0-original/pdf_viewer/main_widget.cpp sioyek-1.5.0-patched/pdf_viewer/main_widget.cpp
--- sioyek-1.5.0-original/pdf_viewer/main_widget.cpp 2022-08-20 16:46:51.000000000 +0200
+++ sioyek-1.5.0-patched/pdf_viewer/main_widget.cpp 2022-08-28 05:39:56.916162839 +0200
@@ -151,7 +151,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);
}
@@ -2841,7 +2841,7 @@
open_web_url(utf8_decode(selected_link->uri));
}
else{
- 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);
}
}
@@ -3452,7 +3452,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.5.0-original/pdf_viewer/pdf_renderer.cpp sioyek-1.5.0-patched/pdf_viewer/pdf_renderer.cpp
--- sioyek-1.5.0-original/pdf_viewer/pdf_renderer.cpp 2022-08-20 16:46:51.000000000 +0200
+++ sioyek-1.5.0-patched/pdf_viewer/pdf_renderer.cpp 2022-08-28 05:40:36.068162490 +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.5.0-original/pdf_viewer/utils.cpp sioyek-1.5.0-patched/pdf_viewer/utils.cpp
--- sioyek-1.5.0-original/pdf_viewer/utils.cpp 2022-08-20 16:46:51.000000000 +0200
+++ sioyek-1.5.0-patched/pdf_viewer/utils.cpp 2022-08-28 05:42:07.857280562 +0200
@@ -23,6 +23,7 @@
#include <qnetworkrequest.h>
#include <qnetworkreply.h>
#include <qscreen.h>
+#include <mupdf/pdf.h>
extern std::wstring LIBGEN_ADDRESS;
extern std::wstring GOOGLE_SCHOLAR_ADDRESS;
@@ -106,21 +107,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.5.0-original/pdf_viewer/utils.h sioyek-1.5.0-patched/pdf_viewer/utils.h
--- sioyek-1.5.0-original/pdf_viewer/utils.h 2022-08-20 16:46:51.000000000 +0200
+++ sioyek-1.5.0-patched/pdf_viewer/utils.h 2022-08-28 05:42:31.572410725 +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>
Loading…
Cancel
Save