diff options
author | leot <leot@pkgsrc.org> | 2017-12-18 15:06:33 +0000 |
---|---|---|
committer | leot <leot@pkgsrc.org> | 2017-12-18 15:06:33 +0000 |
commit | 008943c144c13be999d2a7a906a21b91f6c68bc5 (patch) | |
tree | c37c3671064dc34908f4e8d49e8604b97f655493 /print | |
parent | 3d606b256667e92d604842f26beaa9e6c2553ff3 (diff) | |
download | pkgsrc-008943c144c13be999d2a7a906a21b91f6c68bc5.tar.gz |
mupdf: Update print/mupdf to 1.12.0
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.
Diffstat (limited to 'print')
-rw-r--r-- | print/mupdf/Makefile | 11 | ||||
-rw-r--r-- | print/mupdf/PLIST | 51 | ||||
-rw-r--r-- | print/mupdf/buildlink3.mk | 9 | ||||
-rw-r--r-- | print/mupdf/distinfo | 27 | ||||
-rw-r--r-- | print/mupdf/files/mupdf.pc | 2 | ||||
-rw-r--r-- | print/mupdf/options.mk | 19 | ||||
-rw-r--r-- | print/mupdf/patches/patch-CVE-2017-14685 | 20 | ||||
-rw-r--r-- | print/mupdf/patches/patch-CVE-2017-14686 | 19 | ||||
-rw-r--r-- | print/mupdf/patches/patch-CVE-2017-14687 | 101 | ||||
-rw-r--r-- | print/mupdf/patches/patch-CVE-2017-15369 | 39 | ||||
-rw-r--r-- | print/mupdf/patches/patch-CVE-2017-15587 | 18 | ||||
-rw-r--r-- | print/mupdf/patches/patch-Makethird | 20 | ||||
-rw-r--r-- | print/mupdf/patches/patch-ab | 87 | ||||
-rw-r--r-- | print/mupdf/patches/patch-ac | 221 | ||||
-rw-r--r-- | print/mupdf/patches/patch-platform_gl_gl-app.h | 20 | ||||
-rw-r--r-- | print/mupdf/patches/patch-source_fitz_load-jpx.c | 13 | ||||
-rw-r--r-- | print/mupdf/patches/patch-thirdparty_mujs_Makefile | 6 |
17 files changed, 272 insertions, 411 deletions
diff --git a/print/mupdf/Makefile b/print/mupdf/Makefile index b99f830a223..daf785bcc4a 100644 --- a/print/mupdf/Makefile +++ b/print/mupdf/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.54 2017/10/25 11:00:03 leot Exp $ +# $NetBSD: Makefile,v 1.55 2017/12/18 15:06:33 leot Exp $ -DISTNAME= mupdf-1.11-source +DISTNAME= mupdf-1.12.0-source PKGNAME= ${DISTNAME:S/-source//} -PKGREVISION= 5 CATEGORIES= print MASTER_SITES= https://mupdf.com/downloads/archive/ @@ -34,10 +33,11 @@ CFLAGS.SunOS+= -D_XOPEN_SOURCE=600 post-extract: ${RM} -fr \ ${WRKSRC}/thirdparty/curl \ + ${WRKSRC}/thirdparty/freeglut \ ${WRKSRC}/thirdparty/freetype \ - ${WRKSRC}/thirdparty/glfw \ ${WRKSRC}/thirdparty/harfbuzz \ ${WRKSRC}/thirdparty/jbig2dec \ + ${WRKSRC}/thirdparty/lcms2 \ ${WRKSRC}/thirdparty/libjpeg \ ${WRKSRC}/thirdparty/openjpeg \ ${WRKSRC}/thirdparty/zlib @@ -54,6 +54,9 @@ post-install: .include "../../graphics/jbig2dec/buildlink3.mk" .include "../../mk/jpeg.buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" +# XXX: Needs lcms2-2.9 that ATM is not in pkgsrc. +#BUILDLINK_API_DEPENDS.lcms2+= lcms2>=2.9 +#.include "../../graphics/lcms2/buildlink3.mk" .include "../../graphics/openjpeg/buildlink3.mk" .include "../../graphics/png/buildlink3.mk" .include "../../x11/libXext/buildlink3.mk" diff --git a/print/mupdf/PLIST b/print/mupdf/PLIST index a1792f0a872..c3f44b71c6c 100644 --- a/print/mupdf/PLIST +++ b/print/mupdf/PLIST @@ -1,7 +1,8 @@ -@comment $NetBSD: PLIST,v 1.14 2017/04/12 13:03:08 leot Exp $ +@comment $NetBSD: PLIST,v 1.15 2017/12/18 15:06:33 leot Exp $ +bin/mjsgen bin/mujstest bin/mupdf -${PLIST.glfw}bin/mupdf-gl +${PLIST.opengl}bin/mupdf-gl bin/muraster bin/mutool include/mupdf/fitz.h @@ -11,7 +12,9 @@ include/mupdf/fitz/band-writer.h include/mupdf/fitz/bidi.h include/mupdf/fitz/bitmap.h include/mupdf/fitz/buffer.h +include/mupdf/fitz/color-management.h include/mupdf/fitz/colorspace.h +include/mupdf/fitz/compress.h include/mupdf/fitz/compressed-buffer.h include/mupdf/fitz/config.h include/mupdf/fitz/context.h @@ -21,7 +24,6 @@ include/mupdf/fitz/display-list.h include/mupdf/fitz/document.h include/mupdf/fitz/filter.h include/mupdf/fitz/font.h -include/mupdf/fitz/function.h include/mupdf/fitz/geometry.h include/mupdf/fitz/getopt.h include/mupdf/fitz/glyph-cache.h @@ -31,9 +33,11 @@ include/mupdf/fitz/image.h include/mupdf/fitz/link.h include/mupdf/fitz/outline.h include/mupdf/fitz/output-pcl.h +include/mupdf/fitz/output-pclm.h include/mupdf/fitz/output-png.h include/mupdf/fitz/output-pnm.h include/mupdf/fitz/output-ps.h +include/mupdf/fitz/output-psd.h include/mupdf/fitz/output-pwg.h include/mupdf/fitz/output-svg.h include/mupdf/fitz/output-tga.h @@ -52,12 +56,10 @@ 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/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 include/mupdf/pdf-tools.h include/mupdf/pdf.h @@ -80,7 +82,7 @@ include/mupdf/pdf/parse.h include/mupdf/pdf/resource.h include/mupdf/pdf/widget.h include/mupdf/pdf/xref.h -include/mupdf/svg.h +include/mupdf/ucdn.h lib/libmupdf.la lib/libmupdfthird.la lib/libmuthreads.la @@ -90,9 +92,34 @@ man/man1/mutool.1 share/doc/mupdf/CHANGES share/doc/mupdf/COPYING share/doc/mupdf/README -share/doc/mupdf/naming.txt -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 +share/doc/mupdf/android-sdk.html +share/doc/mupdf/artifex-logo.png +share/doc/mupdf/building.html +share/doc/mupdf/coding-overview.html +share/doc/mupdf/coding-progressive.html +share/doc/mupdf/coding-style.html +share/doc/mupdf/examples/create-thumbnail.js +share/doc/mupdf/examples/draw-device.js +share/doc/mupdf/examples/draw-document.js +share/doc/mupdf/examples/example.c +share/doc/mupdf/examples/jpx-to-pdf.js +share/doc/mupdf/examples/multi-threaded.c +share/doc/mupdf/examples/pdf-create-lowlevel.js +share/doc/mupdf/examples/pdf-create.js +share/doc/mupdf/examples/pdf-merge.js +share/doc/mupdf/examples/trace-device.js +share/doc/mupdf/index.html +share/doc/mupdf/manual-mupdf-gl.html +share/doc/mupdf/manual-mutool-clean.html +share/doc/mupdf/manual-mutool-convert.html +share/doc/mupdf/manual-mutool-create.html +share/doc/mupdf/manual-mutool-draw.html +share/doc/mupdf/manual-mutool-extract.html +share/doc/mupdf/manual-mutool-merge.html +share/doc/mupdf/manual-mutool-portfolio.html +share/doc/mupdf/manual-mutool-run.html +share/doc/mupdf/manual-mutool-show.html +share/doc/mupdf/manual-mutool-trace.html +share/doc/mupdf/style.css +share/doc/mupdf/template.html +share/doc/mupdf/thirdparty.html diff --git a/print/mupdf/buildlink3.mk b/print/mupdf/buildlink3.mk index 26d59898824..a696de73c1f 100644 --- a/print/mupdf/buildlink3.mk +++ b/print/mupdf/buildlink3.mk @@ -1,12 +1,11 @@ -# $NetBSD: buildlink3.mk,v 1.20 2017/08/24 20:03:00 adam Exp $ +# $NetBSD: buildlink3.mk,v 1.21 2017/12/18 15:06:33 leot Exp $ BUILDLINK_TREE+= mupdf .if !defined(MUPDF_BUILDLINK3_MK) MUPDF_BUILDLINK3_MK:= -BUILDLINK_API_DEPENDS.mupdf+= mupdf>=1.11 -BUILDLINK_ABI_DEPENDS.mupdf?= mupdf>=1.11nb3 +BUILDLINK_API_DEPENDS.mupdf+= mupdf>=1.12.0 BUILDLINK_PKGSRCDIR.mupdf?= ../../print/mupdf pkgbase := mupdf @@ -16,9 +15,9 @@ pkgbase := mupdf .include "../../www/curl/buildlink3.mk" .endif -.if !empty(PKG_BUILD_OPTIONS.mupdf:Mglfw) +.if !empty(PKG_BUILD_OPTIONS.mupdf:Mopengl) .include "../../graphics/MesaLib/buildlink3.mk" -.include "../../graphics/glfw/buildlink3.mk" +.include "../../graphics/glut/buildlink3.mk" .endif .include "../../devel/zlib/buildlink3.mk" diff --git a/print/mupdf/distinfo b/print/mupdf/distinfo index 10f4b506f9f..a9d912ba51f 100644 --- a/print/mupdf/distinfo +++ b/print/mupdf/distinfo @@ -1,18 +1,13 @@ -$NetBSD: distinfo,v 1.38 2017/10/25 11:00:03 leot Exp $ +$NetBSD: distinfo,v 1.39 2017/12/18 15:06:33 leot Exp $ -SHA1 (mupdf-1.11-source.tar.gz) = f782d36aaa896319207e81953e5a622201477b5b -RMD160 (mupdf-1.11-source.tar.gz) = 573307473a1ac81aca4519b0e57a7111aae7803f -SHA512 (mupdf-1.11-source.tar.gz) = 501670f540e298a8126806ebbd9db8b29866f663b7bbf26c9ade1933e42f0c00ad410b9d93f3ddbfb3e45c38722869095de28d832fe3fb3703c55cc9a01dbf63 -Size (mupdf-1.11-source.tar.gz) = 40156070 bytes -SHA1 (patch-CVE-2017-14685) = c84be44c21ca29e0d0a455e0d7efe9a38ac46fb5 -SHA1 (patch-CVE-2017-14686) = b573adc7baa25a2f8b2068b1833f4cc17f38f3eb -SHA1 (patch-CVE-2017-14687) = 651efafea77050216645ded2e2d3592970713b74 -SHA1 (patch-CVE-2017-15369) = 37bc5e52c67591b04640c03f5a227c278a26aa11 -SHA1 (patch-CVE-2017-15587) = 3bdafc7647148b0b29d37804a14306ea4458a529 -SHA1 (patch-Makethird) = a4d1bb3c8d509a84803c9b60521fd9b6b17b9717 -SHA1 (patch-ab) = a18b1e5b82454bdf06e23185e619b7f8c7a24290 -SHA1 (patch-ac) = c2decf6eae4c6343636439c7d7f6621826fc4e3c +SHA1 (mupdf-1.12.0-source.tar.gz) = 0daee66600023de2bda2f1928a97a8515c17d2d2 +RMD160 (mupdf-1.12.0-source.tar.gz) = 9d36991f260c55c28ffc7f3b1d2acee84f735407 +SHA512 (mupdf-1.12.0-source.tar.gz) = 11ae620e55e9ebd5844abd7decacc0dafc90dd1f4907ba6ed12f5c725d3920187fc730a7fc33979bf3ff9451da7dbb51f34480a878083e2064f3455555f47d96 +Size (mupdf-1.12.0-source.tar.gz) = 51508917 bytes +SHA1 (patch-Makethird) = 77820f7344e00140a9792b5a6a3ddb1afa01b7bb +SHA1 (patch-ab) = 0aafa5815fc0907e3ddcc8f0e7c83510a82669d8 +SHA1 (patch-ac) = 799efd894505fd960953905e61022411e8adf1ef SHA1 (patch-ae) = c6b113818b32cb4470e8549c00a16e0b2f364ede -SHA1 (patch-scripts_hexdump.c) = 65a029086f429a1f8568066a712c1d8e0106c867 -SHA1 (patch-source_fitz_load-jpx.c) = 57f22296a519d9e0ab9247fd5e742e2390a63fd5 -SHA1 (patch-thirdparty_mujs_Makefile) = cd6a20d56020ae5028f95e24e75f5e4a62127f9f +SHA1 (patch-platform_gl_gl-app.h) = 6e5e547df27ecb2b82cadd71489d2eb9138c1ce2 +SHA1 (patch-source_fitz_load-jpx.c) = 18b47e3b478183c8e85a6ad1e6cabbbf48cf9f6b +SHA1 (patch-thirdparty_mujs_Makefile) = 713946f25ae1ea44878b19b9430324e3d9f98990 diff --git a/print/mupdf/files/mupdf.pc b/print/mupdf/files/mupdf.pc index 80d03bc1df4..f5661112eab 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.11 +Version: 1.12.0 Libs: -Wl,-R${libdir} -L${libdir} -lmupdf -lmupdfthird -lmuthreads Cflags: -I${includedir} diff --git a/print/mupdf/options.mk b/print/mupdf/options.mk index fce0fd513c4..aee17a80a98 100644 --- a/print/mupdf/options.mk +++ b/print/mupdf/options.mk @@ -1,25 +1,28 @@ -# $NetBSD: options.mk,v 1.5 2017/04/12 13:03:08 leot Exp $ +# $NetBSD: options.mk,v 1.6 2017/12/18 15:06:33 leot Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.mupdf -PKG_SUPPORTED_OPTIONS= curl glfw +PKG_SUPPORTED_OPTIONS= curl opengl .include "../../mk/bsd.options.mk" -PLIST_VARS+= glfw +PLIST_VARS+= opengl # # curl support # .if !empty(PKG_OPTIONS:Mcurl) .include "../../www/curl/buildlink3.mk" +.else +MAKE_ENV+= HAVE_CURL=no .endif # -# glfw support +# glut support # -.if !empty(PKG_OPTIONS:Mglfw) -PLIST.glfw= yes +.if !empty(PKG_OPTIONS:Mopengl) +PLIST.opengl= yes .include "../../graphics/MesaLib/buildlink3.mk" -BUILDLINK_API_DEPENDS.glfw+= glfw>=3.2.1 -.include "../../graphics/glfw/buildlink3.mk" +.include "../../graphics/glut/buildlink3.mk" +.else +MAKE_ENV+= HAVE_GLUT=no .endif diff --git a/print/mupdf/patches/patch-CVE-2017-14685 b/print/mupdf/patches/patch-CVE-2017-14685 deleted file mode 100644 index eb9154635d2..00000000000 --- a/print/mupdf/patches/patch-CVE-2017-14685 +++ /dev/null @@ -1,20 +0,0 @@ -$NetBSD: patch-CVE-2017-14685,v 1.1 2017/10/25 11:00:03 leot Exp $ - -Fix 698539: Don't use xps font if it could not be loaded. -(AKA CVE-2017-14685) - -xps_load_links_in_glyphs did not cope with font loading failures. - -From upstream commit ab1a420613dec93c686acbee2c165274e922f82a - ---- source/xps/xps-link.c.orig -+++ source/xps/xps-link.c -@@ -91,6 +91,8 @@ xps_load_links_in_glyphs(fz_context *ctx, xps_document *doc, const fz_matrix *ct - bidi_level = atoi(bidi_level_att); - - font = xps_lookup_font(ctx, doc, base_uri, font_uri_att, style_att); -+ if (!font) -+ return; - text = xps_parse_glyphs_imp(ctx, doc, &local_ctm, font, fz_atof(font_size_att), - fz_atof(origin_x_att), fz_atof(origin_y_att), - is_sideways, bidi_level, indices_att, unicode_att); diff --git a/print/mupdf/patches/patch-CVE-2017-14686 b/print/mupdf/patches/patch-CVE-2017-14686 deleted file mode 100644 index b0023929b19..00000000000 --- a/print/mupdf/patches/patch-CVE-2017-14686 +++ /dev/null @@ -1,19 +0,0 @@ -$NetBSD: patch-CVE-2017-14686,v 1.1 2017/10/25 11:00:03 leot Exp $ - -Fix bug 698540: Check name, comment and meta size field signs. -(AKA CVE-2017-14686) - -From upstream commit 0f0fbc07d9be31f5e83ec5328d7311fdfd8328b1 - ---- source/fitz/unzip.c.orig -+++ source/fitz/unzip.c -@@ -141,6 +141,9 @@ static void read_zip_dir_imp(fz_context *ctx, fz_zip_archive *zip, int start_off - (void) fz_read_int32_le(ctx, file); /* ext file atts */ - offset = fz_read_int32_le(ctx, file); - -+ if (namesize < 0 || metasize < 0 || commentsize < 0) -+ fz_throw(ctx, FZ_ERROR_GENERIC, "invalid size in zip entry"); -+ - name = fz_malloc(ctx, namesize + 1); - n = fz_read(ctx, file, (unsigned char*)name, namesize); - if (n < (size_t)namesize) diff --git a/print/mupdf/patches/patch-CVE-2017-14687 b/print/mupdf/patches/patch-CVE-2017-14687 deleted file mode 100644 index f562ac2da3e..00000000000 --- a/print/mupdf/patches/patch-CVE-2017-14687 +++ /dev/null @@ -1,101 +0,0 @@ -$NetBSD: patch-CVE-2017-14687,v 1.1 2017/10/25 11:00:03 leot Exp $ - -Fix 698558: Handle non-tags in tag name comparisons. -(AKA CVE-2017-14687) - -Use fz_xml_is_tag instead of fz_xml_tag && !strcmp idiom. - -From upstream commit 2b16dbd8f73269cb15ca61ece75cf8d2d196ed28 - ---- source/html/css-apply.c.orig -+++ source/html/css-apply.c -@@ -328,7 +328,7 @@ match_selector(fz_css_selector *sel, fz_xml *node) - - if (sel->name) - { -- if (strcmp(sel->name, fz_xml_tag(node))) -+ if (!fz_xml_is_tag(node, sel->name)) - return 0; - } - ---- source/svg/svg-run.c.orig -+++ source/svg/svg-run.c -@@ -1044,7 +1044,7 @@ svg_run_use(fz_context *ctx, fz_device *dev, svg_document *doc, fz_xml *root, co - fz_xml *linked = fz_tree_lookup(ctx, doc->idmap, xlink_href_att + 1); - if (linked) - { -- if (!strcmp(fz_xml_tag(linked), "symbol")) -+ if (fz_xml_is_tag(linked, "symbol")) - svg_run_use_symbol(ctx, dev, doc, root, linked, &local_state); - else - svg_run_element(ctx, dev, doc, linked, &local_state); ---- source/xps/xps-common.c.orig -+++ source/xps/xps-common.c -@@ -47,7 +47,7 @@ xps_parse_brush(fz_context *ctx, xps_document *doc, const fz_matrix *ctm, const - else if (fz_xml_is_tag(node, "RadialGradientBrush")) - xps_parse_radial_gradient_brush(ctx, doc, ctm, area, base_uri, dict, node); - else -- fz_warn(ctx, "unknown brush tag: %s", fz_xml_tag(node)); -+ fz_warn(ctx, "unknown brush tag"); - } - - void -@@ -85,7 +85,7 @@ xps_begin_opacity(fz_context *ctx, xps_document *doc, const fz_matrix *ctm, cons - if (opacity_att) - opacity = fz_atof(opacity_att); - -- if (opacity_mask_tag && !strcmp(fz_xml_tag(opacity_mask_tag), "SolidColorBrush")) -+ if (fz_xml_is_tag(opacity_mask_tag, "SolidColorBrush")) - { - char *scb_opacity_att = fz_xml_att(opacity_mask_tag, "Opacity"); - char *scb_color_att = fz_xml_att(opacity_mask_tag, "Color"); -@@ -129,7 +129,7 @@ xps_end_opacity(fz_context *ctx, xps_document *doc, char *base_uri, xps_resource - - if (opacity_mask_tag) - { -- if (strcmp(fz_xml_tag(opacity_mask_tag), "SolidColorBrush")) -+ if (!fz_xml_is_tag(opacity_mask_tag, "SolidColorBrush")) - fz_pop_clip(ctx, dev); - } - } ---- source/xps/xps-glyphs.c.orig -+++ source/xps/xps-glyphs.c -@@ -592,7 +592,7 @@ xps_parse_glyphs(fz_context *ctx, xps_document *doc, const fz_matrix *ctm, - - /* If it's a solid color brush fill/stroke do a simple fill */ - -- if (fill_tag && !strcmp(fz_xml_tag(fill_tag), "SolidColorBrush")) -+ if (fz_xml_is_tag(fill_tag, "SolidColorBrush")) - { - fill_opacity_att = fz_xml_att(fill_tag, "Opacity"); - fill_att = fz_xml_att(fill_tag, "Color"); ---- source/xps/xps-path.c.orig -+++ source/xps/xps-path.c -@@ -879,14 +879,14 @@ xps_parse_path(fz_context *ctx, xps_document *doc, const fz_matrix *ctm, char *b - if (!data_att && !data_tag) - return; - -- if (fill_tag && !strcmp(fz_xml_tag(fill_tag), "SolidColorBrush")) -+ if (fz_xml_is_tag(fill_tag, "SolidColorBrush")) - { - fill_opacity_att = fz_xml_att(fill_tag, "Opacity"); - fill_att = fz_xml_att(fill_tag, "Color"); - fill_tag = NULL; - } - -- if (stroke_tag && !strcmp(fz_xml_tag(stroke_tag), "SolidColorBrush")) -+ if (fz_xml_is_tag(stroke_tag, "SolidColorBrush")) - { - stroke_opacity_att = fz_xml_att(stroke_tag, "Opacity"); - stroke_att = fz_xml_att(stroke_tag, "Color"); ---- source/xps/xps-resource.c.orig -+++ source/xps/xps-resource.c -@@ -84,7 +84,7 @@ xps_parse_remote_resource_dictionary(fz_context *ctx, xps_document *doc, char *b - if (!xml) - return NULL; - -- if (strcmp(fz_xml_tag(xml), "ResourceDictionary")) -+ if (!fz_xml_is_tag(xml, "ResourceDictionary")) - { - fz_drop_xml(ctx, xml); - fz_throw(ctx, FZ_ERROR_GENERIC, "expected ResourceDictionary element"); diff --git a/print/mupdf/patches/patch-CVE-2017-15369 b/print/mupdf/patches/patch-CVE-2017-15369 deleted file mode 100644 index 6096098abfd..00000000000 --- a/print/mupdf/patches/patch-CVE-2017-15369 +++ /dev/null @@ -1,39 +0,0 @@ -$NetBSD: patch-CVE-2017-15369,v 1.1 2017/10/25 11:00:03 leot Exp $ - -Bug 698592: Mark variable fz_var(), avoiding optimization. -(AKA CVE-2017-15369) - -The change in 2707fa9e8e6d17d794330e719dec1b08161fb045 -in build_filter_chain() allows for the variable chain -to reside in a register, which means that the bug is -likely to only be visible if built under optimization. - -First the chain variable is transferred to chain2, then -set to NULL, then when an exception occurs in build_filter() -the filter chain will be freed by build_filter(). Next -the expectation is that execution proceeds to fz_catch() -where fz_drop_stream() would be called with chain == NULL. - -However due to the chain variable residing in a register, -its value is not NULL as expected, but was reset to its -original value upon the exception (since they use setjmp()), -hence fz_drop_stream() is called with a non-NULL value. - -Marking the chain variable with fz_var() prevents the -compiler from allowing the chain variable to reside in -a register and hence its value will remain NULL and -never be reset. - -From upstream commit c2663e51238ec8256da7fc61ad580db891d9fe9a - ---- source/pdf/pdf-stream.c.orig -+++ source/pdf/pdf-stream.c -@@ -246,6 +246,8 @@ build_filter_chain(fz_context *ctx, fz_stream *chain, pdf_document *doc, pdf_obj - pdf_obj *p; - int i, n; - -+ fz_var(chain); -+ - fz_try(ctx) - { - n = pdf_array_len(ctx, fs); diff --git a/print/mupdf/patches/patch-CVE-2017-15587 b/print/mupdf/patches/patch-CVE-2017-15587 deleted file mode 100644 index 2242c7ed7f7..00000000000 --- a/print/mupdf/patches/patch-CVE-2017-15587 +++ /dev/null @@ -1,18 +0,0 @@ -$NetBSD: patch-CVE-2017-15587,v 1.1 2017/10/25 11:00:03 leot Exp $ - -Check for integer overflow when validating new style xref Index. -(AKA CVE-2017-15587) - -From upstream commit 82df2631d7d0446b206ea6b434ea609b6c28b0e8 - ---- source/pdf/pdf-xref.c.orig -+++ source/pdf/pdf-xref.c -@@ -924,7 +924,7 @@ pdf_read_new_xref_section(fz_context *ctx, pdf_document *doc, fz_stream *stm, fz - pdf_xref_entry *table; - int i, n; - -- if (i0 < 0 || i1 < 0) -+ if (i0 < 0 || i1 < 0 || (i0+i1) < 0) - fz_throw(ctx, FZ_ERROR_GENERIC, "negative xref stream entry index"); - //if (i0 + i1 > pdf_xref_len(ctx, doc)) - // fz_throw(ctx, FZ_ERROR_GENERIC, "xref stream has too many entries"); diff --git a/print/mupdf/patches/patch-Makethird b/print/mupdf/patches/patch-Makethird index 8cc007fff9f..a4a6503a6b4 100644 --- a/print/mupdf/patches/patch-Makethird +++ b/print/mupdf/patches/patch-Makethird @@ -1,10 +1,12 @@ -$NetBSD: patch-Makethird,v 1.7 2017/04/12 13:03:08 leot Exp $ +$NetBSD: patch-Makethird,v 1.8 2017/12/18 15:06:34 leot Exp $ -o mujs building support with libtool +- mujs building support with libtool +- Avoid the internal lcms2 version provided and honors SYS_LCMS2_{CFLAGS,LIBS}. + These are handled in patches/patch-ab. ---- Makethird.orig 2017-03-31 14:23:45.000000000 +0000 +--- Makethird.orig 2017-11-23 11:42:45.000000000 +0000 +++ Makethird -@@ -26,13 +26,13 @@ ifneq "$(wildcard $(MUJS_DIR)/README)" " +@@ -27,13 +27,13 @@ ifneq "$(wildcard $(MUJS_DIR)/README)" " MUJS_OUT := $(OUT)/thirdparty/mujs MUJS_SRC := one.c @@ -21,3 +23,13 @@ o mujs building support with libtool $(CC_CMD) MUJS_CFLAGS := -I$(MUJS_DIR) +@@ -575,7 +575,8 @@ $(LCMS2_OUT)/%.o: $(LCMS2_DIR)/src/%.c | + + LCMS2_CFLAGS := -I$(LCMS2_DIR)/include + else +-LCMS2_CFLAGS := -DNO_ICC ++LCMS2_CFLAGS := $(SYS_LCMS2_CFLAGS) ++LCMS2_LIBS := $(SYS_LCMS2_LIBS) + endif + + # --- cURL --- diff --git a/print/mupdf/patches/patch-ab b/print/mupdf/patches/patch-ab index ae6c049801c..f62119e795f 100644 --- a/print/mupdf/patches/patch-ab +++ b/print/mupdf/patches/patch-ab @@ -1,12 +1,17 @@ -$NetBSD: patch-ab,v 1.15 2017/05/19 18:00:38 fhajny Exp $ +$NetBSD: patch-ab,v 1.16 2017/12/18 15:06:34 leot Exp $ -o Handle the various operating systems in the same way avoiding hardcoding -o Properly recognize glfw support +- Handle the various operating systems in the same way avoiding hardcoding +- Avoid internal version of freeglut and try to pick it up via pkg-config and + set SYS_GLUT_{CFLAGS,LIBS} accordingly. +- Avoid internal version of lcms2 and try to pick it up via pkg-config and + set SYS_LCMS2_{CFLAGS,LIBS} accordingly. + If no lcms2 is available just pass `-DNO_ICC' to disable it via + SYS_LCMS2_CFLAGS. ---- Makerules.orig 2017-04-05 11:02:21.000000000 +0000 +--- Makerules.orig 2017-11-23 11:42:45.000000000 +0000 +++ Makerules -@@ -64,54 +64,6 @@ ifeq "$(largefile)" "yes" - CFLAGS += -DFZ_LARGEFILE +@@ -62,41 +62,10 @@ else + $(error unknown build setting: '$(build)') endif -# Windows (MINGW) build doesn't use system libraries. @@ -24,35 +29,14 @@ o Properly recognize glfw support - -HAVE_X11 ?= no - --HAVE_PTHREAD := yes --SYS_PTHREAD_CFLAGS := --SYS_PTHREAD_LIBS := -lpthread +-HAVE_GLUT ?= yes +-SYS_GLUT_CFLAGS := -Wno-deprecated-declarations +-SYS_GLUT_LIBS := -framework GLUT -framework OpenGL - --# 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 -- --SYS_X11_CFLAGS := -I/usr/X11R6/include --SYS_X11_LIBS := -L/usr/X11R6/lib -lX11 -lXext -- --SYS_FREETYPE_CFLAGS := $(shell freetype-config --cflags) --SYS_FREETYPE_LIBS := $(shell freetype-config --libs) --SYS_OPENJPEG_LIBS := -lopenjpeg --SYS_JBIG2DEC_LIBS := -ljbig2dec --SYS_LIBJPEG_LIBS := -ljpeg --SYS_ZLIB_LIBS := -lz -- --CC := xcrun cc --AR := xcrun ar --LD := xcrun ld --RANLIB_CMD := xcrun ranlib $@ +-CC = xcrun cc +-AR = xcrun ar +-LD = xcrun ld +-RANLIB_CMD = xcrun ranlib $@ - -# Linux uses pkg-config for system libraries. -else ifeq "$(OS)" "Linux" @@ -60,7 +44,15 @@ o Properly recognize glfw support HAVE_PTHREAD := yes SYS_PTHREAD_CFLAGS := SYS_PTHREAD_LIBS := -lpthread -@@ -132,7 +84,6 @@ SYS_CURL_CFLAGS += $(shell pkg-config -- + +-HAVE_GLUT := yes +-SYS_GLUT_CFLAGS := +-SYS_GLUT_LIBS := -lglut -lGL +- + ifeq "$(shell pkg-config --exists 'libcrypto <= 1.0.1t' && echo yes)" "yes" + HAVE_LIBCRYPTO := yes + SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO $(shell pkg-config --cflags libcrypto) +@@ -113,7 +82,6 @@ SYS_CURL_CFLAGS += $(shell pkg-config -- SYS_CURL_DEPS += $(shell pkg-config --libs openssl) endif endif @@ -68,22 +60,31 @@ o Properly recognize glfw support ifeq "$(shell pkg-config --exists x11 xext && echo yes)" "yes" HAVE_X11 := yes -@@ -140,6 +91,14 @@ SYS_X11_CFLAGS := $(shell pkg-config --c +@@ -121,6 +89,12 @@ SYS_X11_CFLAGS := $(shell pkg-config --c SYS_X11_LIBS := $(shell pkg-config --libs x11 xext) endif -+ifeq "$(shell pkg-config --exists glfw3 && pkg-config --exists gl && echo yes)" "yes" -+HAVE_GLFW := yes -+SYS_GLFW_CFLAGS := $(shell pkg-config --cflags glfw3) -+SYS_GLFW_CFLAGS += $(shell pkg-config --cflags gl) -+SYS_GLFW_LIBS := $(shell pkg-config --libs glfw3) -+SYS_GLFW_LIBS += $(shell pkg-config --libs gl) ++ifeq "$(shell pkg-config --exists glut && pkg-config --exists gl && echo yes)" "yes" ++HAVE_GLUT ?= yes ++SYS_GLUT_CFLAGS := $(shell pkg-config --cflags glut) ++SYS_GLUT_LIBS := $(shell pkg-config --libs glut) +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) -@@ -159,8 +118,6 @@ SYS_JBIG2DEC_LIBS := -ljbig2dec +@@ -136,12 +110,17 @@ SYS_OPENJPEG_CFLAGS := $(shell pkg-confi + SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2) + endif + ++ifeq "$(shell pkg-config --exists lcms2 && echo yes)" "yes" ++SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2) ++SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2) ++else ++SYS_LCMS2_CFLAGS := -DNO_ICC ++endif ++ + SYS_JBIG2DEC_LIBS := -ljbig2dec SYS_LIBJPEG_LIBS := -ljpeg SYS_ZLIB_LIBS := -lz diff --git a/print/mupdf/patches/patch-ac b/print/mupdf/patches/patch-ac index 51ae7871306..a56d1eaf272 100644 --- a/print/mupdf/patches/patch-ac +++ b/print/mupdf/patches/patch-ac @@ -1,49 +1,32 @@ -$NetBSD: patch-ac,v 1.17 2017/07/16 08:29:53 leot Exp $ +$NetBSD: patch-ac,v 1.18 2017/12/18 15:06:34 leot Exp $ -o libtool support -o Install target cleanup -o Also install muthreads library (needed by various tools) -o Do not force `-O0' flag when building -o Get rid of unused VERSION variable and `version:' target (otherwise `git' can +- libtool support +- Install target cleanup +- Also install muthreads library (needed by various tools) +- Do not force `-O0' flag when building +- Get rid of unused VERSION variable and `version:' target (otherwise `git' can be invoked during the building phase) -o Install only one "mupdf" binary, prefer the featureful one and always - install it as "mupdf" +- Install only one `mupdf' binary, prefer the featureful one and always + install it as `mupdf'. ---- Makefile.orig 2017-04-05 11:02:21.000000000 +0000 +--- Makefile.orig 2017-11-23 11:42:45.000000000 +0000 +++ Makefile -@@ -57,65 +57,51 @@ ALL_DIR += $(OUT)/platform/gl - - # --- Commands --- - --ifneq "$(verbose)" "yes" --QUIET_AR = @ echo ' ' ' ' AR $@ ; --QUIET_CC = @ echo ' ' ' ' CC $@ ; --QUIET_CXX = @ echo ' ' ' ' CXX $@ ; --QUIET_GEN = @ echo ' ' ' ' GEN $@ ; --QUIET_LINK = @ echo ' ' ' ' LINK $@ ; --QUIET_MKDIR = @ echo ' ' ' ' MKDIR $@ ; --QUIET_RM = @ echo ' ' ' ' RM $@ ; --QUIET_TAGS = @ echo ' ' ' ' TAGS $@ ; --QUIET_WINDRES = @ echo ' ' ' ' WINDRES $@ ; --endif -- +@@ -71,10 +71,10 @@ QUIET_TAGS = @ echo ' ' ' ' TAGS $@ ; + QUIET_WINDRES = @ echo ' ' ' ' WINDRES $@ ; + endif + -CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $< -CXX_CMD = $(QUIET_CXX) $(CXX) $(CFLAGS) -o $@ -c $< -AR_CMD = $(QUIET_AR) $(AR) cr $@ $^ -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) $(LDFLAGS) -o $@ -version-info 0:0:0 -rpath ${PREFIX}/lib $^ -+LINK_CMD = ${LIBTOOL} --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -+MKDIR_CMD = mkdir -p $@ -+RM_CMD = rm -f $@ - - # --- Rules --- - ++CC_CMD = $(QUIET_CC) ${LIBTOOL} --mode=compile $(CC) $(CFLAGS) -o $@ -c $< ++CXX_CMD = $(QUIET_CXX) ${LIBTOOL} --mode=compile $(CXX) $(CFLAGS) -o $@ -c $< ++AR_CMD = $(QUIET_AR) ${LIBTOOL} --mode=link $(CC) $(LDFLAGS) -o $@ -version-info 0:0:0 -rpath ${PREFIX}/lib $^ ++LINK_CMD = $(QUIET_LINK) ${LIBTOOL} --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(LIBS) + MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@ + RM_CMD = $(QUIET_RM) rm -f $@ + TAGS_CMD = $(QUIET_TAGS) ctags $^ +@@ -85,42 +85,42 @@ WINDRES_CMD = $(QUIET_WINDRES) $(WINDRES $(ALL_DIR) $(OUT) generated : $(MKDIR_CMD) @@ -57,17 +40,13 @@ o Install only one "mupdf" binary, prefer the featureful one and always +$(OUT)/%.exe: $(OUT)/%.lo | $(ALL_DIR) $(LINK_CMD) --$(OUT)/%.o : %.c | $(ALL_DIR) -+$(OUT)/%.lo : %.c | $(ALL_DIR) - $(CC_CMD) - --$(OUT)/%.o : %.cpp | $(ALL_DIR) -+$(OUT)/%.lo : %.cpp | $(ALL_DIR) - $(CXX_CMD) - -$(OUT)/source/helpers/%.o : source/helpers/%.c | $(ALL_DIR) +$(OUT)/source/helpers/%.lo : source/helpers/%.c | $(ALL_DIR) - $(CC_CMD) $(PTHREAD_CFLAGS) -DHAVE_PTHREAD + $(CC_CMD) $(THREADING_CFLAGS) + +-$(OUT)/source/tools/%.o : source/tools/%.c | $(ALL_DIR) ++$(OUT)/source/tools/%.lo : source/tools/%.c | $(ALL_DIR) + $(CC_CMD) $(THREADING_CFLAGS) -$(OUT)/generated/%.o : generated/%.c | $(ALL_DIR) - $(CC_CMD) -O0 @@ -88,14 +67,22 @@ o Install only one "mupdf" binary, prefer the featureful one and always -$(OUT)/platform/gl/%.o : platform/gl/%.c | $(ALL_DIR) +$(OUT)/platform/gl/%.lo : platform/gl/%.c | $(ALL_DIR) - $(CC_CMD) $(GLFW_CFLAGS) + $(CC_CMD) $(GLUT_CFLAGS) + +-$(OUT)/%.o : %.c | $(ALL_DIR) ++$(OUT)/%.lo : %.c | $(ALL_DIR) + $(CC_CMD) + +-$(OUT)/%.o : %.cpp | $(ALL_DIR) ++$(OUT)/%.lo : %.cpp | $(ALL_DIR) + $(CXX_CMD) -.PRECIOUS : $(OUT)/%.o # Keep intermediates from chained rules +.PRECIOUS : $(OUT)/%.lo # Keep intermediates from chained rules # --- File lists --- -@@ -141,14 +127,14 @@ SVG_SRC_HDR := $(wildcard source/svg/*.h +@@ -144,14 +144,14 @@ SVG_SRC_HDR := $(wildcard source/svg/*.h HTML_SRC_HDR := $(wildcard source/html/*.h) GPRF_SRC_HDR := $(wildcard source/gprf/*.h) @@ -118,7 +105,7 @@ o Install only one "mupdf" binary, prefer the featureful one and always $(FITZ_OBJ) : $(FITZ_HDR) $(FITZ_SRC_HDR) $(PDF_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(PDF_SRC_HDR) -@@ -172,7 +158,7 @@ ifneq "$(CROSSCOMPILE)" "yes" +@@ -177,7 +177,7 @@ ifneq "$(CROSSCOMPILE)" "yes" $(NAME_GEN) : $(NAMEDUMP_EXE) endif @@ -127,7 +114,7 @@ o Install only one "mupdf" binary, prefer the featureful one and always generate: $(NAME_GEN) -@@ -194,7 +180,7 @@ FONT_GEN_SIL := $(subst resources/fonts/ +@@ -199,7 +199,7 @@ FONT_GEN_SIL := $(subst resources/fonts/ 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) @@ -135,42 +122,44 @@ o Install only one "mupdf" binary, prefer the featureful one and always +FONT_OBJ := $(FONT_GEN:%.c=$(OUT)/%.lo) generated/%.c : resources/fonts/droid/%.ttf $(HEXDUMP_EXE) | generated - $(QUIET_GEN) $(HEXDUMP_EXE) $@ $< -@@ -244,7 +230,7 @@ ifneq "$(CROSSCOMPILE)" "yes" - $(CMAP_GEN) : $(CMAPDUMP_EXE) - endif + $(QUIET_GEN) $(HEXDUMP_EXE) -s $@ $< +@@ -229,7 +229,7 @@ generate: $(FONT_GEN) + + ICC_BIN := resources/icc/gray.icc resources/icc/rgb.icc resources/icc/cmyk.icc resources/icc/lab.icc + ICC_GEN := generated/icc-profiles.c +-ICC_OBJ := $(ICC_GEN:%.c=$(OUT)/%.o) ++ICC_OBJ := $(ICC_GEN:%.c=$(OUT)/%.lo) + + $(ICC_OBJ) : $(ICC_GEN) + $(ICC_GEN) : $(ICC_BIN) | generated +@@ -255,7 +255,7 @@ CMAP_GEN := \ + generated/pdf-cmap-extra.c \ + generated/pdf-cmap-utf8.c \ + generated/pdf-cmap-utf32.c +-CMAP_OBJ := $(CMAP_GEN:%.c=$(OUT)/%.o) ++CMAP_OBJ := $(CMAP_GEN:%.c=$(OUT)/%.lo) + + generated/pdf-cmap-cjk.c : $(CMAP_CJK_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_CJK_SRC) +@@ -274,7 +274,7 @@ endif + + generate: $(CMAP_GEN) -$(OUT)/scripts/cmapdump.o : \ +$(OUT)/scripts/cmapdump.lo : \ $(NAME_GEN) \ include/mupdf/pdf/cmap.h \ source/fitz/context.c \ -@@ -264,7 +250,7 @@ $(OUT)/scripts/cmapdump.o : \ - source/pdf/pdf-cmap.c \ - source/pdf/pdf-cmap-parse.c \ +@@ -297,7 +297,7 @@ $(OUT)/scripts/cmapdump.o : \ --$(OUT)/source/pdf/pdf-cmap-table.o : $(CMAP_GEN) -+$(OUT)/source/pdf/pdf-cmap-table.lo : $(CMAP_GEN) + JAVASCRIPT_SRC := source/pdf/pdf-js-util.js + JAVASCRIPT_GEN := generated/pdf-js-util.c +-JAVASCRIPT_OBJ := $(JAVASCRIPT_GEN:%.c=$(OUT)/%.o) ++JAVASCRIPT_OBJ := $(JAVASCRIPT_GEN:%.c=$(OUT)/%.lo) - generate: $(CMAP_GEN) - -@@ -279,7 +265,7 @@ ifneq "$(CROSSCOMPILE)" "yes" - $(ADOBECA_GEN) : $(HEXDUMP_EXE) - endif - --$(OUT)/source/pdf/pdf-pkcs7.o : $(ADOBECA_GEN) -+$(OUT)/source/pdf/pdf-pkcs7.lo : $(ADOBECA_GEN) - - generate: $(ADOBECA_GEN) - -@@ -294,15 +280,15 @@ ifneq "$(CROSSCOMPILE)" "yes" - $(JAVASCRIPT_GEN) : $(HEXDUMP_EXE) - endif - --$(OUT)/source/pdf/pdf-js.o : $(JAVASCRIPT_GEN) -+$(OUT)/source/pdf/pdf-js.lo : $(JAVASCRIPT_GEN) - - generate: $(JAVASCRIPT_GEN) + $(JAVASCRIPT_GEN) : $(JAVASCRIPT_SRC) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) -0 $@ $(JAVASCRIPT_SRC) +@@ -312,9 +312,9 @@ generate: $(JAVASCRIPT_GEN) # --- Library --- @@ -181,9 +170,9 @@ o Install only one "mupdf" binary, prefer the featureful one and always +THIRD_LIB = $(OUT)/libmupdfthird.la +THREAD_LIB = $(OUT)/libmuthreads.la - 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) $(LIBJPEG_OBJ) $(JPEGXR_OBJ) $(LURATECH_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ) -@@ -312,46 +298,46 @@ $(MUPDF_LIB) : $(MUPDF_OBJ) + MUPDF_OBJ := \ + $(FITZ_OBJ) \ +@@ -347,46 +347,46 @@ $(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) : $(THIRD_OBJ) $(THREAD_LIB) : $(THREAD_OBJ) @@ -193,20 +182,20 @@ o Install only one "mupdf" binary, prefer the featureful one and always # --- Tools and Apps --- MUTOOL_EXE := $(OUT)/mutool - MUTOOL_SRC := source/tools/mutool.c source/tools/muconvert.c source/tools/mudraw.c source/tools/murun.c - MUTOOL_SRC += $(wildcard source/tools/pdf*.c) + MUTOOL_SRC := source/tools/mutool.c source/tools/muconvert.c source/tools/mudraw.c source/tools/murun.c source/tools/mutrace.c + MUTOOL_SRC += $(sort $(wildcard source/tools/pdf*.c)) -MUTOOL_OBJ := $(MUTOOL_SRC:%.c=$(OUT)/%.o) +MUTOOL_OBJ := $(MUTOOL_SRC:%.c=$(OUT)/%.lo) $(MUTOOL_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(MUTOOL_EXE) : $(MUTOOL_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) - $(LINK_CMD) $(PTHREAD_LIBS) + $(LINK_CMD) $(THREADING_LIBS) MURASTER_EXE := $(OUT)/muraster -MURASTER_OBJ := $(OUT)/source/tools/muraster.o +MURASTER_OBJ := $(OUT)/source/tools/muraster.lo $(MURASTER_OBJ) : $(FITZ_HDR) $(MURASTER_EXE) : $(MURASTER_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) - $(LINK_CMD) $(PTHREAD_LIBS) + $(LINK_CMD) $(THREADING_LIBS) MJSGEN_EXE := $(OUT)/mjsgen -MJSGEN_OBJ := $(OUT)/source/tools/mjsgen.o @@ -239,18 +228,18 @@ o Install only one "mupdf" binary, prefer the featureful one and always $(MUVIEW_X11_CURL_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(MUVIEW_X11_CURL_EXE) : $(MUVIEW_X11_CURL_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(CURL_LIB) $(LINK_CMD) $(X11_LIBS) $(CURL_LIBS) $(SYS_CURL_DEPS) -@@ -359,8 +345,8 @@ endif +@@ -394,8 +394,8 @@ endif endif - ifeq "$(HAVE_GLFW)" "yes" --MUVIEW_GLFW_EXE := $(OUT)/mupdf-gl --MUVIEW_GLFW_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.o gl-input.o gl-main.o) -+MUVIEW_GLFW_EXE := $(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_EXE) : $(MUVIEW_GLFW_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(GLFW_LIB) - $(LINK_CMD) $(GLFW_LIBS) -@@ -368,7 +354,7 @@ endif + ifeq "$(HAVE_GLUT)" "yes" +-MUVIEW_GLUT_EXE := $(OUT)/mupdf-gl +-MUVIEW_GLUT_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.o gl-input.o gl-main.o) ++MUVIEW_GLUT_EXE := $(OUT)/platform/gl/mupdf-gl ++MUVIEW_GLUT_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.lo gl-input.lo gl-main.lo) + $(MUVIEW_GLUT_OBJ) : $(FITZ_HDR) $(PDF_HDR) platform/gl/gl-app.h + $(MUVIEW_GLUT_EXE) : $(MUVIEW_GLUT_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(GLUT_LIB) + $(LINK_CMD) $(GLUT_LIB) $(GLUT_LIBS) +@@ -403,7 +403,7 @@ endif ifeq "$(HAVE_WIN32)" "yes" MUVIEW_WIN32_EXE := $(OUT)/mupdf @@ -259,8 +248,8 @@ o Install only one "mupdf" binary, prefer the featureful one and always $(MUVIEW_WIN32_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(MUVIEW_WIN32_EXE) : $(MUVIEW_WIN32_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) $(WIN32_LIBS) -@@ -377,11 +363,20 @@ endif - MUVIEW_EXE := $(MUVIEW_X11_EXE) $(MUVIEW_WIN32_EXE) $(MUVIEW_GLFW_EXE) +@@ -412,11 +412,20 @@ endif + MUVIEW_EXE := $(MUVIEW_X11_EXE) $(MUVIEW_WIN32_EXE) $(MUVIEW_GLUT_EXE) MUVIEW_CURL_EXE := $(MUVIEW_X11_CURL_EXE) $(MUVIEW_WIN32_CURL_EXE) -INSTALL_APPS := $(MUTOOL_EXE) $(MUVIEW_EXE) @@ -268,21 +257,21 @@ o Install only one "mupdf" binary, prefer the featureful one and always INSTALL_APPS += $(MURASTER_EXE) -INSTALL_APPS += $(MUVIEW_CURL_EXE) INSTALL_APPS += $(MUJSTEST_EXE) - + INSTALL_APPS += $(MJSGEN_EXE) ++ +ifeq "$(HAVE_CURL)" "yes" +INSTALL_APPS += $(MUVIEW_CURL_EXE) +else ifeq "$(HAVE_X11)" "yes" +INSTALL_APPS += $(MUVIEW_EXE) +endif + -+ifeq "$(HAVE_GLFW)" "yes" -+INSTALL_APPS += $(MUVIEW_GLFW_EXE) ++ifeq "$(HAVE_GLUT)" "yes" ++INSTALL_APPS += $(MUVIEW_GLUT_EXE) +endif -+ + # --- Examples --- - examples: $(OUT)/example $(OUT)/multi-threaded -@@ -393,10 +388,10 @@ $(OUT)/multi-threaded: docs/multi-thread +@@ -429,10 +438,10 @@ $(OUT)/multi-threaded: docs/examples/mul # --- Update version string header --- @@ -297,7 +286,7 @@ o Install only one "mupdf" binary, prefer the featureful one and always # --- Format man pages --- -@@ -423,24 +418,26 @@ libs: $(INSTALL_LIBS) +@@ -459,27 +468,29 @@ libs: $(INSTALL_LIBS) apps: $(INSTALL_APPS) install: libs apps @@ -313,6 +302,15 @@ o Install only one "mupdf" binary, prefer the featureful one and always - - install -d $(DESTDIR)$(bindir) - install $(INSTALL_APPS) $(DESTDIR)$(bindir) +- +- install -d $(DESTDIR)$(mandir)/man1 +- install docs/man/*.1 $(DESTDIR)$(mandir)/man1 +- +- install -d $(DESTDIR)$(docdir) +- install -d $(DESTDIR)$(docdir)/examples +- install README COPYING CHANGES $(DESTDIR)$(docdir) +- install docs/*.html docs/*.css docs/*.png $(DESTDIR)$(docdir) +- install docs/examples/* $(DESTDIR)$(docdir)/examples + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(incdir) $(DESTDIR)$(incdir)/mupdf $(DESTDIR)$(incdir)/mupdf/fitz $(DESTDIR)$(incdir)/mupdf/pdf + ${BSD_INSTALL_DATA} include/mupdf/*.h $(DESTDIR)$(incdir)/mupdf + ${BSD_INSTALL_DATA} include/mupdf/fitz/*.h $(DESTDIR)$(incdir)/mupdf/fitz @@ -327,16 +325,15 @@ o Install only one "mupdf" binary, prefer the featureful one and always + for f in $(INSTALL_APPS); do \ + ${LIBTOOL} --mode=install ${BSD_INSTALL_PROGRAM} $$f $(DESTDIR)$(bindir); \ + done - -- install -d $(DESTDIR)$(mandir)/man1 -- install docs/man/*.1 $(DESTDIR)$(mandir)/man1 ++ + ${BSD_INSTALL_MAN_DIR} $(DESTDIR)$(mandir)/man1 + ${BSD_INSTALL_MAN} docs/man/*.1 $(DESTDIR)$(mandir)/man1 - -- install -d $(DESTDIR)$(docdir) -- install README COPYING CHANGES docs/*.txt $(DESTDIR)$(docdir) ++ + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir) -+ ${BSD_INSTALL_DATA} README COPYING CHANGES docs/*.txt $(DESTDIR)$(docdir) ++ ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(docdir)/examples ++ ${BSD_INSTALL_DATA} README COPYING CHANGES $(DESTDIR)$(docdir) ++ ${BSD_INSTALL_DATA} docs/*.html docs/*.css docs/*.png $(DESTDIR)$(docdir) ++ ${BSD_INSTALL_DATA} docs/examples/* $(DESTDIR)$(docdir)/examples tarball: bash scripts/archive.sh diff --git a/print/mupdf/patches/patch-platform_gl_gl-app.h b/print/mupdf/patches/patch-platform_gl_gl-app.h new file mode 100644 index 00000000000..de3c37f4e97 --- /dev/null +++ b/print/mupdf/patches/patch-platform_gl_gl-app.h @@ -0,0 +1,20 @@ +$NetBSD: patch-platform_gl_gl-app.h,v 1.1 2017/12/18 15:06:34 leot Exp $ + +- Do not force freeglut GLUT implementation to every non-APPLE platforms. +- Adjust the glut.h include. + +--- platform/gl/gl-app.h.orig 2017-11-23 11:42:45.000000000 +0000 ++++ platform/gl/gl-app.h +@@ -7,11 +7,7 @@ int win_open_file(char *buf, int len); + #include "mupdf/fitz.h" + #include "mupdf/ucdn.h" + +-#ifndef __APPLE__ +-#include <GL/freeglut.h> +-#else +-#include <GLUT/glut.h> +-#endif ++#include <GL/glut.h> + + extern fz_context *ctx; + diff --git a/print/mupdf/patches/patch-source_fitz_load-jpx.c b/print/mupdf/patches/patch-source_fitz_load-jpx.c index 072703d269a..949707ceac5 100644 --- a/print/mupdf/patches/patch-source_fitz_load-jpx.c +++ b/print/mupdf/patches/patch-source_fitz_load-jpx.c @@ -1,6 +1,7 @@ -$NetBSD: patch-source_fitz_load-jpx.c,v 1.6 2017/10/19 20:32:07 leot Exp $ +$NetBSD: patch-source_fitz_load-jpx.c,v 1.7 2017/12/18 15:06:34 leot Exp $ -- Restrict OPJ_STATIC to Windows (avoid linking errors due to hidden symbols) +- Restrict OPJ_STATIC to Windows. + This avoid linking errors due to opj_* hidden symbols when linking libmupdf. - MuPDF does some locking around its allocation calls; it overrides openjpeg's allocators to do this locking too. However mupdf tries to manually align things @@ -15,9 +16,9 @@ $NetBSD: patch-source_fitz_load-jpx.c,v 1.6 2017/10/19 20:32:07 leot Exp $ From OpenBSD ports textproc/mupdf/patch-source_fitz_load-jpx_c,v 1.5. ---- source/fitz/load-jpx.c.orig 2017-04-05 11:02:21.000000000 +0000 +--- source/fitz/load-jpx.c.orig 2017-11-23 11:42:45.000000000 +0000 +++ source/fitz/load-jpx.c -@@ -444,7 +444,9 @@ fz_load_jpx_info(fz_context *ctx, unsign +@@ -445,7 +445,9 @@ fz_load_jpx_info(fz_context *ctx, const #else /* HAVE_LURATECH */ @@ -25,9 +26,9 @@ $NetBSD: patch-source_fitz_load-jpx.c,v 1.6 2017/10/19 20:32:07 leot Exp $ #define OPJ_STATIC +#endif #define OPJ_HAVE_INTTYPES_H - #if !defined(_WIN32) && !defined(_WIN64) + #if !defined(_MSC_VER) || _MSC_VER >= 1600 #define OPJ_HAVE_STDINT_H -@@ -554,30 +556,14 @@ void opj_free(void *ptr) +@@ -555,30 +557,14 @@ void opj_free(void *ptr) void * opj_aligned_malloc(size_t size) { diff --git a/print/mupdf/patches/patch-thirdparty_mujs_Makefile b/print/mupdf/patches/patch-thirdparty_mujs_Makefile index 6092fd76d4e..12f4ebaf3ee 100644 --- a/print/mupdf/patches/patch-thirdparty_mujs_Makefile +++ b/print/mupdf/patches/patch-thirdparty_mujs_Makefile @@ -1,7 +1,7 @@ -$NetBSD: patch-thirdparty_mujs_Makefile,v 1.2 2017/04/12 13:03:08 leot Exp $ +$NetBSD: patch-thirdparty_mujs_Makefile,v 1.3 2017/12/18 15:06:34 leot Exp $ -o Add libtool support lo mujs. -o Avoid to set (unused) VERSION variable. +- Add libtool support to mujs. +- Avoid to set (unused) VERSION variable. --- thirdparty/mujs/Makefile.orig 2017-03-29 13:56:39.000000000 +0000 +++ thirdparty/mujs/Makefile |