git: 90d3ed050873 - main - print/sioyek: update to 2.0.0.20250513

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Sun, 18 May 2025 10:18:21 UTC
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=90d3ed050873e2343565e80ee5cab83e2522de7d

commit 90d3ed050873e2343565e80ee5cab83e2522de7d
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2025-05-16 09:55:50 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-05-18 10:17:52 +0000

    print/sioyek: update to 2.0.0.20250513
    
     - fixes a crash when using the search function.
     - the new version requires qt6
     - ship and install the man page
     - get rid of most now-obsolete site patches
    
    PR:             286827
    Reported by:    Nithal El Mejmissani <nithale@gmail.com>
---
 print/sioyek/Makefile                              |  9 ++-
 print/sioyek/distinfo                              |  6 +-
 .../files/patch-pdf__viewer__build__config.pro     | 36 ++++-----
 print/sioyek/files/patch-pdf__viewer_main.cpp      | 30 ++++----
 print/sioyek/files/patch-pdf__viewer_utils.cpp     | 12 +--
 print/sioyek/files/patch-pdf_parse_link_uri        | 88 ----------------------
 print/sioyek/pkg-plist                             |  8 ++
 7 files changed, 56 insertions(+), 133 deletions(-)

diff --git a/print/sioyek/Makefile b/print/sioyek/Makefile
index e825c2298ef8..0d8d9ccc0444 100644
--- a/print/sioyek/Makefile
+++ b/print/sioyek/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	sioyek
 DISTVERSIONPREFIX=	v
-DISTVERSION=	2.0.0
-PORTREVISION=	5
+DISTVERSION=	2.0.0.20250513
 CATEGORIES=	print
 
 MAINTAINER=	fuz@FreeBSD.org
@@ -19,11 +18,12 @@ LIB_DEPENDS=	libmupdf.so:graphics/mupdf \
 		libopenjp2.so:graphics/openjpeg \
 		libsynctex.so:devel/tex-synctex
 
-USES=		desktop-file-utils jpeg gl qmake qt:5 sqlite
+USES=		desktop-file-utils jpeg gl qmake qt:6 sqlite
 USE_GITHUB=	yes
 GH_ACCOUNT=	ahrm
+GH_TAGNAME=	eb03410682f70fa27cbe2f9ec3bf59ac086457d7
 USE_GL=		gl
-USE_QT=		3d buildtools:build core gui network opengl widgets
+USE_QT=		3d speech
 
 post-extract:
 .for f in sqlite3.h sqlite3ext.h sqlite3.c shell.c
@@ -38,5 +38,6 @@ post-install:
 .for f in keys prefs
 	${MV} ${STAGEDIR}${ETCDIR}/$f.config ${STAGEDIR}${ETCDIR}/$f.config.sample
 .endfor
+	${INSTALL_MAN} ${WRKSRC}/resources/sioyek.1 ${STAGEDIR}${PREFIX}/share/man/man1/
 
 .include <bsd.port.mk>
diff --git a/print/sioyek/distinfo b/print/sioyek/distinfo
index 74be77e7dd4f..d230a07c4bb2 100644
--- a/print/sioyek/distinfo
+++ b/print/sioyek/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1677891935
-SHA256 (ahrm-sioyek-v2.0.0_GH0.tar.gz) = 92398b6da5e297c59f22cd3c6b562194846f28bc17bb4ae9432869aafeb5df17
-SIZE (ahrm-sioyek-v2.0.0_GH0.tar.gz) = 4900368
+TIMESTAMP = 1747406937
+SHA256 (ahrm-sioyek-v2.0.0.20250513-eb03410682f70fa27cbe2f9ec3bf59ac086457d7_GH0.tar.gz) = 5102fb2e436c3746d33072abe2855768a0a40f2276cd04be6d027c5a45f6db52
+SIZE (ahrm-sioyek-v2.0.0.20250513-eb03410682f70fa27cbe2f9ec3bf59ac086457d7_GH0.tar.gz) = 5511750
diff --git a/print/sioyek/files/patch-pdf__viewer__build__config.pro b/print/sioyek/files/patch-pdf__viewer__build__config.pro
index 7270a1f80e8a..02e8c575b4bb 100644
--- a/print/sioyek/files/patch-pdf__viewer__build__config.pro
+++ b/print/sioyek/files/patch-pdf__viewer__build__config.pro
@@ -1,6 +1,6 @@
---- pdf_viewer_build_config.pro.orig	2022-12-16 16:06:01 UTC
+--- pdf_viewer_build_config.pro.orig	2025-05-13 14:36:40 UTC
 +++ pdf_viewer_build_config.pro
-@@ -28,8 +28,6 @@ HEADERS += pdf_viewer/book.h \
+@@ -92,8 +92,6 @@ HEADERS += pdf_viewer/book.h \
             pdf_viewer/checksum.h \
             pdf_viewer/new_file_checker.h \
             pdf_viewer/coordinates.h \
@@ -9,16 +9,7 @@
             pdf_viewer/ui.h \
             pdf_viewer/path.h \
             pdf_viewer/utf8.h \
-@@ -37,8 +35,6 @@ HEADERS += pdf_viewer/book.h \
-            pdf_viewer/utf8/checked.h \
-            pdf_viewer/utf8/core.h \
-            pdf_viewer/utf8/unchecked.h \
--           pdf_viewer/synctex/synctex_parser.h \
--           pdf_viewer/synctex/synctex_parser_utils.h \
-            pdf_viewer/RunGuard.h \
-            pdf_viewer/OpenWithApplication.h
- 
-@@ -55,12 +51,9 @@ SOURCES += pdf_viewer/book.cpp \
+@@ -120,7 +118,6 @@ SOURCES += pdf_viewer/book.cpp \
             pdf_viewer/checksum.cpp \
             pdf_viewer/new_file_checker.cpp \
             pdf_viewer/coordinates.cpp \
@@ -26,12 +17,23 @@
             pdf_viewer/ui.cpp \
             pdf_viewer/path.cpp \
             pdf_viewer/utils.cpp \
--           pdf_viewer/synctex/synctex_parser.c \
--           pdf_viewer/synctex/synctex_parser_utils.c \
-            pdf_viewer/RunGuard.cpp \
-            pdf_viewer/OpenWithApplication.cpp
+@@ -129,15 +126,6 @@ SOURCES += pdf_viewer/book.cpp \
+            pdf_viewer/OpenWithApplication.cpp \
+            fzf/fzf.c
+ 
+-!android{
+-           HEADERS += pdf_viewer/synctex/synctex_parser.h \
+-           pdf_viewer/synctex/synctex_parser_utils.h
+-           
+-           SOURCES += pdf_viewer/synctex/synctex_parser.c \
+-           pdf_viewer/synctex/synctex_parser_utils.c
+-}
+-
+-
+ win32{
  
-@@ -82,7 +75,7 @@ unix:!mac {
+     CONFIG(Debug){
+@@ -179,7 +167,7 @@ unix:!mac:!android {
      } else {
          DEFINES += NON_PORTABLE
          DEFINES += LINUX_STANDARD_PATHS
diff --git a/print/sioyek/files/patch-pdf__viewer_main.cpp b/print/sioyek/files/patch-pdf__viewer_main.cpp
index 2fb5adc397e4..d4797eeae414 100644
--- a/print/sioyek/files/patch-pdf__viewer_main.cpp
+++ b/print/sioyek/files/patch-pdf__viewer_main.cpp
@@ -1,22 +1,22 @@
---- pdf_viewer/main.cpp.orig	2023-03-04 14:34:21 UTC
+--- pdf_viewer/main.cpp.orig	2025-05-13 14:36:40 UTC
 +++ pdf_viewer/main.cpp
-@@ -296,7 +296,7 @@ void configure_paths(){
- 	user_config_paths.push_back(mac_standard_config_path.slash(L"prefs_user.config"));
+@@ -223,7 +223,7 @@ void configure_paths() {
+     user_config_paths.push_back(mac_standard_config_path.slash(L"prefs_user.config"));
  #endif
  
 -#ifdef Q_OS_LINUX
 +#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
- 	QStringList all_config_paths = QStandardPaths::standardLocations(QStandardPaths::AppConfigLocation);
- 	for (int i = all_config_paths.size()-1; i >= 0; i--) {
- 		user_config_paths.push_back(Path(all_config_paths.at(i).toStdWString()).slash(L"prefs_user.config"));
-@@ -306,8 +306,8 @@ void configure_paths(){
+     QStringList all_config_paths = QStandardPaths::standardLocations(QStandardPaths::AppConfigLocation);
+     for (int i = all_config_paths.size() - 1; i >= 0; i--) {
+         user_config_paths.push_back(Path(all_config_paths.at(i).toStdWString()).slash(L"prefs_user.config"));
+@@ -233,8 +233,8 @@ void configure_paths() {
  #ifdef LINUX_STANDARD_PATHS
- 	Path home_path(QDir::homePath().toStdWString());
- 	Path standard_data_path = home_path.slash(L".local").slash(L"share").slash(L"sioyek");
--	Path standard_config_path = Path(L"/etc/sioyek");
--	Path read_only_data_path = Path(L"/usr/share/sioyek");
-+	Path standard_config_path = Path(L"%%ETCDIR%%");
-+	Path read_only_data_path = Path(L"%%DATADIR%%");
- 	standard_data_path.create_directories();
+     Path home_path(QDir::homePath().toStdWString());
+     standard_data_path = home_path.slash(L".local").slash(L"share").slash(L"sioyek");
+-    Path standard_config_path = Path(L"/etc/sioyek");
+-    Path read_only_data_path = Path(L"/usr/share/sioyek");
++    Path standard_config_path = Path(L"%%ETCDIR%%");
++    Path read_only_data_path = Path(L"%%DATADIR%%");
+     standard_data_path.create_directories();
  
- 	default_config_path = standard_config_path.slash(L"prefs.config");
+     default_config_path = standard_config_path.slash(L"prefs.config");
diff --git a/print/sioyek/files/patch-pdf__viewer_utils.cpp b/print/sioyek/files/patch-pdf__viewer_utils.cpp
index f5214ad89f03..0586ac3c20fa 100644
--- a/print/sioyek/files/patch-pdf__viewer_utils.cpp
+++ b/print/sioyek/files/patch-pdf__viewer_utils.cpp
@@ -1,11 +1,11 @@
---- pdf_viewer/utils.cpp.orig	2023-03-04 13:46:24 UTC
+--- pdf_viewer/utils.cpp.orig	2025-05-13 14:36:40 UTC
 +++ pdf_viewer/utils.cpp
-@@ -1194,7 +1194,7 @@ void sleep_ms(unsigned int ms) {
+@@ -1548,7 +1548,7 @@ void sleep_ms(unsigned int ms) {
  #ifdef Q_OS_WIN
- 	Sleep(ms);
+     Sleep(ms);
  #else
--	struct timespec ts = { ms / 1000, (ms % 1000) * 1000 * 1000 };
-+	struct timespec ts = { static_cast<time_t>(ms / 1000), static_cast<long>((ms % 1000) * 1000 * 1000) };
- 	nanosleep(&ts, NULL);
+-    struct timespec ts = { ms / 1000, (ms % 1000) * 1000 * 1000 };
++    struct timespec ts = { static_cast<time_t>(ms / 1000), static_cast<long>((ms % 1000) * 1000 * 1000) };
+     nanosleep(&ts, NULL);
  #endif
  }
diff --git a/print/sioyek/files/patch-pdf_parse_link_uri b/print/sioyek/files/patch-pdf_parse_link_uri
deleted file mode 100644
index 086ed17f9a0b..000000000000
--- a/print/sioyek/files/patch-pdf_parse_link_uri
+++ /dev/null
@@ -1,88 +0,0 @@
-From: Patrycja Rosa <alpine@ptrcnull.me>
-Date: Fri, 25 Aug 2023 22:44:26 +0200
-Subject: fix build with mupdf-0.23.0
-
-Fix for disappeared symbol in mupdf 0.23.
-
-Origin: vendor, https://git.alpinelinux.org/aports/commit/?id=86e913eccf19b97a16f25d9b6cdf0f50232f1226
-Bug: https://github.com/ahrm/sioyek/issues/804
----
- pdf_viewer/document_view.cpp | 2 +-
- pdf_viewer/main_widget.cpp   | 6 +++---
- pdf_viewer/utils.cpp         | 5 +++--
- pdf_viewer/utils.h           | 2 +-
- 4 files changed, 8 insertions(+), 7 deletions(-)
-
-diff --git pdf_viewer/document_view.cpp pdf_viewer/document_view.cpp
-index f48d05e..0bc3855 100644
---- pdf_viewer/document_view.cpp
-+++ 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 pdf_viewer/main_widget.cpp pdf_viewer/main_widget.cpp
-index 19b568b..335a93f 100644
---- pdf_viewer/main_widget.cpp
-+++ 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 pdf_viewer/utils.cpp pdf_viewer/utils.cpp
-index 22d4265..3150e66 100644
---- pdf_viewer/utils.cpp
-+++ 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 pdf_viewer/utils.h pdf_viewer/utils.h
-index 2a12211..643b030 100644
---- pdf_viewer/utils.h
-+++ 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/print/sioyek/pkg-plist b/print/sioyek/pkg-plist
index 405d13c1b80c..5d5844d6b555 100644
--- a/print/sioyek/pkg-plist
+++ b/print/sioyek/pkg-plist
@@ -2,14 +2,22 @@ bin/sioyek
 @sample %%ETCDIR%%/keys.config.sample
 @sample %%ETCDIR%%/prefs.config.sample
 share/applications/sioyek.desktop
+share/man/man1/sioyek.1.gz
 share/pixmaps/sioyek-icon-linux.png
+%%DATADIR%%/shaders/compiled_drawing.vertex
+%%DATADIR%%/shaders/compiled_line.fragment
 %%DATADIR%%/shaders/custom_colors.fragment
 %%DATADIR%%/shaders/dark_mode.fragment
 %%DATADIR%%/shaders/debug.fragment
+%%DATADIR%%/shaders/dot.fragment
+%%DATADIR%%/shaders/dot.vertex
 %%DATADIR%%/shaders/highlight.fragment
+%%DATADIR%%/shaders/line.fragment
+%%DATADIR%%/shaders/line.vertex
 %%DATADIR%%/shaders/separator.fragment
 %%DATADIR%%/shaders/simple.fragment
 %%DATADIR%%/shaders/simple.vertex
+%%DATADIR%%/shaders/simple_transparent.fragment
 %%DATADIR%%/shaders/stencil.fragment
 %%DATADIR%%/shaders/stencil.vertex
 %%DATADIR%%/shaders/undendered_page.fragment