pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/print/mupdf



Module Name:    pkgsrc
Committed By:   vins
Date:           Thu Sep  7 14:36:54 UTC 2023

Modified Files:
        pkgsrc/print/mupdf: Makefile PLIST distinfo options.mk
        pkgsrc/print/mupdf/patches: patch-ab patch-ac
Added Files:
        pkgsrc/print/mupdf/files: mupdf.desktop mupdf.xpm
        pkgsrc/print/mupdf/patches: patch-docs_man_mupdf.1
            patch-platform_x11_curl__stream.c patch-platform_x11_pdfapp.c
            patch-source_helpers_pkcs7_pkcs7-openssl.c
Removed Files:
        pkgsrc/print/mupdf/patches: patch-scripts_hexdump.sh

Log Message:
print/mupdf: update to MuPDF 1.23.3

# Changes (local)

  * Import patch from OpenBSD ports, adding support for fine-grained zoom.
  * Fix scrolling with vi-like bindings (from FreeBSD ports).
  * Use REPLACE_INTERPRETER instead of an ad-hoc patch.
  * Don't install html documentation (turn it into an option in future?)
  * Provide .desktop application file and pixmap for mupdf.
  * Avoid executable bit being set on static libs.
  * Other minor fixes.
  * Package linted.

# Changes (upstream)

## 1.23.3 (2023-09-05)

  * Fix bug where an inconsistent xref caused problems when saving PDF.

## 1.23.2 (2023-08-31)

  * Fixes needed to allow tesseract builds in C++/Python bindings.

## 1.23.1 (2023-08-29)

  * Fix bug where implicit operations where not ended when creating
    signature widget annotations.
  * Fix bug where saving an encrypted PDF requiring encryption could
    cause an invalid saved file.
  * Fix bug where ink annotation line caps adhered to rendering in older
    Adobe Acrobat Reader.
  * Fix compilation issue of shared library used in pythong bindings.

## 1.23.0 (2023-08-22)

 New features:

  * New WASM library with same API as mutool run and Java, for both
    browser and Node environments.
  * Support CropBox, TrimBox, BleedBox, and ArtBox in PDF tools and
    viewers.
  * PhotoShop PSD image support.
  * mupdf-gl: Custom ICC display profile support.
  * mutool poster: Option to split in RTL direction.

 Miscellaneous improvements and notable bug fixes:

  * EPUB: Fix table cell height calculations.
  * EPUB: Inherit table cell background color from table row.
  * EPUB: Support files with partial encryption (only read unencrypted
    parts).
  * EPUB: Support files with incorrect directory prefixes.
  * TIFF: Stability improvements.
  * MOBI: Stability improvements.
  * PDF: Support old style border dash patterns.
  * PDF: Support GoToR links to remote PDF documents.
  * PDF: Improve link parsing and creation.
  * ZIP: Improve unicode file name handling.
  * Fall back to unhinted fonts if hints are broken.
  * Recognize document types by sniffing contents (don't need to rely on
    mimetype or file extension).

 New APIs:

  * More PDF document permission flags.
  * Tweaked exception error logging.
  * pdf_minimize_document to squeeze amount of memory used by an open
    document.

 Incompatible API changes:

  * pdf_field_name renamed to pdf_load_field_name.
  * mutool run: Changed many methods to match Java and new WASM library.

 New and improved documentation.


To generate a diff of this commit:
cvs rdiff -u -r1.107 -r1.108 pkgsrc/print/mupdf/Makefile
cvs rdiff -u -r1.26 -r1.27 pkgsrc/print/mupdf/PLIST
cvs rdiff -u -r1.68 -r1.69 pkgsrc/print/mupdf/distinfo
cvs rdiff -u -r1.12 -r1.13 pkgsrc/print/mupdf/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/print/mupdf/files/mupdf.desktop \
    pkgsrc/print/mupdf/files/mupdf.xpm
cvs rdiff -u -r1.27 -r1.28 pkgsrc/print/mupdf/patches/patch-ab
cvs rdiff -u -r1.30 -r1.31 pkgsrc/print/mupdf/patches/patch-ac
cvs rdiff -u -r0 -r1.1 pkgsrc/print/mupdf/patches/patch-docs_man_mupdf.1 \
    pkgsrc/print/mupdf/patches/patch-platform_x11_curl__stream.c \
    pkgsrc/print/mupdf/patches/patch-source_helpers_pkcs7_pkcs7-openssl.c
cvs rdiff -u -r0 -r1.3 pkgsrc/print/mupdf/patches/patch-platform_x11_pdfapp.c
cvs rdiff -u -r1.1 -r0 pkgsrc/print/mupdf/patches/patch-scripts_hexdump.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/print/mupdf/Makefile
diff -u pkgsrc/print/mupdf/Makefile:1.107 pkgsrc/print/mupdf/Makefile:1.108
--- pkgsrc/print/mupdf/Makefile:1.107   Thu Aug  3 14:16:22 2023
+++ pkgsrc/print/mupdf/Makefile Thu Sep  7 14:36:54 2023
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.107 2023/08/03 14:16:22 ryoon Exp $
+# $NetBSD: Makefile,v 1.108 2023/09/07 14:36:54 vins Exp $
 
-DISTNAME=      mupdf-1.22.2-source
+DISTNAME=      mupdf-1.23.3-source
 PKGNAME=       ${DISTNAME:S/-source//}
-PKGREVISION=   1
 CATEGORIES=    print
 MASTER_SITES=  https://mupdf.com/downloads/archive/
 
@@ -11,7 +10,7 @@ HOMEPAGE=     https://mupdf.com/
 COMMENT=       Lightweight PDF, XPS and E-book viewer and toolkit
 LICENSE=       gnu-agpl-v3
 
-USE_LANGUAGES= c99 c++
+USE_LANGUAGES= c99 c++11
 USE_TOOLS+=    pkg-config gmake
 
 INSTALLATION_DIRS+=    bin include lib/pkgconfig
@@ -20,6 +19,7 @@ INSTALL_MAKE_FLAGS+=  mandir=${PREFIX}/${
 LDFLAGS+=              ${COMPILER_RPATH_FLAG}${X11BASE}/lib
 MAKE_FLAGS+=           LDFLAGS=${LDFLAGS:Q}
 MAKE_FLAGS+=           XCFLAGS=${CFLAGS:Q}
+MAKE_FLAGS+=           XLIBS=${LIBS:Q}
 MAKE_FLAGS+=           build=release
 MAKE_FLAGS+=           USE_SYSTEM_LIBS=yes
 MAKE_FLAGS+=           USE_SYSTEM_MUJS=yes
@@ -28,12 +28,19 @@ CFLAGS.SunOS+=      -D_XOPEN_SOURCE=600
 
 .include "options.mk"
 
+REPLACE_INTERPRETER+=  shell
+REPLACE.shell.old=     .*/bin/bash
+REPLACE.shell.new=     ${SH}
+REPLACE_FILES.shell+=  scripts/hexdump.sh
+
+INSTALLATION_DIRS+=    share/pixmaps share/applications
+
 # Remove thirdparty directory in order to use the libraries provided by pkgsrc
 # thirdparty/lcms2 is not removed intentionally because ICC support requires
 # the internal lcms2 library. ICC support is essential to display some PDF
 # files with proper colors.
-ppost-extract:
-       ${RM} -fr \
+post-extract:
+       ${RUN}${RM} -fr \
            ${WRKSRC}/thirdparty/curl \
            ${WRKSRC}/thirdparty/freeglut \
            ${WRKSRC}/thirdparty/freetype \
@@ -48,13 +55,20 @@ ppost-extract:
            ${WRKSRC}/thirdparty/zlib
 
 post-build:
-       sed -e "s,@PREFIX@,${PREFIX}," -e "s,@VERSION@,${PKGVERSION_NOREV}," \
+       ${RUN}${SED} -e "s,@PREFIX@,${PREFIX}," -e "s,@VERSION@,${PKGVERSION_NOREV}," \
             ${FILESDIR}/mupdf.pc > ${WRKSRC}/mupdf.pc
 
 post-install:
        ${INSTALL_DATA} ${WRKSRC}/mupdf.pc ${DESTDIR}${PREFIX}/lib/pkgconfig
+       ${INSTALL_DATA} ${FILESDIR}/mupdf.desktop ${DESTDIR}${PREFIX}/share/applications
+       ${INSTALL_DATA} ${FILESDIR}/mupdf.xpm ${DESTDIR}${PREFIX}/share/pixmaps
        ${MV} ${DESTDIR}${PREFIX}/bin/mupdf-x11 ${DESTDIR}${PREFIX}/bin/mupdf
+# do not toggle executable bit on static libs.
+.for i in libmupdf libmupdf-third
+       ${RUN}${CHMOD} -x ${DESTDIR}${PREFIX}/lib/${i}.a
+.endfor
 
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
 BUILDLINK_API_DEPENDS.zlib+=   zlib>=1.2.7
 .include "../../devel/zlib/buildlink3.mk"
 .include "../../fonts/harfbuzz/buildlink3.mk"

Index: pkgsrc/print/mupdf/PLIST
diff -u pkgsrc/print/mupdf/PLIST:1.26 pkgsrc/print/mupdf/PLIST:1.27
--- pkgsrc/print/mupdf/PLIST:1.26       Wed Jul 19 14:46:38 2023
+++ pkgsrc/print/mupdf/PLIST    Thu Sep  7 14:36:54 2023
@@ -1,7 +1,7 @@
-@comment $NetBSD: PLIST,v 1.26 2023/07/19 14:46:38 vins Exp $
+@comment $NetBSD: PLIST,v 1.27 2023/09/07 14:36:54 vins Exp $
 bin/mupdf
-${PLIST.curl}bin/mupdf-x11-curl
 ${PLIST.opengl}bin/mupdf-gl
+${PLIST.curl}bin/mupdf-x11-curl
 bin/muraster
 bin/mutool
 include/mupdf/fitz.h
@@ -79,17 +79,10 @@ lib/libmupdf.a
 lib/pkgconfig/mupdf.pc
 man/man1/mupdf.1
 man/man1/mutool.1
+share/applications/mupdf.desktop
 share/doc/mupdf/CHANGES
 share/doc/mupdf/COPYING
 share/doc/mupdf/README
-share/doc/mupdf/android-library.html
-share/doc/mupdf/artifex-logo.png
-share/doc/mupdf/building.html
-share/doc/mupdf/coding-overview.html
-share/doc/mupdf/coding-progressive.html
-share/doc/mupdf/coding-style.html
-share/doc/mupdf/ecosystem.css
-share/doc/mupdf/ecosystem.html
 share/doc/mupdf/examples/SnarkFront.svg
 share/doc/mupdf/examples/bbox-device.js
 share/doc/mupdf/examples/create-thumbnail.js
@@ -110,23 +103,4 @@ share/doc/mupdf/examples/pdf-trace.js
 share/doc/mupdf/examples/storytest.c
 share/doc/mupdf/examples/storytest.js
 share/doc/mupdf/examples/trace-device.js
-share/doc/mupdf/index.html
-share/doc/mupdf/library.html
-share/doc/mupdf/manual-mupdf-gl.html
-share/doc/mupdf/manual-mutool-clean.html
-share/doc/mupdf/manual-mutool-convert.html
-share/doc/mupdf/manual-mutool-create.html
-share/doc/mupdf/manual-mutool-draw.html
-share/doc/mupdf/manual-mutool-extract.html
-share/doc/mupdf/manual-mutool-info.html
-share/doc/mupdf/manual-mutool-merge.html
-share/doc/mupdf/manual-mutool-pages.html
-share/doc/mupdf/manual-mutool-poster.html
-share/doc/mupdf/manual-mutool-run.html
-share/doc/mupdf/manual-mutool-show.html
-share/doc/mupdf/manual-mutool-sign.html
-share/doc/mupdf/manual-mutool-trace.html
-share/doc/mupdf/mutool.html
-share/doc/mupdf/style.css
-share/doc/mupdf/thirdparty.html
-share/doc/mupdf/viewers.html
+share/pixmaps/mupdf.xpm

Index: pkgsrc/print/mupdf/distinfo
diff -u pkgsrc/print/mupdf/distinfo:1.68 pkgsrc/print/mupdf/distinfo:1.69
--- pkgsrc/print/mupdf/distinfo:1.68    Thu Aug  3 03:57:28 2023
+++ pkgsrc/print/mupdf/distinfo Thu Sep  7 14:36:54 2023
@@ -1,12 +1,15 @@
-$NetBSD: distinfo,v 1.68 2023/08/03 03:57:28 ryoon Exp $
+$NetBSD: distinfo,v 1.69 2023/09/07 14:36:54 vins Exp $
 
-BLAKE2s (mupdf-1.22.2-source.tar.gz) = 08b3154c05b4d7f2add872278f1f53b2fdafbf4b1546c21e04c50f4a47b713b9
-SHA512 (mupdf-1.22.2-source.tar.gz) = 1f2e1c8caab49fcc1fe9d3f2bc994d36c77166a8f424311fb8dd8cfdc18b279d85f2cec52966cdce84a0488465b50eadf9f26f22dda06cb9de6127096458b3b9
-Size (mupdf-1.22.2-source.tar.gz) = 57541621 bytes
+BLAKE2s (mupdf-1.23.3-source.tar.gz) = 8b4358ea917f4e068a56d4565bb1d0c342518854ea446b219a02df852d813094
+SHA512 (mupdf-1.23.3-source.tar.gz) = 37fbebd07680d79a38d289264a4028396ee58fad52c541efa37463e63a45ed8bab71188d6c05eb15e602964d89ee6633575dceb972f7bd8b0b5efdde5af9b737
+Size (mupdf-1.23.3-source.tar.gz) = 55144800 bytes
 SHA1 (patch-Makelists) = 714157e21b2b609ac4f0adacc73c3e3a2156640a
-SHA1 (patch-ab) = 8637625e231bcb313a60c6841ab2fc5107cf2af4
-SHA1 (patch-ac) = b66ee5026bebec1fc428b847de6672e8d90b7e16
+SHA1 (patch-ab) = 548361a64a7ef6777e60e48a2653120034a35338
+SHA1 (patch-ac) = 2377fe83c6ff3b976a20a912087694fcfe0e9168
 SHA1 (patch-ae) = c6b113818b32cb4470e8549c00a16e0b2f364ede
+SHA1 (patch-docs_man_mupdf.1) = c2a2c1ad283428168a714adb634aa50cdd6a4aba
 SHA1 (patch-platform_gl_gl-app.h) = 1e915249010acd3ff1343f0607e785d06577fe78
-SHA1 (patch-scripts_hexdump.sh) = 1f1299e24ffa5e6bf040f73b75dc49dd6f5272c4
+SHA1 (patch-platform_x11_curl__stream.c) = eb895282ca99daf49cffa6d9a5f04009e295993b
+SHA1 (patch-platform_x11_pdfapp.c) = 33b53c845c6778614e4384a783a34d00b6814e74
 SHA1 (patch-source_fitz_load-jpx.c) = 8d7f58168c8429a82127b821387298341a1fcbfb
+SHA1 (patch-source_helpers_pkcs7_pkcs7-openssl.c) = f3e949de8bdfc55e2da402a5bc59b4baf04b0d55

Index: pkgsrc/print/mupdf/options.mk
diff -u pkgsrc/print/mupdf/options.mk:1.12 pkgsrc/print/mupdf/options.mk:1.13
--- pkgsrc/print/mupdf/options.mk:1.12  Wed Jul 19 14:46:38 2023
+++ pkgsrc/print/mupdf/options.mk       Thu Sep  7 14:36:54 2023
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.12 2023/07/19 14:46:38 vins Exp $
+# $NetBSD: options.mk,v 1.13 2023/09/07 14:36:54 vins Exp $
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.mupdf
 PKG_SUPPORTED_OPTIONS= curl opengl
@@ -18,6 +18,7 @@ PLIST_VARS+=          curl opengl
 #
 .if !empty(PKG_OPTIONS:Mcurl)
 PLIST.curl=    yes
+.include "../../security/openssl/buildlink3.mk"        #-lcrypto
 .include "../../www/curl/buildlink3.mk"
 .endif
 

Index: pkgsrc/print/mupdf/patches/patch-ab
diff -u pkgsrc/print/mupdf/patches/patch-ab:1.27 pkgsrc/print/mupdf/patches/patch-ab:1.28
--- pkgsrc/print/mupdf/patches/patch-ab:1.27    Thu Aug  3 03:57:28 2023
+++ pkgsrc/print/mupdf/patches/patch-ab Thu Sep  7 14:36:54 2023
@@ -1,4 +1,4 @@
-$NetBSD: patch-ab,v 1.27 2023/08/03 03:57:28 ryoon Exp $
+$NetBSD: patch-ab,v 1.28 2023/09/07 14:36:54 vins Exp $
 
 - Handle the various operating systems in the same way avoiding hardcoding
 - Avoid to use objcopy by setting HAVE_OBJCOPY to no (if `yes', and with
@@ -10,9 +10,9 @@ $NetBSD: patch-ab,v 1.27 2023/08/03 03:5
 - Avoid internal version of freeglut and try to pick it up via pkg-config and
   set SYS_GLUT_{CFLAGS,LIBS} accordingly.
 
---- Makerules.orig     2022-06-14 12:19:22.000000000 +0000
+--- Makerules.orig     2023-09-05 11:51:19.000000000 +0000
 +++ Makerules
-@@ -27,30 +27,6 @@ endif
+@@ -42,30 +42,6 @@ endif
  
  # System specific features
  
@@ -43,7 +43,7 @@ $NetBSD: patch-ab,v 1.27 2023/08/03 03:5
  SANITIZE_FLAGS += -fsanitize=address
  SANITIZE_FLAGS += -fsanitize=leak
  
-@@ -133,103 +109,79 @@ ifneq "$(CLUSTER)" ""
+@@ -154,41 +130,7 @@ ifneq "$(CLUSTER)" ""
    CFLAGS += -DCLUSTER
  endif
  
@@ -60,7 +60,10 @@ $NetBSD: patch-ab,v 1.27 2023/08/03 03:5
 -  LD = xcrun ld
 -  RANLIB = xcrun ranlib
 -
--  ifeq (, $(shell which pkg-config))
+-  ifneq ($(ARCHFLAGS),)
+-    $(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.")
+-    HAVE_LIBCRYPTO := no
+-  else ifeq (, $(shell which pkg-config))
 -    $(warning "No pkg-config found, install it for proper integration of libcrypto")
 -  else
 -    HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
@@ -69,120 +72,41 @@ $NetBSD: patch-ab,v 1.27 2023/08/03 03:5
 -        LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
 -    endif
 -  endif
-+HAVE_OBJCOPY := no
- 
--else ifeq ($(OS),Linux)
--  HAVE_OBJCOPY := yes
 -
--  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
-+ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
-       SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
-       SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
--  endif
--  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
-+endif
-+ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
-       SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
-       SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
--  endif
--  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
-+endif
-+ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
-       SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
-       SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
--  endif
--  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
-+endif
-+ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
-       SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
-       SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
--  endif
--  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
-+else
-+      #CFLAGS += -DFZ_ENABLE_ICC=0
-+endif
-+ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
-       SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
-       SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
--  endif
--  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
-+endif
-+ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
-       SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
-       SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
--  endif
--  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
-+endif
-+ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
-       SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
-       SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
--  endif
-+endif
- 
--  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
--  ifeq ($(HAVE_SYS_LEPTONICA),yes)
-+HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
-+ifeq ($(HAVE_SYS_LEPTONICA),yes)
-       SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
-       SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
--  endif
-+endif
- 
--  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
--  ifeq ($(HAVE_SYS_TESSERACT),yes)
-+HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
-+ifeq ($(HAVE_SYS_TESSERACT),yes)
-       SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
-       SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
+-else ifeq ($(OS),Linux)
+-  ifeq ($(PYODIDE_ROOT),)
+-    HAVE_OBJCOPY := yes
+-  else
+-    # Pyodide's ld does not support -b so we cannot use it to create object
+-    # files containing font data, so leave HAVE_OBJCOPY unset. And we need
+-    # extra memory when linking.
+-    LDFLAGS += -sTOTAL_MEMORY=48MB
 -  endif
-+endif
++HAVE_OBJCOPY := no
  
--  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
--  ifeq ($(HAVE_SYS_CURL),yes)
-+HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
-+ifeq ($(HAVE_SYS_CURL),yes)
-       SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
+   ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
+       SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+@@ -237,10 +179,10 @@ else ifeq ($(OS),Linux)
        SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
--  endif
-+endif
+   endif
  
 -  HAVE_GLUT := yes
 -  ifeq ($(HAVE_GLUT),yes)
 -      SYS_GLUT_CFLAGS :=
 -      SYS_GLUT_LIBS := -lglut -lGL
--  endif
-+HAVE_GLUT := $(shell pkg-config --exists glut && echo yes)
-+ifeq ($(shell pkg-config --exists glut && echo yes),yes)
++  HAVE_GLUT := $(shell pkg-config --exists glut && echo yes)
++  ifeq ($(shell pkg-config --exists glut && echo yes),yes)
 +      SYS_GLUT_CFLAGS := $(shell pkg-config --cflags glut)
 +      SYS_GLUT_LIBS := $(shell pkg-config --libs glut)
-+endif
- 
--  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
--  ifeq ($(HAVE_X11),yes)
-+HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
-+ifeq ($(HAVE_X11),yes)
-       X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
-       X11_LIBS := $(shell pkg-config --libs x11 xext)
--  endif
-+endif
+   endif
  
--  HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
--  ifeq ($(HAVE_LIBCRYPTO),yes)
-+HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
-+ifeq ($(HAVE_LIBCRYPTO),yes)
-       LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
-       LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
--  endif
-+endif
- 
--  HAVE_PTHREAD := yes
--  ifeq ($(HAVE_PTHREAD),yes)
-+HAVE_PTHREAD := yes
-+ifeq ($(HAVE_PTHREAD),yes)
-       PTHREAD_CFLAGS :=
+   HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
+@@ -263,8 +205,6 @@ else ifeq ($(OS),Linux)
        PTHREAD_LIBS := -lpthread
--  endif
--
- endif
+   endif
  
+-endif
+-
  # The following section has various cross compilation configurations.
+ #
+ # Invoke these as:

Index: pkgsrc/print/mupdf/patches/patch-ac
diff -u pkgsrc/print/mupdf/patches/patch-ac:1.30 pkgsrc/print/mupdf/patches/patch-ac:1.31
--- pkgsrc/print/mupdf/patches/patch-ac:1.30    Sat Apr 29 08:17:53 2023
+++ pkgsrc/print/mupdf/patches/patch-ac Thu Sep  7 14:36:54 2023
@@ -1,12 +1,12 @@
-$NetBSD: patch-ac,v 1.30 2023/04/29 08:17:53 wiz Exp $
+$NetBSD: patch-ac,v 1.31 2023/09/07 14:36:54 vins Exp $
 
 - Install target cleanup
 - Also install muthreads and mupkcs7 libraries (needed by various tools)
 - Use sh instead of bash
 
---- Makefile.orig      2022-06-14 12:19:22.000000000 +0000
+--- Makefile.orig      2023-09-05 11:51:19.000000000 +0000
 +++ Makefile
-@@ -181,19 +181,19 @@ FONT_BIN += $(sort $(wildcard resources/
+@@ -214,10 +214,10 @@ endif
  
  FONT_GEN := $(FONT_BIN:%=generated/%.c)
  
@@ -21,16 +21,7 @@ $NetBSD: patch-ac,v 1.30 2023/04/29 08:1
  
  ifeq ($(HAVE_OBJCOPY),yes)
    MUPDF_OBJ += $(FONT_BIN:%=$(OUT)/%.o)
-   $(OUT)/%.cff.o : %.cff ; $(OBJCOPY_CMD)
-   $(OUT)/%.otf.o : %.otf ; $(OBJCOPY_CMD)
-   $(OUT)/%.ttf.o : %.ttf ; $(OBJCOPY_CMD)
-   $(OUT)/%.ttc.o : %.ttc ; $(OBJCOPY_CMD)
- else
-   MUPDF_OBJ += $(FONT_GEN:%.c=$(OUT)/%.o)
- endif
- 
- generate: $(FONT_GEN)
-@@ -402,30 +402,34 @@ tools: $(TOOL_APPS)
+@@ -440,29 +440,35 @@ tools: $(TOOL_APPS)
  apps: $(TOOL_APPS) $(VIEW_APPS)
  
  install-libs: libs
@@ -53,6 +44,7 @@ $NetBSD: patch-ac,v 1.30 2023/04/29 08:1
 +      for f in $(LIBS_TO_INSTALL_IN_LIB); do \
 +              ${BSD_INSTALL_LIB} $$f $(DESTDIR)$(libdir); \
 +      done
++
  endif
  
  install-apps: apps
@@ -68,17 +60,16 @@ $NetBSD: patch-ac,v 1.30 2023/04/29 08:1
 -      install -m 644 docs/man/*.1 $(DESTDIR)$(mandir)/man1
 +      ${BSD_INSTALL_MAN_DIR} $(DESTDIR)$(mandir)/man1
 +      ${BSD_INSTALL_MAN} docs/man/*.1 $(DESTDIR)$(mandir)/man1
++
++      ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)
++      ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)/examples
++      ${BSD_INSTALL_DATA} README COPYING CHANGES $(DESTDIR)$(docdir)
++      ${BSD_INSTALL_DATA} docs/examples/* $(DESTDIR)$(docdir)/examples
  
 -      install -d $(DESTDIR)$(docdir)
 -      install -d $(DESTDIR)$(docdir)/examples
 -      install -m 644 README COPYING CHANGES $(DESTDIR)$(docdir)
--      install -m 644 docs/*.html docs/*.css docs/*.png $(DESTDIR)$(docdir)
 -      install -m 644 docs/examples/* $(DESTDIR)$(docdir)/examples
-+      ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)
-+      ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)/examples
-+      ${BSD_INSTALL_DATA} README COPYING CHANGES $(DESTDIR)$(docdir)
-+      ${BSD_INSTALL_DATA} docs/*.html docs/*.css docs/*.png $(DESTDIR)$(docdir)
-+      ${BSD_INSTALL_DATA} docs/examples/* $(DESTDIR)$(docdir)/examples
  
  install: install-libs install-apps install-docs
  

Added files:

Index: pkgsrc/print/mupdf/files/mupdf.desktop
diff -u /dev/null pkgsrc/print/mupdf/files/mupdf.desktop:1.1
--- /dev/null   Thu Sep  7 14:36:54 2023
+++ pkgsrc/print/mupdf/files/mupdf.desktop      Thu Sep  7 14:36:54 2023
@@ -0,0 +1,16 @@
+[Desktop Entry]
+Name=MuPDF
+GenericName=PDF file viewer
+Exec=mupdf %f
+TryExec=mupdf
+Icon=mupdf
+Terminal=false
+Type=Application
+MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;image/jpeg;image/pjpeg;image/png;image/tiff;image/x-tiff
+Categories=Viewer;Graphics;
+Actions=View
+NoDisplay=true
+
+[Desktop Action View]
+Name=View with mupdf
+Exec=mupdf %f
Index: pkgsrc/print/mupdf/files/mupdf.xpm
diff -u /dev/null pkgsrc/print/mupdf/files/mupdf.xpm:1.1
--- /dev/null   Thu Sep  7 14:36:54 2023
+++ pkgsrc/print/mupdf/files/mupdf.xpm  Thu Sep  7 14:36:54 2023
@@ -0,0 +1,497 @@
+/* XPM */
+static char *mupdf[] = {
+/* width height ncolors chars_per_pixel */
+"48 48 442 2",
+/* colors */
+"   c #000000",
+" . c #2E4558",
+" X c #252121",
+" o c #AFAFAF",
+" O c #28313B",
+" + c #231F1F",
+" @ c #686666",
+" # c #98BDD7",
+" $ c #201B1C",
+" % c #7CABCC",
+" & c #4487B6",
+" * c #DFDEDE",
+" = c #4285B4",
+" - c #615E5F",
+" ; c #605E5E",
+" : c #23262C",
+" > c #D9D8D8",
+" , c #F7FAFC",
+" < c #D7D6D6",
+" 1 c #BFD6E6",
+" 2 c #6BA0C5",
+" 3 c #232122",
+" 4 c #555253",
+" 5 c #CDCCCC",
+" 6 c #E7EFF6",
+" 7 c #4786B2",
+" 8 c #CADDEA",
+" 9 c #4085B5",
+" 0 c #AECBDF",
+" q c #CBCACA",
+" w c #92B9D4",
+" e c #365F7D",
+" r c #5A95BE",
+" t c #3E83B3",
+" y c #304B60",
+" u c #C7C6C6",
+" i c #4D8EBB",
+" p c #F1F6F9",
+" a c #C1C0C0",
+" s c #454243",
+" d c #669CC3",
+" f c #81AECD",
+" g c #7A7777",
+" h c #434041",
+" j c #3E779F",
+" k c #272E36",
+" l c #413E3F",
+" z c #3F3C3D",
+" x c #5895BF",
+" c c #3D3A3B",
+" v c #C6DBE9",
+" b c #B8B6B7",
+" n c #4282B0",
+" m c #FDFDFE",
+" M c #B7B6B6",
+" N c #8DB5D2",
+" B c #242529",
+" V c #B3B2B2",
+" C c #222327",
+" Z c #B0AEAF",
+" A c #EDF4F8",
+" S c #686565",
+" D c #488AB9",
+" F c #9ABED8",
+" G c #7EACCD",
+" H c #ECF2F7",
+" J c #211C1C",
+" K c #666363",
+" L c #F1F1F2",
+" P c #ABAAAA",
+" I c #4588B6",
+" U c #A9A8A8",
+" Y c #2D2A2B",
+" T c #A7A6A6",
+" R c #615D5E",
+" E c #2B2829",
+" W c #8DB7D5",
+" Q c #F9FBFD",
+" ! c #DDE9F2",
+" ~ c #F8FBFC",
+" ^ c #DCE9F1",
+" / c #A5C5DC",
+" ( c #89B3D1",
+" ) c #5C5959",
+" _ c #A4C5DB",
+" ` c #335A76",
+" ' c #518FBB",
+" ] c #E6E7E7",
+" [ c #5A5757",
+" { c #232021",
+" } c #33536C",
+" | c #98BED9",
+".  c #E0E1E1",
+".. c #7CACCE",
+".X c #4488B8",
+".o c #2D3F4F",
+".O c #999898",
+".+ c #4388B7",
+".@ c #5E98C1",
+".# c #CDCDCB",
+".$ c #524F4F",
+".% c #B0CCE0",
+".& c #979696",
+".* c #78A8CA",
+".= c #5C96BF",
+".- c #969495",
+".; c #4084B4",
+".: c #252930",
+".> c #949293",
+"., c #929091",
+".< c #417FAB",
+".1 c #4F8FBC",
+".2 c #F3F7FA",
+".3 c #D3D3D4",
+".4 c #D7E5EF",
+".5 c #222023",
+".6 c #9FC1D9",
+".7 c #679DC3",
+".8 c #37678A",
+".9 c #4B8BB8",
+".0 c #3E769E",
+".q c #3C749C",
+".w c #403D3D",
+".e c #92BAD6",
+".r c #C8DCEA",
+".t c #FEFEFE",
+".y c #3D393A",
+".u c #3B3738",
+".i c #355974",
+".p c #353132",
+".a c #7A7879",
+".s c #498BB9",
+".d c #9BBFD8",
+".f c #4E8AB4",
+".g c #787677",
+".h c #F2F2F2",
+".j c #F0F0F0",
+".k c #2F2B2C",
+".l c #EEEEEE",
+".z c #727071",
+".x c #26282D",
+".c c #ECECEC",
+".v c #2B2728",
+".b c #FAFCFD",
+".n c #EAEAEA",
+".m c #DEEAF2",
+".M c #E9EAE9",
+".N c #C2D8E7",
+".B c #6E6C6D",
+".V c #5390BC",
+".C c #E8E8E8",
+".Z c #6EA2C6",
+".A c #272324",
+".S c #E7E6E7",
+".D c #E6E6E6",
+".F c #252122",
+".G c #29333D",
+".H c #E4E4E4",
+".J c #3F7AA5",
+".K c #231F20",
+".L c #E2E2E2",
+".P c #211D1E",
+".I c #E0E0E0",
+".U c #EAF1F7",
+".Y c #6099C2",
+".T c #1F1B1C",
+".R c #E9F1F6",
+".E c #CDDFEB",
+".W c #4387B6",
+".Q c #96BBD6",
+".! c #B1CDE0",
+".~ c #DEDEDE",
+".^ c #79A9CA",
+"./ c #4285B5",
+".( c #272A31",
+".) c #5D97BF",
+"._ c #4185B4",
+".` c #DCDCDC",
+".' c #959393",
+".] c #DADADA",
+".[ c #314B5F",
+".{ c #D8D8D8",
+".} c #D7D8D7",
+".| c #D6D6D6",
+"X  c #F5F8FB",
+"X. c #D4D4D4",
+"XX c #6AA0C5",
+"Xo c #BDD4E5",
+"XO c #3A6A8C",
+"X+ c #232123",
+"X@ c #D3D4D3",
+"X# c #D2D2D2",
+"X$ c #D0D0D0",
+"X% c #CECECE",
+"X& c #CCCCCC",
+"X* c #CADDEB",
+"X= c #37617F",
+"X- c #242A31",
+"X; c #CACACA",
+"X: c #C8DBE9",
+"X> c #90B7D3",
+"X, c #817F7F",
+"X< c #3F7EAB",
+"X1 c #548FB9",
+"X2 c #355873",
+"X3 c #7D7B7B",
+"X4 c #C2C2C2",
+"X5 c #4B8CBA",
+"X6 c #C0C0C0",
+"X7 c #D4E4EE",
+"X8 c #81AECE",
+"X9 c #659CC3",
+"X0 c #787576",
+"Xq c #4788B6",
+"Xw c #252C35",
+"Xe c #757373",
+"Xr c #BABABA",
+"Xt c #FCFDFE",
+"Xy c #B6B6B6",
+"Xu c #C4D9E8",
+"Xi c #706D6E",
+"Xp c #8CB5D2",
+"Xa c #70A3C7",
+"Xs c #8BB5D1",
+"Xd c #5491BC",
+"Xf c #5391BB",
+"Xg c #282424",
+"Xh c #272223",
+"Xj c #6C696A",
+"Xk c #2F4659",
+"Xl c #6B6969",
+"Xz c #407BA5",
+"Xx c #6A6768",
+"Xc c #E4E3E3",
+"Xv c #3E79A3",
+"Xb c #231E1F",
+"Xn c #221E1E",
+"Xm c #E2E1E1",
+"XM c #211C1D",
+"XN c #EBF2F7",
+"XB c #201C1C",
+"XV c #CFE0EC",
+"XC c #4588B7",
+"XZ c #B3CEE1",
+"XA c #366384",
+"XS c #5F98C0",
+"XD c #4386B5",
+"XF c #DEDDDD",
+"XG c #2B3D4B",
+"XH c #615F5F",
+"XJ c #5F5D5D",
+"XK c #5E5B5C",
+"XL c #DCE9F2",
+"XP c #407DA8",
+"XI c #86B1CF",
+"XU c #D4D3D3",
+"XY c #3A698B",
+"XT c #3E7BA6",
+"XR c #232022",
+"XE c #545152",
+"XW c #999899",
+"XQ c #79AACC",
+"X! c #524F50",
+"X~ c #CCCDCB",
+"X^ c #3D749B",
+"X/ c #93BAD5",
+"X( c #77A8CA",
+"X) c #37607E",
+"X_ c #5B96BF",
+"X` c #3F84B4",
+"X' c #CAC9C9",
+"X] c #C6C5C5",
+"X[ c #3F7DAA",
+"X{ c #F2F7FA",
+"X} c #C2C1C1",
+"X| c #212023",
+"o  c #9EC1D9",
+"o. c #444142",
+"oX c #3F78A0",
+"oo c #90B8D5",
+"oO c #FEFEFF",
+"o+ c #E2ECF4",
+"o@ c #2B3A47",
+"o# c #25262A",
+"o$ c #B1AFB0",
+"o% c #28313A",
+"o& c #221D1D",
+"o* c #262F38",
+"o= c #629BC2",
+"o- c #302D2E",
+"o; c #6199C1",
+"o: c #201B1B",
+"o> c #4587B6",
+"o, c #F0F0F1",
+"o< c #2D3E4C",
+"o1 c #2E2B2C",
+"o2 c #4385B4",
+"o3 c #A8A7A7",
+"o4 c #A7A5A6",
+"o5 c #3D7197",
+"o6 c #4183B2",
+"o7 c #4083B1",
+"o8 c #A5A3A4",
+"o9 c #3B6F95",
+"o0 c #5290BC",
+"oq c #A4C4DB",
+"ow c #E9F1F7",
+"oe c #4387B7",
+"or c #E7EFF5",
+"ot c #CBDDEA",
+"oy c #4185B5",
+"ou c #5B95BE",
+"oi c #3F83B3",
+"op c #939192",
+"oa c #929191",
+"os c #2B3743",
+"od c #4C4849",
+"of c #2A3742",
+"og c #F4F8FB",
+"oh c #D8E6F0",
+"oj c #4C8CB9",
+"ok c #211F22",
+"ol c #CFD0D0",
+"oz c #444041",
+"ox c #262C34",
+"oc c #413E3E",
+"ov c #403C3D",
+"ob c #3B739B",
+"on c #858384",
+"om c #FFFFFF",
+"oM c #E3EDF4",
+"oN c #5995BF",
+"oB c #3E3A3B",
+"oV c #C7DBE9",
+"oC c #2F4B61",
+"oZ c #5793BD",
+"oA c #3C3839",
+"oS c #2A3945",
+"oD c #7E7D7D",
+"oF c #345873",
+"oG c #363233",
+"oH c #7B797A",
+"oJ c #EFF4F9",
+"oK c #EEF4F8",
+"oL c #F3F3F3",
+"oP c #9ABED7",
+"oI c #4788B7",
+"oU c #629AC1",
+"oY c #ACAAAA",
+"oT c #F1F1F1",
+"oR c #EFEFEF",
+"oE c #737172",
+"oW c #EDEDED",
+"oQ c #A9C9DF",
+"o! c #FBFDFE",
+"o~ c #EBEBEB",
+"o^ c #DFEBF3",
+"o/ c #4581AB",
+"o( c #6F6D6E",
+"o) c #EAE9EA",
+"o_ c #E9E9E9",
+"o` c #C1D7E6",
+"o' c #E7E7E7",
+"o] c #E6E7E6",
+"o[ c #E5E5E5",
+"o{ c #3F7BA5",
+"o} c #242021",
+"o| c #E3E3E3",
+"O  c #3E79A4",
+"O. c #221E1F",
+"OX c #26303A",
+"Oo c #9C9A9A",
+"OO c #E1E1E1",
+"O+ c #201C1D",
+"O@ c #4488B7",
+"O# c #DFDFDF",
+"O$ c #7BAACC",
+"O% c #356384",
+"O& c #1E1A1B",
+"O* c #4386B6",
+"O= c #4286B5",
+"O- c #95BAD5",
+"O; c #DDDDDD",
+"O: c #1C1819",
+"O> c #DBDBDB",
+"O, c #D9D9D9",
+"O< c #D7D7D7",
+"O1 c #417FAA",
+"O2 c #DAE7F1",
+"O3 c #F5F9FB",
+"O4 c #D5D5D5",
+"O5 c #242224",
+"O6 c #D4D3D4",
+"O7 c #85B1CF",
+"O8 c #D3D3D3",
+"O9 c #699FC4",
+"O0 c #4D8DB9",
+"Oq c #222022",
+"Ow c #34556F",
+"Oe c #D1D1D1",
+"Or c #D0CFD0",
+"Ot c #8A8888",
+"Oy c #CFCFCF",
+"Ou c #CDCDCD",
+"Oi c #CCCDCC",
+"Op c #CADEEB",
+"Oa c #E5EEF5",
+"Os c #C9DCEA",
+"Od c #ADCADF",
+"Of c #C8DCE9",
+"Og c #91B8D4",
+"Oh c #5994BE",
+"Oj c #3D82B3",
+"Ok c #5894BD",
+"Ol c #3C82B2",
+"Oz c #4181AD",
+"Ox c #3B3737",
+"Oc c #C5C5C5",
+"Ov c #293643",
+"Ob c #3E7DAA",
+"On c #C1C1C1",
+"Om c #353131",
+"OM c #D4E3EE",
+"ON c #B8D1E3",
+"OB c #BFBFBF",
+"OV c #9CBFD8",
+"OC c #80ADCD",
+"OZ c #649BC2",
+"OA c #4889B7",
+"OS c #BDBDBD",
+"OD c #2E292A",
+"OF c #4283B1",
+"OG c #B7B7B7",
+"OH c #4183B0",
+"OJ c #5794BF",
+"OK c #A7C6DC",
+"OL c #365B77",
+"OP c #8BB4D1",
+"OI c #282324",
+"OU c #272323",
+"OY c #6C6A6A",
+"OT c None",
+/* pixels */
+"  oToToToT L.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h LoToToToT  ",
+"o,.joToToToToToToToToToToToToToToToToToToToT.h.h.h.hoToToToToToToToToToToToToToToToToToToToT.j.j",
+".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.joToLoLoR.D.~ > >.~.DoRoLoLoT.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j",
+"oRoRoRoRoRoRoRoRoRoRoRoRoRoRoRoT.hXcOBoaXjX!oz c cozX!XjoaOBXc.hoToRoRoRoRoRoRoRoRoRoRoRoRoRoRoR",
+".l.l.l.l.l.l.l.l.l.l.l.l.loR.j <.'X! Y.P.To: $ J J $o:.T.P YX!.' <.joR.l.l.l.l.l.l.l.l.l.l.l.l.l",
+".l.l.l.l.l.l.l.l.l.l.l.l.jXm.&oz + $o& 3.x OoSXGXGoS O.x 3o& $ +oz.&Xm.j.l.l.l.l.l.l.l.l.l.l.l.l",
+"oWoWoWoWoWoWoWoWoWoWoWoR uXK X $XRo% yXA.qo/.fX1X1.fo/.qXA yo%XR $ XXK uoRoWoWoWoWoWoWoWoWoWoWoW",
+".c.c.c.c.c.c.c.c.c.coW Z z $ {os eXTo0..oQX*XLoMoMXLOpoQ..o0XT eos { $ z ZoW.c.c.c.c.c.c.c.c.c.c",
+"o~o~o~o~o~o~o~o~o~.co3.p $.(X2X[OJ FOM !Of 0.d wOg.d 0Os.mOM FOJObX2.( $.po3.co~o~o~o~o~o~o~o~o~",
+".n.n.n.n.n.n.n.noW VoGXMoso9XC G.N.!.^XfXD tOjOlOlOj tXDXd.^.% 1O$O@o9osXMoG VoW.n.n.n.n.n.n.n.n",
+".n.n.n.n.n.n.n.c qo.XBo<XvX5 No oUO0 fOPXpXpXpXpXpXpXpXpOP ( NOdo^OV.sXvo<XBo. q.c.n.n.n.n.n.n.n",
+"o_o_o_o_o_o_.M.L @ $o@o{.s.^.Z & t.* ~omomomomomomomomomomomom.toO.b _ D.Jo@ $ @.Lo)o_o_o_o_o_o_",
+".C.C.C.C.C.Co~o8Xg kX^oeoZXf._XDXD 0omomomomomomomomomomomomomomomom.b #XCX^ kXgo8o~.C.C.C.C.C.C",
+"o'o'o'o'o'.CO>.$okX=oeXDo>O=XD./Xd.momomomomomomomomomomomomomom pX7.NOK 'oeX=ok.$O>.Co'o'o'o'o'",
+" ]o'o'o'.So_ TXh.o nXDXDXDXDXD.; %.bomomomomomomomomomomomomoOo`O9ojo>XDXDXD n.oXh To_ ]o'o'o'.S",
+".D.D.D.D.Do| SX|XY.+XDXDXDXDXDXDXZomomomomomomomomomomomomom.4Xd.;O=XDXDXDXD.+XYX| So|.D.D.D.D.D",
+"o[o[o[o[.D 5OxOvOzO*XDXDXDXD =oZo+omomomomomomomomomomomomomoP.;XDXDXDXDXDXDO*OzOvOx 5o]o[o[o[o[",
+".H.H.H.Ho' POU }oeXDXDXDXDXD.;X8o!omomomomomomomomomomomom.bX(.;XDXDXDXDXDXDXDoe }OU Po'.H.H.H.H",
+"o|o|o|o|.DOt.5XO.+XDXDXDXDXD &ONomomomomomomomomomomomomom.2.7._XDXDXDXDXDXDXD.+XO.5Ot.Do|o|o|o|",
+"o|o|o|o|o|Xi : j.WXDXDXDXD = rOaomomomomomomomomomomomomom AXS._XDXDXDXDXDXDXD.W j :Xio|o|o|o|o|",
+".L.L.L.L.I RXwXP.WXDXDXDXD.;XI momomomomomomomomomomomomomXN.=._XDXDXDXDXDXDXD.WXPXw R.I.L.L.L.L",
+"OOOOOOOOO; [OX.<O*XDXDXDXD IXoomomomomomomomomomomomomomom.UX_._XDXDXDXDXDXDXDO*.<OX [O;OOOOOOOO",
+".I.I.I.IO; )o*O1O*XDXDXD._.).Romomomomomog ~omomomomomomom.UX_._XDXDXDXDXDXDXDO*O1o* )O;.I.I.I.I",
+"O#O#O#O#O# KX-Xz.WXDXDXD.;XsoOomomomomom vowomomomomomomom.UX_._XDXDXDXDXDXDXD.WXzX- KO#O#O#O#O#",
+"O#O#O#O#.  g Co5oeXDXDXDXq.Nomomomomom ,X>oromomomomomomom.UX_._XDXDXDXDXDXDXDoeo5 C gOOO#O#O#O#",
+".~.~.~.~OO.- {X).XXDXD._o; HomomomomomohO9.Romomomomomomom.UX_._XDXDXDXDXDXDXD.XX) {.-OO.~.~.~.~",
+"O;O;O;O;O#XyOD .o2XDXD.;Ogomomomomomom / r.Uomomomomomomom.UX_._XDXDXDXDXDXDXDo2 .ODXyO#O;O;O;O;",
+".`.`.`.`O;Oeod.:oX.WXDOAoVomomomomomO3XaOk.Uomomomomomomom.UX_._XDXDXDXDXDXD.WoX.:odOeO;.`.`.`.`",
+"O>O>O>O>O>O;X,.POw.W._ doJomomomomomOMoj r.Uomomomomomomom.UX_._XDXDXDXDXDXD.WOw.PX,O;O>O>O>O>O>",
+"O>O>O>O>O>O;XrOmox.0 9X8Xtomomomomom.6X`ou.Uomomomomomomom.UX_._XDXDXDXDXDoe.0oxOmXrO;O>O>O>O>O>",
+".].].].].].]O,.z JXkOH.VotomomomomX{ 2oiou.Uomomomomomomom.UX_._XDO= &O0 &OFXk J.zO,.].].].].].]",
+"O,O,O,O,O,O,O>OS.yOq.i._OZ ^omomom.E.9._ou.Uomomomomomomom.UX_._._.9.ZXdO=.iOq.yOSO>O,O,O,O,O,O,",
+".{.{.{.{.{.{.{.].,.A BX)oyXXO2omom.Q.;._ou.Uomomomomomomom.UOh._ dO-X9O=X) BOI.,.].{.{.{.{.{.{.{",
+"O<O<O<O<O<O<O<.{O8o(Xno#OLo7.YXuX O7oIoiOk.Romomomomomomom HOCoqOdo=o6OLo#Xno(O8.{O<O<O<O<O<O<O<",
+"O<O<O<O<O<O<O<O<.{X'XJ.PO5.[O  iOgXVX:OVXsoKomomomomomomom.bOMX/.1O .[O5.PXJX'.{O<O<O<O<O<O<O<O<",
+".|.|.|.|.|.|.|.|.|.}X]XH.KXn.G eX<oN.e 8 6 Qomomomom.bXN.roo xX< e.GXn.KXHX].}.|.|.|.|.|.|.|.|.|",
+"O4O4O4O4O4O4O4O4O4O4O<X;Xe.vXBX+ofoFob 7.@XQ W | | WXQ.@ 7oboFofX+XB.vXeX;O<O4O4O4O4O4O4O4O4O4O4",
+"X.X.X.X.X.X.X.X.X.X.X.O4X#XW sO. J.K.xo@oC `O%.8.8O% `oCo@.x.K JO. sXWX#O4X.X.X.X.X.X.X.X.X.X.X.",
+"O8O8O8O6O8XUXUO8O8XUXUO8X..|OnX,oc.F $ Jo&XbXRO5O5XRXbo& J $.FocX,On.|X.O8XUX@X@O8.3O8O8O8O8O8X@",
+"O8O8O8O8O8O8O8O8O8O8O8O8O8O8X.X. aop ; c Eo}.PXMXM.Po} E c ;op aX.X.O8O8O8O8O8O8O8O8O8O8O8O8O8O8",
+"X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#O8O4X$X6 P.-onX3X3on.- PX6X$O4O8X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#",
+"OeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeO8X4OGOnOcOcX} MOSX#OeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOe",
+"X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$O8ono-oAov.w.u.koEX#X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$",
+"X$X$X$X$X$X$X$X$X$olX$X$X$X$X$X$X$X$X$X#oD l.>o1O+.P.T.BOeX$X$X$X$X$X$X$OrOrX$X$X$X$X$X$X$X$X$X$",
+"OyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyX#oHXEXFoBO&.TO:OYX$OyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOy",
+"X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%Oy POo.CX0 -Xx.g TOyX%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%",
+"X%X%OuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuX% oo$.h boYo4.O UX%OuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuX%X%",
+"  Ou.#OuOuOiX&X&X&X&X&X&X&X&X&X&X&X&X&Oy.a 4 * h.K.KO&XlX%X&X&X&X&X&X&X&X&X&X&X&X&X&X&OuOuX~Ou  "
+};

Index: pkgsrc/print/mupdf/patches/patch-docs_man_mupdf.1
diff -u /dev/null pkgsrc/print/mupdf/patches/patch-docs_man_mupdf.1:1.1
--- /dev/null   Thu Sep  7 14:36:54 2023
+++ pkgsrc/print/mupdf/patches/patch-docs_man_mupdf.1   Thu Sep  7 14:36:54 2023
@@ -0,0 +1,16 @@
+$NetBSD: patch-docs_man_mupdf.1,v 1.1 2023/09/07 14:36:54 vins Exp $
+
+Document fine-grained zoom function.
+
+--- docs/man/mupdf.1.orig      2023-09-05 11:51:19.000000000 +0000
++++ docs/man/mupdf.1
+@@ -94,6 +94,9 @@ Pan page left or right.
+ .TP
+ .B Control + Scroll wheel
+ Zoom in or out.
++.TP
++.B Shift + Control + Scroll wheel
++Fine grained Zoom in or out.
+ 
+ .SH KEY BINDINGS
+ 
Index: pkgsrc/print/mupdf/patches/patch-platform_x11_curl__stream.c
diff -u /dev/null pkgsrc/print/mupdf/patches/patch-platform_x11_curl__stream.c:1.1
--- /dev/null   Thu Sep  7 14:36:54 2023
+++ pkgsrc/print/mupdf/patches/patch-platform_x11_curl__stream.c        Thu Sep  7 14:36:54 2023
@@ -0,0 +1,51 @@
+$NetBSD: patch-platform_x11_curl__stream.c,v 1.1 2023/09/07 14:36:54 vins Exp $
+
+offset is ia 64-bit integer.
+
+--- platform/x11/curl_stream.c.orig    2023-09-05 11:51:19.000000000 +0000
++++ platform/x11/curl_stream.c
+@@ -397,7 +397,7 @@ static int cs_next(fz_context *ctx, fz_s
+       {
+               unlock(state);
+               if (state->data_arrived == 0)
+-                      fz_throw(ctx, err_type, "read of a block we don't have (A) (offset=%ld)", read_point);
++                      fz_throw(ctx, err_type, "read of a block we don't have (A) (offset=%lld)", read_point);
+               return EOF;
+       }
+ 
+@@ -411,7 +411,7 @@ static int cs_next(fz_context *ctx, fz_s
+               if (read_point + len > state->current_fill_start)
+               {
+                       unlock(state);
+-                      fz_throw(ctx, err_type, "read of a block we don't have (B) (offset=%ld)", read_point);
++                      fz_throw(ctx, err_type, "read of a block we don't have (B) (offset=%lld)", read_point);
+               }
+               memcpy(buf, state->buffer + read_point, len);
+               unlock(state);
+@@ -434,7 +434,7 @@ static int cs_next(fz_context *ctx, fz_s
+               {
+                       state->next_fill_start = block<<BLOCK_SHIFT;
+                       unlock(state);
+-                      fz_throw(ctx, err_type, "read of a block we don't have (C) (offset=%ld)", read_point);
++                      fz_throw(ctx, err_type, "read of a block we don't have (C) (offset=%lld)", read_point);
+               }
+               block++;
+               memcpy(buf, state->buffer + read_point, left_over);
+@@ -457,7 +457,7 @@ static int cs_next(fz_context *ctx, fz_s
+                       stream->pos += len_read;
+                       /* If we haven't fetched anything, throw. */
+                       if (len_read == 0)
+-                              fz_throw(ctx, err_type, "read of a block we don't have (D) (offset=%ld)", read_point);
++                              fz_throw(ctx, err_type, "read of a block we don't have (D) (offset=%lld)", read_point);
+                       /* Otherwise, we got at least one byte, so we can safely return that. */
+                       return *stream->rp++;
+               }
+@@ -482,7 +482,7 @@ static int cs_next(fz_context *ctx, fz_s
+                       stream->pos += len_read;
+                       /* If we haven't fetched anything, throw. */
+                       if (len_read == 0)
+-                              fz_throw(ctx, err_type, "read of a block we don't have (E) (offset=%ld)", read_point);
++                              fz_throw(ctx, err_type, "read of a block we don't have (E) (offset=%lld)", read_point);
+                       /* Otherwise, we got at least one byte, so we can safely return that. */
+                       return *stream->rp++;
+               }
Index: pkgsrc/print/mupdf/patches/patch-source_helpers_pkcs7_pkcs7-openssl.c
diff -u /dev/null pkgsrc/print/mupdf/patches/patch-source_helpers_pkcs7_pkcs7-openssl.c:1.1
--- /dev/null   Thu Sep  7 14:36:54 2023
+++ pkgsrc/print/mupdf/patches/patch-source_helpers_pkcs7_pkcs7-openssl.c       Thu Sep  7 14:36:54 2023
@@ -0,0 +1,26 @@
+$NetBSD: patch-source_helpers_pkcs7_pkcs7-openssl.c,v 1.1 2023/09/07 14:36:54 vins Exp $
+
+Add default_paths to STORE for checking signatures.
+From OpenBSD ports.
+
+--- source/helpers/pkcs7/pkcs7-openssl.c.orig  2023-09-05 11:51:19.000000000 +0000
++++ source/helpers/pkcs7/pkcs7-openssl.c
+@@ -203,7 +203,7 @@ static int stream_free(BIO *b)
+       return 1;
+ }
+ 
+-static long stream_callback_ctrl(BIO *b, int cmd, bio_info_cb *fp)
++static long stream_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
+ {
+       return 1;
+ }
+@@ -519,6 +519,9 @@ check_certificate(fz_context *ctx, pdf_p
+               }
+       }
+ 
++      /* Add default paths */
++      X509_STORE_set_default_paths(st);
++
+       res = pk7_verify_cert(st, pk7sig);
+ 
+ exit:

Index: pkgsrc/print/mupdf/patches/patch-platform_x11_pdfapp.c
diff -u /dev/null pkgsrc/print/mupdf/patches/patch-platform_x11_pdfapp.c:1.3
--- /dev/null   Thu Sep  7 14:36:54 2023
+++ pkgsrc/print/mupdf/patches/patch-platform_x11_pdfapp.c      Thu Sep  7 14:36:54 2023
@@ -0,0 +1,95 @@
+$NetBSD: patch-platform_x11_pdfapp.c,v 1.3 2023/09/07 14:36:54 vins Exp $
+
+* Implement fine-grained zoom control (from OpenBSD ports).
+* Fix up/down scrolling with vi-like keys (from FreeBSD ports).
+
+--- platform/x11/pdfapp.c.orig 2023-09-05 11:51:19.000000000 +0000
++++ platform/x11/pdfapp.c
+@@ -175,11 +175,21 @@ static void pdfapp_sleep(int ms)
+ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repaint, int transition, int searching);
+ 
+ static const int zoomlist[] = {
+-      18, 24, 36, 54, 72, 96, 120, 144, 180,
+-      216, 288, 360, 432, 504, 576, 648, 720,
+-      792, 864, 936, 1008, 1080, 1152
++      18, 21, 24, 30, 36, 44, 54, 62, 72, 83, 96, 107, 120, 131, 144, 160, 180, 197,
++      216, 250, 288, 322, 360, 394, 432, 466, 504, 538, 576, 610, 648, 682, 720, 754,
++      792, 826, 864, 898, 936, 970, 1008, 1042, 1080, 1114, 1152
+ };
+ 
++static int fine_zoom_in(int oldres)
++{
++      return oldres+1;
++}
++
++static int fine_zoom_out(int oldres)
++{
++      return oldres-1;
++}
++
+ static int zoom_in(int oldres)
+ {
+       int i;
+@@ -1538,6 +1548,8 @@ key_rewritten:
+ 
+       case 'j':
+               {
++                      if (app->pany + app->imgh <= app->winh)
++                        goto pagedown;
+                       if (app->imgh <= app->winh || app->pany <= app->winh - app->imgh)
+                       {
+                               panto = PAN_TO_TOP;
+@@ -1553,6 +1565,8 @@ key_rewritten:
+ 
+       case 'k':
+               {
++                      if (app->pany >= 0)
++                        goto pageup;
+                       if (app->imgh <= app->winh || app->pany == 0)
+                       {
+                               panto = PAN_TO_BOTTOM;
+@@ -1627,6 +1641,7 @@ key_rewritten:
+        */
+ 
+       case ',':
++              pageup:
+               panto = DONT_PAN;
+               if (app->numberlen > 0)
+                       app->pageno -= atoi(app->number);
+@@ -1635,6 +1650,7 @@ key_rewritten:
+               break;
+ 
+       case '.':
++              pagedown:
+               panto = DONT_PAN;
+               if (app->numberlen > 0)
+                       app->pageno += atoi(app->number);
+@@ -1642,6 +1658,7 @@ key_rewritten:
+                       app->pageno++;
+               break;
+ 
++      case '\b': /* backspace */
+       case 'b':
+               {
+                       int number = 1;
+@@ -1688,7 +1705,7 @@ key_rewritten:
+                               {
+                                       if (app->imgw + app->panx <= app->winw + app->imgw/20)
+                                       {
+-                                              if (app->pageno + 1 <= app->pagecount)
++                                              if (app->pageno <= app->pagecount)
+                                               {
+                                                       app->panx = 0;
+                                                       app->pany = 0;
+@@ -1800,9 +1817,9 @@ static void handlescroll(pdfapp_t *app, 
+       {
+               /* zoom in/out if ctrl is pressed */
+               if (dir > 0)
+-                      app->resolution = zoom_in(app->resolution);
++                      app->resolution = ((modifiers & (1<<0)) ? fine_zoom_in : zoom_in)(app->resolution);
+               else
+-                      app->resolution = zoom_out(app->resolution);
++                      app->resolution = ((modifiers & (1<<0)) ? fine_zoom_out : zoom_out)(app->resolution);
+               if (app->resolution > MAXRES)
+                       app->resolution = MAXRES;
+               if (app->resolution < MINRES)



Home | Main Index | Thread Index | Old Index