head 1.3; access; symbols pkgsrc-2026Q1:1.3.0.6 pkgsrc-2026Q1-base:1.3 pkgsrc-2025Q4:1.3.0.4 pkgsrc-2025Q4-base:1.3 pkgsrc-2025Q3:1.3.0.2 pkgsrc-2025Q3-base:1.3 pkgsrc-2025Q2:1.2.0.6 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.2.0.4 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.2 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.1.0.2 pkgsrc-2024Q3-base:1.1; locks; strict; comment @# @; 1.3 date 2025.08.29.09.17.06; author leot; state Exp; branches; next 1.2; commitid oDnIuFFF6BDpDB8G; 1.2 date 2024.10.22.09.34.44; author leot; state Exp; branches; next 1.1; commitid 9xkLvEsmKqscJDuF; 1.1 date 2024.08.14.05.55.32; author adam; state Exp; branches; next ; commitid 6Jr4EKtxzKjCJKlF; desc @@ 1.3 log @mupdf: Update to 1.26.7 Changes: List of changes in MuPDF 1.26 - Removed PDF linearization support: - Object labels: Write a comment before numbered objects listing the possible ways it can be reached from the document root. Enable with mutool show -L, mutool clean -L, and PDF write option "labels". Library functions pdf_load_object_labels and pdf_label_object. - Brotli compression: Experimental feature from latest PDF specification proposal. - Optional barcode support: Build with "make barcode=yes". Uses zxing-cpp (zebra crossing) C++ as a third party dependency. Adds mutool barcode sub-command. To detect barcodes in a PDF: mutool barcode -d barcode.pdf To create barcode images as PNG file: mutool barcode -c -o barcode.png -F qrcode "Hello, world!" Library functions fz_new_barcode_image and fz_decode_barcode_from_pixmap. - New Structured Text extraction passes: Paragraph Breaking: Detect paragraphs from first-line indentation and other heuristics. Table Hunt: Scan text and try to assemble it into tables with rows and columns. - New Structured Text extraction options: - allow reading raw character or glyph index when unicode is not available - collect styles to detect fake bold, underlines, strike-through, etc. - clip-rect to only extract text inside the specified area - accurate-ascenders to measure ascender data from font outline - accurate-side-bearings to measure glyph widths from font outline - CSV output format (using "Table Hunt" pass on input document). - Core library additions: JSON parser, object model, and printer. Activity logger API. Support "overlong null" characters in utf-8 (using "\xC0\x80" to represent \x00 in C strings, without being misconstrued as a string terminator). - Build system changes: Cleaned up Makefile cruft and refactored how shared libraries are built. Removed bit-rotted sections of the Makefile that have not been maintained and no longer work (primarily iOS and MinGW). Don't build example tools muraster and mupdf-x11-curl by default. These examples can be built with "make extra-apps". - Miscellaneous improvements and new behavior: Include more data in structured text XML dumps. Ignore junk at the start of a PDF file (such as PJL commands) without needing to perform a full repair pass. Support non-latin/greek/cyrillic/CJK languages in annotations and widgets (requires HTML layout engine). Use system font callback to look for missing fonts in HTML layout. Support CSS text fill and stroke properties: -webkit-text-fill-color -webkit-stroke-color -webkit-stroke-width Updated unicode line breaking (UAX 14) and upper/lowercase tables to Unicode 16.0. - Bug fixes and stability improvements: - Command line tool additional options: mutool poster: new option -m (margin) mutool show: new option -r (force repair) mutool clean: --structure=keep to keep tagged content when subsetting pages. WARNING: This option will prevent the file from shrinking, because we must still keep all the objects from deleted pages around. mutool clean: -t option will always write compact objects mutool clean: -tt option will always pretty-print objects List of changes in MuPDF 1.25 - New logo! - Redaction options: - New "don't redact text" option - New "redact line art" option - Structured Text options: - Use "Tagged PDF" structure information - Detect underlines and strikeouts - Mark automatically inserted spaces - Mark areas where line art (vectors) are present - Use accurate glyph bounding boxes - Ignore ActualText tags - Scan page for 'grid' lines - Segment page into areas (headers, columns, etc) - Annotation features: - Intent property accessors. - Rich Content styling on FreeText annotations. - Callout arrows on FreeText annotations. - Leader Line and Caption on Line annotations. - Improved handling of Rect and RD. - Low level FDF format support. - See docs/examples/import-fdf.js for how to use. - Improved FileSpec handling with new functions. - Functions for listing document and page Associated Files (AF). - Functions to create and write XML DOM trees (fz_xml). - Skew detection and deskew algorithms on pixmaps and PDFOCR device. - Document area detection in scanned images. - ZUGFeRD support. - New tool "mutool audit" to create summary of PDF file composition. - Important bug fixes @ text @$NetBSD: patch-Makefile,v 1.2 2024/10/22 09:34:44 leot Exp $ - Install target cleanup - Also install muthreads and mupkcs7 libraries (needed by various tools) - Use sh instead of bash --- Makefile.orig 2025-08-22 20:10:30.000000000 +0000 +++ Makefile @@@@ -240,10 +240,10 @@@@ endif FONT_GEN := $(FONT_BIN:%=generated/%.c) -generated/%.cff.c : %.cff $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@@ $< -generated/%.otf.c : %.otf $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@@ $< -generated/%.ttf.c : %.ttf $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@@ $< -generated/%.ttc.c : %.ttc $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@@ $< +generated/%.cff.c : %.cff $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@@ $< +generated/%.otf.c : %.otf $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@@ $< +generated/%.ttf.c : %.ttf $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@@ $< +generated/%.ttc.c : %.ttc $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@@ $< ifeq ($(HAVE_OBJCOPY),yes) MUPDF_OBJ += $(FONT_BIN:%=$(OUT)/%.o) @@@@ -442,46 +442,46 @@@@ extra-apps: $(EXTRA_TOOL_APPS) $(EXTRA_V libmupdf-threads: $(THREAD_LIB) install-headers: - install -d $(DESTDIR)$(incdir)/mupdf - install -d $(DESTDIR)$(incdir)/mupdf/fitz - install -d $(DESTDIR)$(incdir)/mupdf/pdf - install -m 644 include/mupdf/*.h $(DESTDIR)$(incdir)/mupdf - install -m 644 include/mupdf/fitz/*.h $(DESTDIR)$(incdir)/mupdf/fitz - install -m 644 include/mupdf/pdf/*.h $(DESTDIR)$(incdir)/mupdf/pdf + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(incdir)/mupdf + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(incdir)/mupdf/fitz + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(incdir)/mupdf/pdf + ${BSD_INSTALL_DATA} include/mupdf/*.h $(DESTDIR)$(incdir)/mupdf + ${BSD_INSTALL_DATA} include/mupdf/fitz/*.h $(DESTDIR)$(incdir)/mupdf/fitz + ${BSD_INSTALL_DATA} include/mupdf/pdf/*.h $(DESTDIR)$(incdir)/mupdf/pdf install-libs: libs install-headers - install -d $(DESTDIR)$(libdir) + ${BSD_INSTALL_LIB_DIR} $(DESTDIR)$(libdir) ifeq ($(shared),yes) - install -m $(SO_INSTALL_MODE) $(OUT)/libmupdf.$(SO)$(SO_VERSION) $(DESTDIR)$(libdir)/libmupdf.$(SO)$(SO_VERSION) + ${BSD_INSTALL_LIB} $(OUT)/libmupdf.$(SO)$(SO_VERSION) $(DESTDIR)$(libdir)/libmupdf.$(SO)$(SO_VERSION) ifneq ($(OS),OpenBSD) ln -sf libmupdf.$(SO)$(SO_VERSION) $(DESTDIR)$(libdir)/libmupdf.$(SO)$(SO_VERSION_MAJOR) ln -sf libmupdf.$(SO)$(SO_VERSION) $(DESTDIR)$(libdir)/libmupdf.$(SO) endif else - install -m 644 $(MUPDF_LIB) $(DESTDIR)$(libdir) - install -m 644 $(THIRD_LIB) $(DESTDIR)$(libdir) + ${BSD_INSTALL_LIB} $(MUPDF_LIB) $(DESTDIR)$(libdir) + ${BSD_INSTALL_LIB} $(THIRD_LIB) $(DESTDIR)$(libdir) endif install-tools: tools - install -d $(DESTDIR)$(bindir) - install -m 755 $(TOOL_APPS) $(DESTDIR)$(bindir) + ${BSD_INSTALL_PROGRAM_DIR} $(DESTDIR)$(bindir) + ${BSD_INSTALL_PROGRAM} $(TOOL_APPS) $(DESTDIR)$(bindir) install-apps: apps - install -d $(DESTDIR)$(bindir) - install -m 755 $(TOOL_APPS) $(VIEW_APPS) $(DESTDIR)$(bindir) + ${BSD_INSTALL_PROGRAM_DIR} $(DESTDIR)$(bindir) + ${BSD_INSTALL_PROGRAM} $(TOOL_APPS) $(VIEW_APPS) $(DESTDIR)$(bindir) install-extra-apps: install-apps extra-apps - install -d $(DESTDIR)$(bindir) - install -m 755 $(EXTRA_TOOL_APPS) $(EXTRA_VIEW_APPS) $(DESTDIR)$(bindir) + ${BSD_INSTALL_PROGRAM_DIR} $(DESTDIR)$(bindir) + ${BSD_INSTALL_PROGRAM} $(EXTRA_TOOL_APPS) $(EXTRA_VIEW_APPS) $(DESTDIR)$(bindir) install-docs: - install -d $(DESTDIR)$(mandir)/man1 - install -m 644 docs/man/*.1 $(DESTDIR)$(mandir)/man1 - install -d $(DESTDIR)$(docdir) - install -d $(DESTDIR)$(docdir)/examples - install -m 644 README CHANGES $(DESTDIR)$(docdir) - install -m 644 $(wildcard COPYING LICENSE) $(DESTDIR)$(docdir) - install -m 644 docs/examples/* $(DESTDIR)$(docdir)/examples + ${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 CHANGES $(DESTDIR)$(docdir) + ${BSD_INSTALL_DATA} $(wildcard COPYING LICENSE) $(DESTDIR)$(docdir) + ${BSD_INSTALL_DATA} docs/examples/* $(DESTDIR)$(docdir)/examples install: install-libs install-apps install-docs @@@@ -500,8 +500,8 @@@@ docs-clean: rm -rf build/.doctrees install-docs-html: docs - mkdir -p $(DESTDIR)$(docdir) - cp -r build/docs/* $(DESTDIR)$(docdir) + ${BSD_INSTALL_DATA} $(DESTDIR)$(docdir) + ${BSD_INSTALL_DATA} build/docs/* $(DESTDIR)$(docdir) # TODO tarball: bash scripts/archive.sh @ 1.2 log @mupdf: Update to 1.24.10 Changes: MuPDF 1.24.10 ------------- - Several fixes to python scripts for bindings. - Fix bug relating to redactions on pages with shared content streams. - Fix bug when both color keying and softmasking is used. MuPDF 1.24.9 ------------ - Improve memory usage for shadings. - Improve rendering speed when applying transfer functions to softmasks. - Avoid crashing due to colorspaces. - Fix bug with SVG clip paths. - Fix several bugs concerning text extraction. MuPDF 1.24.8 ------------ - Update document handler API - better state handling, and support for files. - Extend stream API to handle streams that are files, and to support autodeletion of files on close. - Add "document as PDF" functionality. MuPDF 1.24.7 ------------ - Fix bug that affected WASM builds. MuPDF 1.24.6 ------------ - Fix bug where redactions removed unrelated content. MuPDF 1.24.5 ------------ - Fix pyodide builds. - Add conversions between utf16 and utf8 in language bindings. MuPDF 1.24.4 ------------ - Update to new logo/icon. - Fix bugs relating to link destinations. - Fix bug relating to code space ranges. MuPDF 1.24.3 ------------ - Support single page SVG in document writer. - Fix undo/redo issue when deleting a page. - Several bug fixes for font subsetting upon saving document. - Fix bug relating to bookmarks upon interactive font size change in epub. - Fix font size bug when parsing html without a font size unit. MuPDF 1.24.2 ------------ - Add option to remove line-art, images, etc. while keeping text by adding text option when applying redactions. - Various bug fixes. MuPDF 1.24.1 ------------ - Fix bug where text moved after sanitizing PDF page contents. - Fix two memory leaks in the office format parser. @ text @d1 1 a1 1 $NetBSD: patch-Makefile,v 1.1 2024/08/14 05:55:32 adam Exp $ d7 1 a7 1 --- Makefile.orig 2024-10-02 17:10:33.000000000 +0000 d9 1 a9 1 @@@@ -245,10 +245,10 @@@@ endif d24 2 a25 2 @@@@ -474,51 +474,55 @@@@ tools: $(TOOL_APPS) apps: $(TOOL_APPS) $(VIEW_APPS) a41 1 ifneq ($(LIBS_TO_INSTALL_IN_LIB),) d43 13 a55 5 - install -m 644 $(LIBS_TO_INSTALL_IN_LIB) $(DESTDIR)$(libdir) + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(libdir) + for f in $(LIBS_TO_INSTALL_IN_LIB); do \ + ${BSD_INSTALL_LIB} $$f $(DESTDIR)$(libdir); \ + done d58 6 d66 9 a74 5 - install -m 755 $(LIBS_TO_INSTALL_IN_BIN) $(TOOL_APPS) $(VIEW_APPS) $(DESTDIR)$(bindir) + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(bindir) + for f in $(LIBS_TO_INSTALL_IN_BIN) $(TOOL_APPS) $(VIEW_APPS); do \ + ${BSD_INSTALL_LIB} $$f $(DESTDIR)$(bindir); \ + done a78 3 + ${BSD_INSTALL_MAN_DIR} $(DESTDIR)$(mandir)/man1 + ${BSD_INSTALL_MAN} docs/man/*.1 $(DESTDIR)$(mandir)/man1 d84 2 d94 8 a101 30 install-docs-html: python3 scripts/build-docs.py - install -d $(DESTDIR)$(docdir) - install -d $(DESTDIR)$(docdir)/_images - install -d $(DESTDIR)$(docdir)/_static - install -d $(DESTDIR)$(docdir)/_static/js - install -d $(DESTDIR)$(docdir)/_static/css - install -d $(DESTDIR)$(docdir)/_static/css/fonts - install -m 644 build/docs/html/*.html $(DESTDIR)$(docdir) - install -m 644 build/docs/html/*.inv $(DESTDIR)$(docdir) - install -m 644 build/docs/html/*.js $(DESTDIR)$(docdir) - install -m 644 build/docs/html/_images/* $(DESTDIR)$(docdir)/_images - install -m 644 build/docs/html/_static/*.css $(DESTDIR)$(docdir)/_static - install -m 644 build/docs/html/_static/*.ico $(DESTDIR)$(docdir)/_static - install -m 644 build/docs/html/_static/*.js $(DESTDIR)$(docdir)/_static - install -m 644 build/docs/html/_static/*.png $(DESTDIR)$(docdir)/_static + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir) + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)/_images + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)/_static + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)/_static/js + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)/_static/css + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)/_static/css/fonts + ${BSD_INSTALL_DATA} build/docs/html/*.html $(DESTDIR)$(docdir) + ${BSD_INSTALL_DATA} build/docs/html/*.inv $(DESTDIR)$(docdir) + ${BSD_INSTALL_DATA} build/docs/html/*.js $(DESTDIR)$(docdir) + ${BSD_INSTALL_DATA} build/docs/html/_images/* $(DESTDIR)$(docdir)/_images + ${BSD_INSTALL_DATA} build/docs/html/_static/*.css $(DESTDIR)$(docdir)/_static + ${BSD_INSTALL_DATA} build/docs/html/_static/*.ico $(DESTDIR)$(docdir)/_static + ${BSD_INSTALL_DATA} build/docs/html/_static/*.js $(DESTDIR)$(docdir)/_static + ${BSD_INSTALL_DATA} build/docs/html/_static/*.png $(DESTDIR)$(docdir)/_static a104 28 @@@@ -643,23 +647,23 @@@@ ifneq ($(USE_SYSTEM_LIBS),yes) endif install-shared-c: install-shared-check shared install-headers - install -d $(DESTDIR)$(libdir) + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(libdir) install -m $(SO_INSTALL_MODE) $(OUT)/libmupdf.$(SO)$(SO_VERSION) $(DESTDIR)$(libdir)/ ifneq ($(OS),OpenBSD) ln -sf libmupdf.$(SO)$(SO_VERSION) $(DESTDIR)$(libdir)/libmupdf.$(SO) endif install-shared-c++: install-shared-c c++ - install -m 644 platform/c++/include/mupdf/*.h $(DESTDIR)$(incdir)/mupdf + ${BSD_INSTALL_DATA} platform/c++/include/mupdf/*.h $(DESTDIR)$(incdir)/mupdf install -m $(SO_INSTALL_MODE) $(OUT)/libmupdfcpp.$(SO)$(SO_VERSION) $(DESTDIR)$(libdir)/ ifneq ($(OS),OpenBSD) ln -sf libmupdfcpp.$(SO)$(SO_VERSION) $(DESTDIR)$(libdir)/libmupdfcpp.$(SO) endif install-shared-python: install-shared-c++ python - install -d $(DESTDIR)$(pydir)/mupdf + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(pydir)/mupdf install -m $(SO_INSTALL_MODE) $(OUT)/_mupdf.$(SO) $(DESTDIR)$(pydir)/mupdf - install -m 644 $(OUT)/mupdf.py $(DESTDIR)$(pydir)/mupdf/__init__.py + ${BSD_INSTALL_DATA} $(OUT)/mupdf.py $(DESTDIR)$(pydir)/mupdf/__init__.py else @ 1.1 log @mupdf: really disable FreeGLUT when not enabled as an option @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.32 2024/05/15 21:00:43 wiz Exp $ d7 1 a7 1 --- Makefile.orig 2024-03-19 15:31:58.000000000 +0000 d9 1 a9 1 @@@@ -237,10 +237,10 @@@@ endif d24 1 a24 1 @@@@ -465,55 +465,59 @@@@ tools: $(TOOL_APPS) a93 4 - install -m 644 build/docs/html/_static/*.svg $(DESTDIR)$(docdir)/_static - install -m 644 build/docs/html/_static/js/* $(DESTDIR)$(docdir)/_static/js - install -m 644 build/docs/html/_static/css/*.css $(DESTDIR)$(docdir)/_static/css - install -m 644 build/docs/html/_static/css/fonts/* $(DESTDIR)$(docdir)/_static/css/fonts a107 4 + ${BSD_INSTALL_DATA} build/docs/html/_static/*.svg $(DESTDIR)$(docdir)/_static + ${BSD_INSTALL_DATA} build/docs/html/_static/js/* $(DESTDIR)$(docdir)/_static/js + ${BSD_INSTALL_DATA} build/docs/html/_static/css/*.css $(DESTDIR)$(docdir)/_static/css + ${BSD_INSTALL_DATA} build/docs/html/_static/css/fonts/* $(DESTDIR)$(docdir)/_static/css/fonts d111 1 a111 1 @@@@ -638,23 +642,23 @@@@ ifneq ($(USE_SYSTEM_LIBS),yes) @