diff options
author | leot <leot@pkgsrc.org> | 2016-11-28 14:40:42 +0000 |
---|---|---|
committer | leot <leot@pkgsrc.org> | 2016-11-28 14:40:42 +0000 |
commit | ed95afa2fa0955daf92f3aaceb1c238e26d84d10 (patch) | |
tree | ce339320bac2523b54d555a30dcdf6a5dcabde62 /print | |
parent | 0909370c00a5c62f6bf3769b0b2d00bd4537eb8a (diff) | |
download | pkgsrc-ed95afa2fa0955daf92f3aaceb1c238e26d84d10.tar.gz |
Update print/mupdf to mupdf-1.10
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.
Diffstat (limited to 'print')
-rw-r--r-- | print/mupdf/DESCR | 25 | ||||
-rw-r--r-- | print/mupdf/Makefile | 7 | ||||
-rw-r--r-- | print/mupdf/PLIST | 13 | ||||
-rw-r--r-- | print/mupdf/buildlink3.mk | 6 | ||||
-rw-r--r-- | print/mupdf/distinfo | 18 | ||||
-rw-r--r-- | print/mupdf/files/mupdf.pc | 2 | ||||
-rw-r--r-- | print/mupdf/patches/patch-ab | 37 | ||||
-rw-r--r-- | print/mupdf/patches/patch-ac | 127 | ||||
-rw-r--r-- | print/mupdf/patches/patch-source_fitz_load-jpx.c | 20 | ||||
-rw-r--r-- | print/mupdf/patches/patch-source_pdf_pdf-shade.c | 15 | ||||
-rw-r--r-- | print/mupdf/patches/patch-source_pdf_pdf-xref.c | 23 |
11 files changed, 131 insertions, 162 deletions
diff --git a/print/mupdf/DESCR b/print/mupdf/DESCR index 41c10d37924..4cf060a6542 100644 --- a/print/mupdf/DESCR +++ b/print/mupdf/DESCR @@ -1,17 +1,18 @@ -MuPDF is a lightweight PDF viewer and toolkit written in portable C. +MuPDF is a lightweight PDF, XPS, and E-book viewer. The renderer in MuPDF is tailored for high quality anti-aliased -graphics. MuPDF renders text with metrics and spacing accurate to +graphics. It 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. +the look of a printed page on screen. MuPDF is also small, fast, +and yet complete. -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 supports PDF 1.7 with transparency, encryption, hyperlinks, +annotations, searching and more. MuPDF also reads many other document +and e-book formats, such as XPS, OpenXPS, CBZ, EPUB and FictionBook +2. -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. +MuPDF is written modularly, so features can be added and removed +by integrators if they so desire. + +Since the 1.2 release of MuPDF, we have optional support for +interactive features such as form filling, javascript and transitions. diff --git a/print/mupdf/Makefile b/print/mupdf/Makefile index 481f54c976e..4332bb29abb 100644 --- a/print/mupdf/Makefile +++ b/print/mupdf/Makefile @@ -1,14 +1,13 @@ -# $NetBSD: Makefile,v 1.40 2016/10/07 18:25:33 adam Exp $ +# $NetBSD: Makefile,v 1.41 2016/11/28 14:40:42 leot Exp $ -DISTNAME= mupdf-1.9a-source +DISTNAME= mupdf-1.10-source PKGNAME= ${DISTNAME:S/-source//} -PKGREVISION= 4 CATEGORIES= print MASTER_SITES= http://mupdf.com/downloads/archive/ MAINTAINER= leot@NetBSD.org HOMEPAGE= http://mupdf.com/ -COMMENT= Lightweight PDF viewer and toolkit +COMMENT= Lightweight PDF, XPS and E-book viewer and toolkit LICENSE= gnu-agpl-v3 USE_LANGUAGES= c99 diff --git a/print/mupdf/PLIST b/print/mupdf/PLIST index 3e28b950a37..264f41c8e13 100644 --- a/print/mupdf/PLIST +++ b/print/mupdf/PLIST @@ -1,15 +1,18 @@ -@comment $NetBSD: PLIST,v 1.12 2016/04/27 12:34:58 leot Exp $ +@comment $NetBSD: PLIST,v 1.13 2016/11/28 14:40:42 leot Exp $ bin/mujstest bin/mupdf ${PLIST.glfw}bin/mupdf-gl +bin/muraster bin/mutool include/mupdf/fitz.h include/mupdf/fitz/annotation.h +include/mupdf/fitz/archive.h include/mupdf/fitz/bidi.h include/mupdf/fitz/bitmap.h include/mupdf/fitz/buffer.h include/mupdf/fitz/colorspace.h include/mupdf/fitz/compressed-buffer.h +include/mupdf/fitz/config.h include/mupdf/fitz/context.h include/mupdf/fitz/crypt.h include/mupdf/fitz/device.h @@ -45,12 +48,13 @@ include/mupdf/fitz/string.h include/mupdf/fitz/structured-text.h include/mupdf/fitz/system.h include/mupdf/fitz/text.h +include/mupdf/fitz/track-usage.h include/mupdf/fitz/transition.h include/mupdf/fitz/tree.h include/mupdf/fitz/ucdn.h -include/mupdf/fitz/unzip.h include/mupdf/fitz/util.h include/mupdf/fitz/version.h +include/mupdf/fitz/writer.h include/mupdf/fitz/xml.h include/mupdf/html.h include/mupdf/memento.h @@ -65,7 +69,6 @@ include/mupdf/pdf/document.h include/mupdf/pdf/event.h include/mupdf/pdf/field.h include/mupdf/pdf/font.h -include/mupdf/pdf/graft.h include/mupdf/pdf/interpret.h include/mupdf/pdf/javascript.h include/mupdf/pdf/name-table.h @@ -76,9 +79,10 @@ include/mupdf/pdf/parse.h include/mupdf/pdf/resource.h include/mupdf/pdf/widget.h include/mupdf/pdf/xref.h -include/mupdf/xps.h +include/mupdf/svg.h lib/libmupdf.la lib/libmupdfthird.la +lib/libmutools.la lib/pkgconfig/mupdf.pc man/man1/mupdf.1 man/man1/mutool.1 @@ -90,3 +94,4 @@ share/doc/mupdf/overview.txt share/doc/mupdf/progressive.txt share/doc/mupdf/refcount.txt share/doc/mupdf/thirdparty.txt +share/doc/mupdf/types.txt diff --git a/print/mupdf/buildlink3.mk b/print/mupdf/buildlink3.mk index 94c6a452340..6e826481cd9 100644 --- a/print/mupdf/buildlink3.mk +++ b/print/mupdf/buildlink3.mk @@ -1,12 +1,12 @@ -# $NetBSD: buildlink3.mk,v 1.12 2016/10/07 18:25:33 adam Exp $ +# $NetBSD: buildlink3.mk,v 1.13 2016/11/28 14:40:42 leot Exp $ BUILDLINK_TREE+= mupdf .if !defined(MUPDF_BUILDLINK3_MK) MUPDF_BUILDLINK3_MK:= -BUILDLINK_API_DEPENDS.mupdf+= mupdf>=1.9a -BUILDLINK_ABI_DEPENDS.mupdf?= mupdf>=1.9anb4 +BUILDLINK_API_DEPENDS.mupdf+= mupdf>=1.10 +BUILDLINK_ABI_DEPENDS.mupdf?= mupdf>=1.10 BUILDLINK_PKGSRCDIR.mupdf?= ../../print/mupdf pkgbase := mupdf diff --git a/print/mupdf/distinfo b/print/mupdf/distinfo index 521d1c7336c..d09574f54a1 100644 --- a/print/mupdf/distinfo +++ b/print/mupdf/distinfo @@ -1,14 +1,12 @@ -$NetBSD: distinfo,v 1.27 2016/08/03 08:50:17 leot Exp $ +$NetBSD: distinfo,v 1.28 2016/11/28 14:40:42 leot Exp $ -SHA1 (mupdf-1.9a-source.tar.gz) = f2b3c21e5060d6ec56ea0d0c32b0feac7eac0e5f -RMD160 (mupdf-1.9a-source.tar.gz) = 0cb0d098c603b16be217e42299052a928d95c3fc -SHA512 (mupdf-1.9a-source.tar.gz) = 9f804fd65c2dc6b7a3bd73961b1f1a8bf93d52903cccf6302acd6982dfa433125a3b8e77b808984921aee097877280fa21aafb87468cd0a8e4cfa900284a262b -Size (mupdf-1.9a-source.tar.gz) = 20493793 bytes +SHA1 (mupdf-1.10-source.tar.gz) = 570350f46c00fa091972832b620a43c1ae6a3408 +RMD160 (mupdf-1.10-source.tar.gz) = 49a66c9eb0cc8b11343b2dab0cb71155a415745a +SHA512 (mupdf-1.10-source.tar.gz) = 91dc77f1f785c960a4f70ee3f617b1ddda32c85015eb053c004ab3a90b899634c7e08e7eaa617a6b7b41910bb5e7e9e725fe636890e94098db1d5b61ed2b3c43 +Size (mupdf-1.10-source.tar.gz) = 42265171 bytes SHA1 (patch-Makethird) = 0a5951d543755c42053013f03b1c573b5da9c82c -SHA1 (patch-ab) = c1ee4dd0b79aa0d905c0a0b634fbd016c063cd64 -SHA1 (patch-ac) = 51b62ef8ff3e6c44ad954b2405bd982f9d682d37 +SHA1 (patch-ab) = 7bee583086078359ce04eacd9db3b4f03737a7bb +SHA1 (patch-ac) = d75afe8b05b85d042dc1baeaf8a9988f2e60338a SHA1 (patch-ae) = c6b113818b32cb4470e8549c00a16e0b2f364ede -SHA1 (patch-source_fitz_load-jpx.c) = cb33828a6ca638c1b61ff017708a41cc586d1b0e -SHA1 (patch-source_pdf_pdf-shade.c) = 9baba48f468e0827b77c25c05b226c763cf4975f -SHA1 (patch-source_pdf_pdf-xref.c) = 406c7a664b7171eb5ca7c5a09aac6be549a8fbb5 +SHA1 (patch-source_fitz_load-jpx.c) = fbe6814536d37835a4daa5bb90b1f6cf8698f807 SHA1 (patch-thirdparty_mujs_Makefile) = f1da7cdf2c9e2e4bbac3e80ef486204a39b27e34 diff --git a/print/mupdf/files/mupdf.pc b/print/mupdf/files/mupdf.pc index c34f5dc6eed..018fc083681 100644 --- a/print/mupdf/files/mupdf.pc +++ b/print/mupdf/files/mupdf.pc @@ -5,6 +5,6 @@ includedir=${prefix}/include Name: mupdf Description: library for PDF files -Version: 1.9a +Version: 1.10 Libs: -Wl,-R${libdir} -L${libdir} -lmupdf Cflags: -I${includedir} diff --git a/print/mupdf/patches/patch-ab b/print/mupdf/patches/patch-ab index 47a55937361..e5a5e25841f 100644 --- a/print/mupdf/patches/patch-ab +++ b/print/mupdf/patches/patch-ab @@ -1,32 +1,37 @@ -$NetBSD: patch-ab,v 1.12 2016/04/27 12:34:58 leot Exp $ +$NetBSD: patch-ab,v 1.13 2016/11/28 14:40:42 leot Exp $ o Handle the various operating systems in the same way avoiding hardcoding o Properly recognize glfw support ---- Makerules.orig 2016-04-06 12:06:53.000000000 +0000 +--- Makerules.orig 2016-11-21 10:21:11.000000000 +0000 +++ Makerules -@@ -43,46 +43,6 @@ ifeq "$(largefile)" "yes" +@@ -60,51 +60,6 @@ ifeq "$(largefile)" "yes" CFLAGS += -DFZ_LARGEFILE endif -# Windows (MINGW) build doesn't use system libraries. -ifeq "$(OS)" "MINGW" - +-WINDRES = windres -HAVE_X11 ?= no +-HAVE_WIN32 = yes +-CC=gcc +-# Add flags required for Harfbuzz because of missing strdup +-CFLAGS+= -U__STRICT_ANSI__ - -# Mac OS X doesn't have pkg-config so we hard code paths. -else ifeq "$(OS)" "MACOS" - --HAVE_X11 ?= yes +-HAVE_X11 ?= no -HAVE_PTHREADS ?= yes - --# Mac OS X deprecated openssl, so the default is to not include it. --HAVE_OPENSSL ?= no --SYS_OPENSSL_CFLAGS = --SYS_OPENSSL_LIBS = --ifeq "$(HAVE_OPENSSL)" "yes" --SYS_OPENSSL_CFLAGS = -DHAVE_OPENSSL --SYS_OPENSSL_LIBS = -lcrypto +-# Mac OS X deprecated libcrypto, so the default is to not include it. +-HAVE_LIBCRYTO ?= no +-SYS_LIBCRYPTO_CFLAGS = +-SYS_LIBCRYPTO_LIBS = +-ifeq "$(HAVE_LIBCRYPTO)" "yes" +-SYS_LIBCRYPTO_CFLAGS = -DHAVE_LIBCRYPTO +-SYS_LIBCRYPTO_LIBS = -lcrypto -endif - -SYS_CURL_DEPS = -lpthread @@ -49,12 +54,12 @@ o Properly recognize glfw support -# Linux uses pkg-config for system libraries. -else ifeq "$(OS)" "Linux" - - HAVE_X11 ?= yes HAVE_PTHREADS ?= yes -@@ -101,6 +61,17 @@ SYS_CURL_DEPS = -lpthread -lrt - SYS_X11_CFLAGS = $(shell pkg-config --cflags x11 xext) + ifeq "$(shell pkg-config --exists libcrypto && echo yes)" "yes" +@@ -131,6 +86,17 @@ SYS_X11_CFLAGS = $(shell pkg-config --cf SYS_X11_LIBS = $(shell pkg-config --libs x11 xext) + endif +ifeq "$(shell pkg-config --exists glut && echo yes)" "yes" +SYS_GLUT_CFLAGS = $(shell pkg-config --cflags glut) @@ -67,10 +72,10 @@ o Properly recognize glfw support +SYS_GLFW_LIBS = $(shell pkg-config --libs glfw3) +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) - SYS_FREETYPE_CFLAGS = $(shell pkg-config --cflags freetype2) -@@ -111,8 +82,6 @@ SYS_JBIG2DEC_LIBS = -ljbig2dec +@@ -150,8 +116,6 @@ SYS_JBIG2DEC_LIBS = -ljbig2dec SYS_JPEG_LIBS = -ljpeg SYS_ZLIB_LIBS = -lz diff --git a/print/mupdf/patches/patch-ac b/print/mupdf/patches/patch-ac index e73d59a83ac..7e7294b5b3c 100644 --- a/print/mupdf/patches/patch-ac +++ b/print/mupdf/patches/patch-ac @@ -1,14 +1,15 @@ -$NetBSD: patch-ac,v 1.14 2016/04/27 12:34:58 leot Exp $ +$NetBSD: patch-ac,v 1.15 2016/11/28 14:40:42 leot Exp $ o libtool support o Install target cleanup o Do not force `-O0' flag when building +o Install MUTOOL_LIB as part of INSTALL_LIBS o Install only one "mupdf" binary, prefer the featureful one and always install it as "mupdf" ---- Makefile.orig 2016-04-21 11:14:32.000000000 +0000 +--- Makefile.orig 2016-11-21 10:21:11.000000000 +0000 +++ Makefile -@@ -38,22 +38,12 @@ CFLAGS += $(ZLIB_CFLAGS) +@@ -42,26 +42,12 @@ CFLAGS += $(ZLIB_CFLAGS) # --- Commands --- @@ -20,6 +21,8 @@ o Install only one "mupdf" binary, prefer the featureful one and always -QUIET_LINK = @ echo ' ' ' ' LINK $@ ; -QUIET_MKDIR = @ echo ' ' ' ' MKDIR $@ ; -QUIET_RM = @ echo ' ' ' ' RM $@ ; +-QUIET_TAGS = @ echo ' ' ' ' TAGS $@ ; +-QUIET_WINDRES = @ echo ' ' ' ' WINDRES $@ ; -endif - -CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $< @@ -28,6 +31,8 @@ o Install only one "mupdf" binary, prefer the featureful one and always -LINK_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) -MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@ -RM_CMD = $(QUIET_RM) rm -f $@ +-TAGS_CMD = $(QUIET_TAGS) ctags $^ +-WINDRES_CMD = $(QUIET_WINDRES) $(WINDRES) $< $@ +CC_CMD = ${LIBTOOL} --mode=compile $(CC) $(CFLAGS) -o $@ -c $< +CXX_CMD = ${LIBTOOL} --mode=compile $(CXX) $(CFLAGS) -o $@ -c $< +AR_CMD = ${LIBTOOL} --mode=link $(CC) -o $@ -version-info 0:0:0 -rpath ${PREFIX}/lib $^ @@ -37,42 +42,37 @@ o Install only one "mupdf" binary, prefer the featureful one and always # --- File lists --- -@@ -89,17 +79,17 @@ XPS_SRC_HDR := $(wildcard source/xps/*.h +@@ -98,13 +84,13 @@ SVG_SRC_HDR := $(wildcard source/svg/*.h HTML_SRC_HDR := $(wildcard source/html/*.h) GPRF_SRC_HDR := $(wildcard source/gprf/*.h) -FITZ_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(FITZ_SRC)))) -PDF_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(PDF_SRC)))) -XPS_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(XPS_SRC)))) +-SVG_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(SVG_SRC)))) -CBZ_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(CBZ_SRC)))) -HTML_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(HTML_SRC)))) -GPRF_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(GPRF_SRC)))) +FITZ_OBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(FITZ_SRC)))) +PDF_OBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(PDF_SRC)))) +XPS_OBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(XPS_SRC)))) ++SVG_OBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(SVG_SRC)))) +CBZ_OBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(CBZ_SRC)))) +HTML_OBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(HTML_SRC)))) +GPRF_OBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(GPRF_SRC)))) - ifeq "$(HAVE_MUJS)" "yes" --PDF_OBJ += $(OUT)/pdf/js/pdf-js.o -+PDF_OBJ += $(OUT)/pdf/js/pdf-js.lo - else --PDF_OBJ += $(OUT)/pdf/js/pdf-js-none.o -+PDF_OBJ += $(OUT)/pdf/js/pdf-js-none.lo - endif - $(FITZ_OBJ) : $(FITZ_HDR) $(FITZ_SRC_HDR) -@@ -123,7 +113,7 @@ FONT_GEN_SIL := $(subst resources/fonts/ + $(PDF_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(PDF_SRC_HDR) +@@ -130,7 +116,7 @@ FONT_GEN_SIL := $(subst resources/fonts/ - FONT_BIN := $(FONT_BIN_DROID) $(FONT_BIN_NOTO) $(FONT_BIN_URW) $(FONT_BIN_SIL) - FONT_GEN := $(FONT_GEN_DROID) $(FONT_GEN_NOTO) $(FONT_GEN_URW) $(FONT_GEN_SIL) + FONT_BIN := $(FONT_BIN_DROID) $(FONT_BIN_NOTO) $(FONT_BIN_HAN) $(FONT_BIN_URW) $(FONT_BIN_SIL) + FONT_GEN := $(FONT_GEN_DROID) $(FONT_GEN_NOTO) $(FONT_GEN_HAN) $(FONT_GEN_URW) $(FONT_GEN_SIL) -FONT_OBJ := $(subst $(GEN)/, $(OUT)/fonts/, $(addsuffix .o, $(basename $(FONT_GEN)))) +FONT_OBJ := $(subst $(GEN)/, $(OUT)/fonts/, $(addsuffix .lo, $(basename $(FONT_GEN)))) - $(GEN)/%.c : resources/fonts/droid/%.ttc $(FONTDUMP) + $(GEN)/%.c : resources/fonts/droid/%.ttf $(FONTDUMP) $(QUIET_GEN) $(FONTDUMP) $@ $< -@@ -141,8 +131,8 @@ $(FONT_GEN_URW) : $(FONT_BIN_URW) +@@ -152,8 +138,8 @@ $(FONT_GEN_SIL) : $(FONT_BIN_SIL) # --- Library --- @@ -81,9 +81,9 @@ o Install only one "mupdf" binary, prefer the featureful one and always +MUPDF_LIB = $(OUT)/libmupdf.la +THIRD_LIB = $(OUT)/libmupdfthird.la - MUPDF_OBJ := $(FITZ_OBJ) $(FONT_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ) - THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(JPEG_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ) -@@ -157,39 +147,39 @@ INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB + MUPDF_OBJ := $(FITZ_OBJ) $(FONT_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(SVG_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ) + THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(JPEG_OBJ) $(JPEGXR_OBJ) $(LURATECH_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ) +@@ -168,39 +154,39 @@ INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB $(ALL_DIR) $(OUT) $(GEN) : $(MKDIR_CMD) @@ -120,7 +120,7 @@ o Install only one "mupdf" binary, prefer the featureful one and always -$(OUT)/platform/x11/%.o: platform/x11/%.rc | $(OUT) +$(OUT)/platform/x11/%.lo: platform/x11/%.rc | $(OUT) - windres $< $@ + $(WINDRES_CMD) -$(OUT)/platform/x11/curl/%.o : platform/x11/%.c | $(ALL_DIR) +$(OUT)/platform/x11/curl/%.lo : platform/x11/%.c | $(ALL_DIR) @@ -135,43 +135,56 @@ o Install only one "mupdf" binary, prefer the featureful one and always # --- Generated CMap and JavaScript files --- -@@ -240,16 +230,16 @@ endif +@@ -251,51 +237,53 @@ endif generate: $(CMAP_GEN) $(FONT_GEN) $(JAVASCRIPT_GEN) $(ADOBECA_GEN) $(NAME_GEN) -$(OUT)/pdf/pdf-cmap-table.o : $(CMAP_GEN) -$(OUT)/pdf/pdf-pkcs7.o : $(ADOBECA_GEN) --$(OUT)/pdf/js/pdf-js.o : $(JAVASCRIPT_GEN) +-$(OUT)/pdf/pdf-js.o : $(JAVASCRIPT_GEN) -$(OUT)/pdf/pdf-object.o : source/pdf/pdf-name-table.h --$(OUT)/cmapdump.o : include/mupdf/pdf/cmap.h source/pdf/pdf-cmap.c source/pdf/pdf-cmap-parse.c source/pdf/pdf-name-table.h +-$(OUT)/cmapdump.o : include/mupdf/pdf/cmap.h source/fitz/context.c source/fitz/error.c source/fitz/memory.c source/fitz/output.c source/fitz/string.c source/fitz/buffer.c source/fitz/stream-open.c source/fitz/stream-read.c source/fitz/strtod.c source/fitz/strtof.c source/fitz/ftoa.c source/fitz/printf.c source/fitz/time.c source/pdf/pdf-lex.c source/pdf/pdf-cmap.c source/pdf/pdf-cmap-parse.c source/pdf/pdf-name-table.h +$(OUT)/pdf/pdf-cmap-table.lo : $(CMAP_GEN) +$(OUT)/pdf/pdf-pkcs7.lo : $(ADOBECA_GEN) -+$(OUT)/pdf/js/pdf-js.lo : $(JAVASCRIPT_GEN) ++$(OUT)/pdf/pdf-js.lo : $(JAVASCRIPT_GEN) +$(OUT)/pdf/pdf-object.lo : source/pdf/pdf-name-table.h -+$(OUT)/cmapdump.lo : include/mupdf/pdf/cmap.h source/pdf/pdf-cmap.c source/pdf/pdf-cmap-parse.c source/pdf/pdf-name-table.h ++$(OUT)/cmapdump.lo : include/mupdf/pdf/cmap.h source/fitz/context.c source/fitz/error.c source/fitz/memory.c source/fitz/output.c source/fitz/string.c source/fitz/buffer.c source/fitz/stream-open.c source/fitz/stream-read.c source/fitz/strtod.c source/fitz/strtof.c source/fitz/ftoa.c source/fitz/printf.c source/fitz/time.c source/pdf/pdf-lex.c source/pdf/pdf-cmap.c source/pdf/pdf-cmap-parse.c source/pdf/pdf-name-table.h # --- Tools and Apps --- - MUTOOL := $(addprefix $(OUT)/, mutool) --MUTOOL_OBJ := $(addprefix $(OUT)/tools/, mutool.o mudraw.o murun.o pdfclean.o pdfcreate.o pdfextract.o pdfinfo.o pdfposter.o pdfshow.o pdfpages.o pdfmerge.o) -+MUTOOL_OBJ := $(addprefix $(OUT)/tools/, mutool.lo mudraw.lo murun.lo pdfclean.lo pdfcreate.lo pdfextract.lo pdfinfo.lo pdfposter.lo pdfshow.lo pdfpages.lo pdfmerge.lo) + MUTOOL := $(OUT)/mutool +-MUTOOL_OBJ := $(addprefix $(OUT)/tools/, mutool.o muconvert.o mudraw.o murun.o) +-MUTOOL_OBJ += $(addprefix $(OUT)/tools/, pdfclean.o pdfcreate.o pdfextract.o pdfinfo.o pdfmerge.o pdfposter.o pdfpages.o pdfshow.o) ++MUTOOL_OBJ := $(addprefix $(OUT)/tools/, mutool.lo muconvert.lo mudraw.lo murun.lo) ++MUTOOL_OBJ += $(addprefix $(OUT)/tools/, pdfclean.lo pdfcreate.lo pdfextract.lo pdfinfo.lo pdfmerge.lo pdfposter.lo pdfpages.lo pdfshow.lo) $(MUTOOL_OBJ): $(FITZ_HDR) $(PDF_HDR) - $(MUTOOL) : $(MUPDF_LIB) $(THIRD_LIB) - $(MUTOOL) : $(MUTOOL_OBJ) -@@ -257,27 +247,27 @@ $(MUTOOL) : $(MUTOOL_OBJ) +-MUTOOL_LIB = $(OUT)/libmutools.a ++MUTOOL_LIB = $(OUT)/libmutools.la + $(MUTOOL_LIB) : $(MUTOOL_OBJ) + $(MUTOOL) : $(MUTOOL_LIB) $(MUPDF_LIB) $(THIRD_LIB) + $(LINK_CMD) + ++INSTALL_LIBS += $(MUTOOL_LIB) ++ + MURASTER := $(OUT)/muraster +-MURASTER_OBJ := $(addprefix $(OUT)/tools/, muraster.o) ++MURASTER_OBJ := $(addprefix $(OUT)/tools/, muraster.lo) + $(MURASTER_OBJ): $(FITZ_HDR) + $(MURASTER) : $(MURASTER_OBJ) $(MUPDF_LIB) $(THIRD_LIB) + $(LINK_CMD) MJSGEN := $(OUT)/mjsgen - $(MJSGEN) : $(MUPDF_LIB) $(THIRD_LIB) --$(MJSGEN) : $(addprefix $(OUT)/tools/, mjsgen.o) -+$(MJSGEN) : $(addprefix $(OUT)/tools/, mjsgen.lo) +-MJSGEN_OBJ := $(addprefix $(OUT)/tools/, mjsgen.o) ++MJSGEN_OBJ := $(addprefix $(OUT)/tools/, mjsgen.lo) + $(MUTOOL_OBJ): $(FITZ_HDR) $(PDF_HDR) + $(MJSGEN) : $(MJSGEN_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) MUJSTEST := $(OUT)/mujstest -MUJSTEST_OBJ := $(addprefix $(OUT)/platform/x11/, jstest_main.o pdfapp.o) +MUJSTEST_OBJ := $(addprefix $(OUT)/platform/x11/, jstest_main.lo pdfapp.lo) $(MUJSTEST_OBJ) : $(FITZ_HDR) $(PDF_HDR) - $(MUJSTEST) : $(MUPDF_LIB) $(THIRD_LIB) - $(MUJSTEST) : $(MUJSTEST_OBJ) + $(MUJSTEST) : $(MUJSTEST_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) ifeq "$(HAVE_X11)" "yes" @@ -180,38 +193,36 @@ o Install only one "mupdf" binary, prefer the featureful one and always +MUVIEW_X11 := $(OUT)/platform/x11/mupdf +MUVIEW_X11_OBJ := $(addprefix $(OUT)/platform/x11/, x11_main.lo x11_image.lo pdfapp.lo) $(MUVIEW_X11_OBJ) : $(FITZ_HDR) $(PDF_HDR) - $(MUVIEW_X11) : $(MUPDF_LIB) $(THIRD_LIB) - $(MUVIEW_X11) : $(MUVIEW_X11_OBJ) + $(MUVIEW_X11) : $(MUVIEW_X11_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) $(X11_LIBS) - ifeq "$(HAVE_GLFW)" "yes" --MUVIEW_GLFW := $(OUT)/mupdf-gl --MUVIEW_GLFW_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.o gl-input.o gl-main.o) -+MUVIEW_GLFW := $(OUT)/platform/gl/mupdf-gl -+MUVIEW_GLFW_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.lo gl-input.lo gl-main.lo) - $(MUVIEW_GLFW_OBJ) : $(FITZ_HDR) $(PDF_HDR) platform/gl/gl-app.h - $(MUVIEW_GLFW) : $(MUPDF_LIB) $(THIRD_LIB) $(GLFW_LIB) - $(MUVIEW_GLFW) : $(MUVIEW_GLFW_OBJ) -@@ -285,8 +275,8 @@ $(MUVIEW_GLFW) : $(MUVIEW_GLFW_OBJ) - endif - ifeq "$(HAVE_CURL)" "yes" -MUVIEW_X11_CURL := $(OUT)/mupdf-x11-curl -MUVIEW_X11_CURL_OBJ := $(addprefix $(OUT)/platform/x11/curl/, x11_main.o x11_image.o pdfapp.o curl_stream.o) +MUVIEW_X11_CURL := $(OUT)/platform/x11/curl/mupdf +MUVIEW_X11_CURL_OBJ := $(addprefix $(OUT)/platform/x11/curl/, x11_main.lo x11_image.lo pdfapp.lo curl_stream.lo) $(MUVIEW_X11_CURL_OBJ) : $(FITZ_HDR) $(PDF_HDR) - $(MUVIEW_X11_CURL) : $(MUPDF_LIB) $(THIRD_LIB) $(CURL_LIB) - $(MUVIEW_X11_CURL) : $(MUVIEW_X11_CURL_OBJ) -@@ -296,17 +286,26 @@ endif + $(MUVIEW_X11_CURL) : $(MUVIEW_X11_CURL_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(CURL_LIB) + $(LINK_CMD) $(X11_LIBS) $(CURL_LIBS) $(SYS_CURL_DEPS) +@@ -303,8 +291,8 @@ endif + endif + + ifeq "$(HAVE_GLFW)" "yes" +-MUVIEW_GLFW := $(OUT)/mupdf-gl +-MUVIEW_GLFW_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.o gl-input.o gl-main.o) ++MUVIEW_GLFW := $(OUT)/platform/gl/mupdf-gl ++MUVIEW_GLFW_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.lo gl-input.lo gl-main.lo) + $(MUVIEW_GLFW_OBJ) : $(FITZ_HDR) $(PDF_HDR) platform/gl/gl-app.h + $(MUVIEW_GLFW) : $(MUVIEW_GLFW_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(GLFW_LIB) + $(LINK_CMD) $(GLFW_LIBS) +@@ -312,16 +300,25 @@ endif ifeq "$(HAVE_WIN32)" "yes" MUVIEW_WIN32 := $(OUT)/mupdf -MUVIEW_WIN32_OBJ := $(addprefix $(OUT)/platform/x11/, win_main.o pdfapp.o win_res.o) +MUVIEW_WIN32_OBJ := $(addprefix $(OUT)/platform/x11/, win_main.lo pdfapp.lo win_res.lo) $(MUVIEW_WIN32_OBJ) : $(FITZ_HDR) $(PDF_HDR) - $(MUVIEW_WIN32) : $(MUPDF_LIB) $(THIRD_LIB) - $(MUVIEW_WIN32) : $(MUVIEW_WIN32_OBJ) + $(MUVIEW_WIN32) : $(MUVIEW_WIN32_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) $(WIN32_LIBS) endif @@ -219,8 +230,8 @@ o Install only one "mupdf" binary, prefer the featureful one and always +MUVIEW := $(MUVIEW_X11) $(MUVIEW_WIN32) MUVIEW_CURL := $(MUVIEW_X11_CURL) $(MUVIEW_WIN32_CURL) --INSTALL_APPS := $(MUTOOL) $(MUVIEW) $(MUJSTEST) $(MUVIEW_CURL) -+INSTALL_APPS := $(MUTOOL) $(MUJSTEST) +-INSTALL_APPS := $(MUTOOL) $(MUVIEW) $(MURASTER) $(MUJSTEST) $(MUVIEW_CURL) ++INSTALL_APPS := $(MUTOOL) $(MURASTER) $(MUJSTEST) +ifeq "$(HAVE_CURL)" "yes" +INSTALL_APPS += $(MUVIEW_CURL) +else ifeq "$(HAVE_X11)" "yes" @@ -233,7 +244,7 @@ o Install only one "mupdf" binary, prefer the featureful one and always # --- Examples --- -@@ -349,24 +348,26 @@ libs: $(INSTALL_LIBS) +@@ -364,24 +361,26 @@ libs: $(INSTALL_LIBS) apps: $(INSTALL_APPS) install: libs apps diff --git a/print/mupdf/patches/patch-source_fitz_load-jpx.c b/print/mupdf/patches/patch-source_fitz_load-jpx.c index 4f062ada5cb..13e03eba33a 100644 --- a/print/mupdf/patches/patch-source_fitz_load-jpx.c +++ b/print/mupdf/patches/patch-source_fitz_load-jpx.c @@ -1,12 +1,10 @@ -$NetBSD: patch-source_fitz_load-jpx.c,v 1.3 2016/07/15 12:32:33 leot Exp $ +$NetBSD: patch-source_fitz_load-jpx.c,v 1.4 2016/11/28 14:40:42 leot Exp $ - o Restrict OPJ_STATIC to Windows (avoid linking errors due to hidden symbols) - o Fix build with openjpeg-2.1. - I have misgivings about the code though. +Restrict OPJ_STATIC to Windows (avoid linking errors due to hidden symbols) ---- source/fitz/load-jpx.c.orig 2016-04-21 11:14:32.000000000 +0000 +--- source/fitz/load-jpx.c.orig 2016-11-08 19:06:14.000000000 +0000 +++ source/fitz/load-jpx.c -@@ -3,7 +3,9 @@ +@@ -484,7 +484,9 @@ fz_load_jpx_info(fz_context *ctx, unsign /* Without the definition of OPJ_STATIC, compilation fails on windows * due to the use of __stdcall. We believe it is required on some * linux toolchains too. */ @@ -16,13 +14,3 @@ $NetBSD: patch-source_fitz_load-jpx.c,v 1.3 2016/07/15 12:32:33 leot Exp $ #ifndef _MSC_VER #define OPJ_HAVE_STDINT_H #endif -@@ -117,7 +119,8 @@ fz_load_jpx(fz_context *ctx, unsigned ch - opj_stream_set_read_function(stream, fz_opj_stream_read); - opj_stream_set_skip_function(stream, fz_opj_stream_skip); - opj_stream_set_seek_function(stream, fz_opj_stream_seek); -- opj_stream_set_user_data(stream, &sb); -+ /* XXX: sb is on the stack, so no user data free-er needed; I'm not sure that placing it on the stack will work though? */ -+ opj_stream_set_user_data(stream, &sb, NULL); - /* Set the length to avoid an assert */ - opj_stream_set_user_data_length(stream, size); - diff --git a/print/mupdf/patches/patch-source_pdf_pdf-shade.c b/print/mupdf/patches/patch-source_pdf_pdf-shade.c deleted file mode 100644 index 15161742fef..00000000000 --- a/print/mupdf/patches/patch-source_pdf_pdf-shade.c +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-source_pdf_pdf-shade.c,v 1.1 2016/08/03 08:50:17 leot Exp $ - -Fix possible heap corruption vulnerability (via upstream bug 696954). - ---- source/pdf/pdf-shade.c.orig 2016-04-21 11:14:32.000000000 +0000 -+++ source/pdf/pdf-shade.c -@@ -206,7 +206,7 @@ pdf_load_mesh_params(fz_context *ctx, pd - obj = pdf_dict_get(ctx, dict, PDF_NAME_Decode); - if (pdf_array_len(ctx, obj) >= 6) - { -- n = (pdf_array_len(ctx, obj) - 4) / 2; -+ n = fz_mini(FZ_MAX_COLORS, (pdf_array_len(ctx, obj) - 4) / 2); - shade->u.m.x0 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 0)); - shade->u.m.x1 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 1)); - shade->u.m.y0 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 2)); diff --git a/print/mupdf/patches/patch-source_pdf_pdf-xref.c b/print/mupdf/patches/patch-source_pdf_pdf-xref.c deleted file mode 100644 index ae0e331381b..00000000000 --- a/print/mupdf/patches/patch-source_pdf_pdf-xref.c +++ /dev/null @@ -1,23 +0,0 @@ -$NetBSD: patch-source_pdf_pdf-xref.c,v 1.1 2016/07/22 15:42:38 leot Exp $ - -Fix for CVE-2016-6265 use after free (via upstream bug 696941). - ---- source/pdf/pdf-xref.c.orig 2016-04-21 11:14:32.000000000 +0000 -+++ source/pdf/pdf-xref.c -@@ -1191,8 +1191,14 @@ pdf_load_xref(fz_context *ctx, pdf_docum - fz_throw(ctx, FZ_ERROR_GENERIC, "object offset out of range: %d (%d 0 R)", (int)entry->ofs, i); - } - if (entry->type == 'o') -- if (entry->ofs <= 0 || entry->ofs >= xref_len || pdf_get_xref_entry(ctx, doc, entry->ofs)->type != 'n') -- fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)entry->ofs, i); -+ { -+ /* Read this into a local variable here, because pdf_get_xref_entry -+ * may solidify the xref, hence invalidating "entry", meaning we -+ * need a stashed value for the throw. */ -+ fz_off_t ofs = entry->ofs; -+ if (ofs <= 0 || ofs >= xref_len || pdf_get_xref_entry(ctx, doc, ofs)->type != 'n') -+ fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)ofs, i); -+ } - } - } - |