Fixes:
- Use `HAVE_GLUT ?= yes' instead of `HAVE_GLUT := yes' in patch-ab:
in that way possible `MAKE_ENV+= HAVE_GLUT=no' in options.mk is honored
(in 1.15.0 update this could lead to building and installing mupdf-gl
and failing due PLIST mismatch despite `opengl' option was not
set.)
Cleanups/patch hunks readds/improvements:
- Avoid to remove non existent thirdparty/curl directory no longer exists,
do not remove it in post-extract
- Clarify why pkgsrc lcms2 could not be used
- Remove curl leftover in buildlink3.mk
- Update patch-Makethird, patch-ab, patch-ac comments to reflect reality
- Populate SYS_GLUT_{CFLAGS,LIBS} via `pkg-config'
pkgsrc changes:
- Pass USE_SYSTEM_LIBS=yes via MAKE_ENV in order to honor system (pkgsrc)
packages {C,LD}FLAGS
- Rewrite the logic to disable lcms2 in patch-ab and inject -DNO_ICC
directly via CFLAGS
Changes:
MuPDF 1.14.0
------------
* New features:
* Added "Source Han Serif" CJK fallback font.
* Added more scripts to the Noto fallback fonts.
* Multi-page PNM support.
* "mutool show" now supports a path syntax for selecting objects to show.
* Build system simplifications:
* Auto-generated CMap, ICC, and JS source files are checked in to git.
* Embedded CMap resources are now generated by a python script.
* Embedded font resources are linked directly if using GNU ld or windows.
* Namegen tool replaced by use of C macros.
* Simplified Makefile.
* Annotation editing:
* New annotation editing mode in mupdf-gl.
* Can create, edit, and delete most annotation types.
* Can create appearance streams for most annotation types.
* Can create appearance streams for Tx form fields.
* Can create appearance streams for Ch form fields.
* Form filling in mupdf-gl:
* Can click buttons, checkboxes, and radioboxes.
* Can fill out text fields using dialog box.
* Can select choice options using dialog box.
* Can verify and sign digital signatures.
* Improved UI for mupdf-gl:
* Password dialog.
* Error dialog.
* Open/save file dialog.
* Snap selection to words or lines by holding control or control+shift.
* Save and restore current location, bookmarks, and navigation history.
* Bug fixes:
* Improved CJK character fallback handling in EPUB.
* API changes:
* Pass rectangle and matrix structs by value.
* Replaced PDF_NAME_Xxx macros with PDF_NAME(Xxx).
* Added PDF_TRUE, PDF_FALSE, and PDF_NULL constant pdf_obj* macros.
* Added helper functions: pdf_dict_get_int, etc.
* Removed 'doc' argument in pdf_new_int, etc.
* Quads instead of rects when highlighting and searching text.
* mutool run: Pass arguments to script in scriptArgs global.
pkgsrc changes:
- Directly override VERSION in files/mupdf.pc in the post-build phase
(to avoid an extra manual step for every mupdf update)
- Get rid of OPJ_STATIC patch hunk in patches/patch-source_fitz_load-jpx.c (it
is no more needed, because the `-DOPJ_STATIC' is now passed in Makefile-s
when the bundled openjpeg is used).
- Pass HAVE_LIBCRYPTO=no to avoid requiring openssl>=1.1.0.
Changes:
1.13.0
------
* This is primarily a bugfix release.
* New "mutool sign" tool for showing and verifying digital signatures.
* Chinese, Japanese, Korean, Cyrillic, and Greek font support in mutool create.
* Improvements to annotation editing API.
pkgsrc changes:
- Add support for the `opengl' option via graphics/glut and remove the `glfw'
option to follow upstream changes. Adjust options.mk and buildlink3.mk
accordingly.
- Add patches/patch-platform_gl_gl-app.h to not force freeglut GLUT
implementation to every non-APPLE platforms (glut also works!) and adjust the
glut.h include.
- Add a commented out lcms2 bl3 inclusion entry, lcms2>=2.9 is needed (due
"lcms2art.h" et al. inclusion, so disable it for now)
- Explain the OPJ_STATIC comment in patches/patch-source_fitz_load-jpx.c
a bit more in depth... ...this will hopefully save some time to
debug opj_* undefined symbols when trying to link libmupdf and
accidently omitting the patches/patch-source_fitz_load-jpx.c
hunk (for extra debugging stories fun, if OPJ_STATIC is defined
some opj_* symbols are defined while others are not defined,
making the debugging of that problem more naughty!).
- Inject HAVE_{CURL,GLUT} variables via MAKE_ENV in options.mk to avoid
depending on www/curl and graphics/glut (yes, that's a bit kludgy
but unfortunately mupdf doesn't have a configure and so there
isn't a more sensible way to do it). This is needed to avoid
building mupdf-gl for native X.org where the glut.pc pkg-config
file is available at build time. Also adjust patches/patch-ab
accordingly.
- Remove patches/patch-CVE*, they are no longer needed (all applied in 1.12.0)
- Bump BUILDLINK_API_DEPENDS.mupdf to 1.12.0 (there were several API changes
from 1.11 to 1.12.0) and remove the now redundant and no longer needed
BUILDLINK_ABI_DEPENDS.mupdf.
Changes:
List of changes in MuPDF 1.12.0
* Color management:
* LCMS2 library for color management.
* CMYK rendering with overprint simulation.
* Spot color rendering.
* Transparency rendering fixes.
* Structured text output improvements:
* Reworked structured text API.
* Faster text searching.
* Highlight and copy text by selecting lines instead of by area.
* New semantic XHTML output format.
* New layout preserving HTML output format.
* Features and improvements:
* Improved non-AA rendering with new scan converter.
* Improved LARGEFILE support.
* Improved TIFF support.
* Improved documentation.
* PCLm output.
* PSD output.
* New "mutool trace" tool.
* New "mutool sign" tool (work in progress).
* Text redaction (work in progress).
* Lots of bug fixes.
Changes:
List of changes in MuPDF 1.11
-----------------------------
* This is primarily a bug fix release.
* Split Android and iOS viewers into separate projects:
- mupdf-viewer-ios.git has the iOS viewer.
- mupdf-viewer-android-old.git has the Android viewer.
- mupdf-viewer-android-nui.git has a new advanced Android viewer.
- mupdf-viewer-android-mini.git has a new minimalist Android viewer.
* PDF portfolio support with command line tool "mutool portfolio".
* Add callbacks to load fallback fonts from the system.
* Use system fonts in Android to reduce install size.
* Flag to disable publisher styles in EPUB layout.
* Improved SVG output.
pkgsrc changes:
- Include more bl3 in buildlink3.mk to reflect current reality
- Bump BUILDLINK_A[BP]I_DEPENDS.mupdf to 1.10a (packages that depends on
mupdf seems to not run without being rebuilded despite a bug fix release)
Changes:
MuPDF 1.10a (2016-11-28)
------------------------
Version 1.10a is a bug fix release.
If you downloaded the windows release for 1.10 you should also
upgrade, since the zip archive accidentally included the RC2 binaries
instead of the final version.
A bug with mutool and saving PDF files using the 'ascii' option
has been fixed.
The iOS build issues have been fixed.
pkgsrc changes:
* Update DESCR and COMMENT to better reflect current status of MuPDF
* Delete security patches addressing CVE-2016-6265 and CVE-2016-6525,
fixed upstream.
* Bump BUILDLINK_A[BP]I_DEPENDS.mupdf (no longer compatible with 1.9 API)
Changes:
List of changes in MuPDF 1.10
* Headline changes:
* FictionBook (FB2) e-book support.
* Simple SVG parser (a small subset of SVG only).
* mutool convert: a new document conversion tool and interface.
* Multi-threaded rendering in mudraw.
* Luratech decoders for JBIG2 and JPEG2000 (commercial releases only).
* Optional JPEG-XR support (not included by default for security reasons).
* Updated base 14 fonts from URW.
* New CJK font with language specific variants.
* Hyperlink support in EPUB.
* Reduced memory use:
* New tool muraster: example printer driver with limited RAM usage and automatic banding.
* Alpha channel is now optional in pixmaps.
* More aggressive purging of cached objects.
* Partial image decoding for lower memory use when banding.
* Reduced code size when building with a subset of features:
* Reduced default set of built-in CMap tables to the minimum required.
* FZ_ENABLE_PDF, _XPS, _JS, to disable features at compile time.
* Function level linking.
* Interface changes and cleanups:
* Dropped pdf object generation numbers from public interfaces.
* Simplified PDF page, xobject, and annotation internals.
* Closing and freeing devices and writers are now separate steps.
* Improved PDF annotation editing interface (still a work in progress).
* Document writer interface.
* Banded image writer interface.
* Mobile viewers:
* New JNI interfaces to match capabilities of 'mutool run' javascript.
* New android and desktop java examples using new JNI interface.
pkgsrc changes:
o Update MASTER_SITES (archive/ subdirectory contains all the distfiles,
latest stable version and also older ones)
o Bump BUILDLINK_A[BP]I_DEPENDS.mupdf to 1.9a due to several API and ABI
changes
Changes:
MuPDF 1.9a (2016-04-26)
-----------------------
Version 1.9a is a bug fix release. If you run into issues with selecting or
searching for text with ligatures, you should upgrade from 1.9.
MuPDF 1.9 (2016-04-18)
-----------------------
The 1.9 release is here!
Headline changes:
* New command line tools: create and run.
* New low-level Java interface for desktop and android.
* Bidirectional layout for Arabic and Hebrew scripts.
* Shaping complex scripts for EPUB text layout.
* Noto fallback fonts for EPUB layout.
mutool create:
* Create new PDF files from scratch.
* Read an annotated content stream in a text file and write a PDF file,
automatically embedding font and image resources.
mutool run:
* Run javascript scripts with MuPDF bindings.
* The interface is similar to the new Java interface.
mutool draw:
* Optional multi-threaded operation (Windows and pthreads).
* Optional low memory mode (primarily for testing).
pkgsrc changes:
* Bump BUILDLINK_API_DEPENDS (spotted and tested via the only print/mupdf
consumer wip/zathura-mupdf)
* OpenGL-based desktop viewer is still not enabled by default neither upstream
nor in pkgsrc
Changes:
List of changes in MuPDF 1.8
* Headline changes:
* New OpenGL-based barebones desktop viewer.
* New URW fonts with greek and cyrillic.
* 64-bit file support.
* Ghostscript proofing mode (source only; not in shipped binaries).
* EPUB improvements:
* User style sheets.
* GIF images (also for CBZ).
* Table of contents.
* CJK text.
* Page margins.
* Many bug fixes.
* Bug fixes:
* Updated FreeType to version 2.6.1.
* Various font substitution bug fixes.
* Fix setjmp/longjmp behaviour which could cause optimizing compilers to misbehave.
Changes:
MuPDF 1.7 (2015-04-16)
The 1.7 release is here!
MuPDF 1.7 RC1 (2015-04-08)
The 1.7 release is almost here!
Headline changes:
* New 'Indie dev' licensing options - contact sales@artifex.com
for more details.
* New HTML layout engine, and (DRM-free) EPUB viewer.
* Reduced memory usage - displaylists and internal PDF representation
take much less memory, reducing total memory use on some files by
over 60%.
Important API changes:
* Bound contexts have been removed; we now pass fz_contexts
explicitly.
* Reference counting of paths and text structures.
Features:
* Add mutool pages option.
* Tweaked rendering to prevent feature dropout in common cases.
* Viewer tweaks
+ Better mouse wheel handling
+ Shift-space support
+ Mouse button control of presentation mode
+ Failed reloads do not close document
Internal changes:
* PDF filter revamp - simpler interface.
* Devices use derived structures rather than user pointer.
* Sparse PDF xrefs held in more compact form.
* New gsview viewer split out to its own repository.
Bug fixes
* Improved handling of broken files.
* Fix BBoxes of Type 3 fonts.
* Updated fonts (including greek and cyrillic).
* Various memory leaks and crashes.
* And many more.
=============================================================================
Notes on updating mupdf to mupdf-1.3 (maybe useful for future updates too)
* mupdf-1.3 depends on openjpeg-2.0 (previously mupdf-1.1 depended on
openjpeg-1.5). ${WRKSRC}/Makerules is NOT correct and still looks for
openjpeg-1.5 so patches/patch-ab was modified in order to fix this
behaviour. Please also note the SUBST.makerules class in Makefile.
* mupdf should be build with "build=release" (the default is "build=debug" and
that may be indesiderable for the common user).
* In order to completely disable the building of third party libraries (it is
better to use the ones provided/handled by pkgsrc) a brutal ${RM} -fr completely
remove the ${WRKSRC}/thirdparty directory. For more information please read
${WRKSRC}/Makethird and the post-extract target in Makefile.
* ${WRKSRC}/docs/thirdparty.txt may help for adding correct version of the
dependencies.
* To add libcurl support (www/curl) patches/patch-Makethird was introduced and
patches/patch-ab was modified in order to use pkg-config for
$(SYS_CURL_CFLAGS) and $(SYS_CURL_LIBS).
* By default now mupdf install different binaries, e.g. mupdf-x11 (previous it
was just "mupdf"), mupdf-x11-curl, etc.. In pkgsrc we install *only* the
featureful version of mupdf simply as "mupdf". For more information please
give a look to patches/patch-ac.
=============================================================================
(Upstream) List of changes on master since MuPDF 1.2
* Windows RT viewer app for MuPDF.
* Library changes to support progressive loading (display PDF files as
they download). Windows/Linux/MacOS viewer supports this using curl.
* Incremental updates to PDF files are now (optionally) preserved on
loading/saving.
* Prototype support for checking PDF Digital Signatures.
* Initial annotation support (strike-out, underline, highlight and ink)
(library and android builds only).
* Fix operation on Android API level 8.
* Android redraw optimisations.
* Android app now supports Google Cloud Print.
* Android app translated into many languages.
* Android support for more architectures.
* Improvements to store (avoid collisions causing unnecessary evictions).
* Windows apps use Unicode filenames now.
* PDF function handling improved; functions can now be passed to devices
without 'sampling'.
* PDF image handling improved; images can now be passed to devices
without decompression.
* Indexed images are no longer uncompressed at load time, saving memory.
* Caching of rendered tiles for speed.
* Improved text analysis mode, capable of spotting columns/indents,
right-to-left text etc.
* HTML output mode now includes image output.
* PDF password encoding handling improved.
* MuPDF now opens Jpeg, Tiff and PNG files directly.
* Bug preventing OpenXPS files from being opened fixed.
* Initial (feature incomplete) SVG and PDF output devices.
* PWG raster (mono/grey/RGB) and PCL (mono) output devices.
* Various performance improvements (including tilings and mesh based
shadings).
* Revamped directory structure to reflect recent changes.
* Various potential SEGV, SoftMask and rendering fixes.
* Many potential crashes in Jpeg2000 and JBIG2 images fixed.
List of changes on master since MuPDF 1.1
* Important API changes:
* fz_bbox is now fz_irect.
* APIs (including fz_device) now pass fz_rect/fz_matrix by reference.
* fz_device API is now more consistent with regards to use of
fz_rect rather than fz_bbox.
* Add support for Javascript and forms handling.
* Fix many SEGVs with out of spec files. Many thanks to Mateusz "j00ru"
Jurczyk and Gynvael Coldwind of the Google Security team, zeniko,
Sebastian Rasmussen and all other contributors.
* Add fz_open_document_with_stream to allow non-file based operation.
* Move to using git submodules for third party libraries.
* Much enhanced Android application. Now on Google Play!
* Oversized and stroke text clipping implemented.
* Change shadings to decompose at render times; massive memory savings.
* Renamed 'mubusy' to 'mutool'.
* PDF 1.7 Extension Level 8 encryption implemented.
* Added consts to various parts of the API to help C++ interworking.
* Prototype transition support.
* Text searching API moved to fitz.
* Highlight and copy text selections.
* Performance enhancements for color conversion and fax decompression.
* ARM optimisations for color conversion and bitmap scaling.
* Bitmap subsampling stage introduced, with ARM optimisations.
* Type 3 fonts; glyphs are now handled as display lists.
* Scan converter performance improvements.
* Various rendering fixes.
no changelog available, at least some security fixes were done:
-fix possible memory corruption due to malformed JPEG images
(was patched in pkgsrc)
-fix (at least) 2 cases of integer overflow in array allocation (SA42320)
MuPDF is a lightweight PDF viewer and toolkit written in portable C.
The renderer in MuPDF is tailored for high quality anti-aliased
graphics. MuPDF renders text with metrics and spacing accurate to
within fractions of a pixel for the highest fidelity in reproducing
the look of a printed page on screen.
MuPDF has a small footprint. A binary that includes the standard
Roman fonts is only one megabyte. A build with full CJK support
(including an Asian font) is approximately five megabytes.
MuPDF has support for all non-interactive PDF 1.7 features, and
the toolkit provides a simple API for accessing the internal
structures of the PDF document. Example code for navigating
interactive links and bookmarks, encrypting PDF files, extracting
fonts, images, and searchable text, and rendering pages to image
files is provided.