summaryrefslogtreecommitdiff
path: root/print
diff options
context:
space:
mode:
authorleot <leot@pkgsrc.org>2016-11-28 14:40:42 +0000
committerleot <leot@pkgsrc.org>2016-11-28 14:40:42 +0000
commit6339d17faa453565d5431f01a99dac27ad012a7a (patch)
tree42257aa0ddc4b92feb961193faf04d53da0ffdce /print
parent55f4908aa09d1d27d397892f0ce6e3168347aae9 (diff)
downloadpkgsrc-6339d17faa453565d5431f01a99dac27ad012a7a.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/DESCR25
-rw-r--r--print/mupdf/Makefile7
-rw-r--r--print/mupdf/PLIST13
-rw-r--r--print/mupdf/buildlink3.mk6
-rw-r--r--print/mupdf/distinfo18
-rw-r--r--print/mupdf/files/mupdf.pc2
-rw-r--r--print/mupdf/patches/patch-ab37
-rw-r--r--print/mupdf/patches/patch-ac127
-rw-r--r--print/mupdf/patches/patch-source_fitz_load-jpx.c20
-rw-r--r--print/mupdf/patches/patch-source_pdf_pdf-shade.c15
-rw-r--r--print/mupdf/patches/patch-source_pdf_pdf-xref.c23
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);
-+ }
- }
- }
-