#14110 closed enhancement (fixed)

mupdf-1.18.0

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 10.1
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (4)

comment:1 by Bruce Dubbs, 10 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Xi Ruoyao, 10 months ago

Now the patch can't be applied, and USE_SYSTEM_LIBS breaks the build.

My build is done by:

  1. apply a patch
diff --color -Naur mupdf-1.18.0-source/Makefile mupdf-1.18.0-source-fixed/Makefile
--- mupdf-1.18.0-source/Makefile	2020-10-07 18:35:03.000000000 +0800
+++ mupdf-1.18.0-source-fixed/Makefile	2020-10-10 18:30:23.052257972 +0800
@@ -213,6 +213,7 @@
 MUPDF_LIB = $(OUT)/libmupdf.$(SO)
 
 $(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ) $(THREAD_OBJ) $(PKCS7_OBJ)
+	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined $(THREADING_LIBS) $(LIBCRYPTO_LIBS) $(THIRD_LIBS)
 else
 MUPDF_LIB = $(OUT)/libmupdf.a
 THIRD_LIB = $(OUT)/libmupdf-third.a
  1. build with
make shared=yes USE_SYSTEM_{HARFBUZZ,LIBJPEG,OPENJPEG,ZLIB,GLUT,CURL}=yes

It would only produce one shared library (libmupdf.so), which contains the content of all libmupdf*.a archives.

comment:3 by Bruce Dubbs, 10 months ago

List of changes in MuPDF 1.18.0

  • mutool draw: bbox output format.
  • mutool draw: structured text extraction in JSON format.
  • mutool run: StructuredText.walk()
  • mutool run: PDFPage.process() and PDFAnnotation.process()
  • mupdf-gl: Added IBM Common User Access shortcuts for copy & paste.
  • mupdf-gl: Improved redaction UI.
  • java: Example desktop Java viewer.
  • wasm: WebAssembly viewer that runs in a browser.
  • api: Dehyphenation option in structured text extraction, to improve searching for words that are hyphenated across lines.
  • api: pdf_new_date, pdf_to_date, pdf_dict_put_date and pdf_dict_get_date.
  • api: Added choice of image redaction algorithms: none, full, partial.
  • api: Optional use of Tesseract to use OCR to extract text.
  • svg: Many small parsing fixes.
  • svg: Parse inline CSS style attributes.
  • svg: Text elements (simple text layout only).
  • html: Added HTML5 parser.
  • pdf: High security redaction -- save redacted PDF as flattened bitmap, guaranteed to not leak any sensitive redacted information.
  • Experimental C++ bindings.
  • Experimental Python bindings.

comment:4 by Bruce Dubbs, 10 months ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 23805.

This was very challenging. Upstream obviously never tested building and running using shared libraries. I had to hack the Makefile to get it to work with the shared libmupdf.so library. I'll note that both Fedora and Arch do not uses the shared libraries.

Note: See TracTickets for help on using tickets.