diff --git a/graphics/mupdf/Makefile b/graphics/mupdf/Makefile index 057881eb99c8..e1be24f4825c 100644 --- a/graphics/mupdf/Makefile +++ b/graphics/mupdf/Makefile @@ -1,69 +1,66 @@ PORTNAME= mupdf -DISTVERSION= 1.25.6 +DISTVERSION= 1.26.3 DISTVERSIONSUFFIX= -source PORTEPOCH= 1 CATEGORIES= graphics MASTER_SITES= http://www.mupdf.com/downloads/archive/ MAINTAINER= uzsolt@FreeBSD.org COMMENT= Lightweight PDF viewer and toolkit WWW= https://www.mupdf.com/ LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= libcurl.so:ftp/curl \ +BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils +LIB_DEPENDS= libbrotlidec.so:archivers/brotli \ + libbrotlienc.so:archivers/brotli \ + libcurl.so:ftp/curl \ libfreetype.so:print/freetype2 \ + libgumbo.so:devel/gumbo \ libharfbuzz.so:print/harfbuzz \ libjbig2dec.so:graphics/jbig2dec \ libopenjp2.so:graphics/openjpeg -USES= compiler:c++11-lang cpe gl gmake jpeg pkgconfig xorg +USES= compiler:c++20-lang cpe gl gmake jpeg pkgconfig ssl xorg CPE_VENDOR= artifex USE_GL= gl glut USE_LDCONFIG= yes USE_XORG= x11 xcursor xext xinerama xrandr -MAKE_ARGS= build=release \ +_VERSION_MINOR= ${DISTVERSION:E} +_VERSION_MAJOR= ${DISTVERSION:R:E} +MAKE_ARGS= AR=${LOCALBASE}/bin/ar \ + build=release \ mandir=${PREFIX}/share/man \ prefix=${PREFIX} \ - SOVERSION=${DISTVERSION} \ + shared=yes \ + USE_SYSTEM_LIBS=yes \ verbose=yes \ - XCFLAGS+="-I${WRKSRC}/include/mupdf -fPIC" \ - XLIBS+="-L${LOCALBASE}/lib -L${WRKSRC}/build/release" + XCFLAGS="${CFLAGS} -I${WRKSRC}/include/mupdf -fPIC" \ + XLIB_LDFLAGS="-Wl,-soname,libmupdf.so.${_VERSION_MAJOR}" \ + XLIBS="-L${LOCALBASE}/lib -L${WRKSRC}/build/release ${LDFLAGS}" ALL_TARGET= all extra-libs - -# pkg-config to avoid the conflict with openjpeg15 -CFLAGS+= `pkg-config --cflags libopenjp2` -LDFLAGS+= `pkg-config --libs libjpeg libopenjp2` -ljbig2dec +INSTALL_TARGET= install install-extra-apps BINARY_ALIAS= bash=/bin/sh -PLIST_SUB= SOVERSION=${PORTVERSION} +PLIST_SUB= VERSION_MAJOR=${_VERSION_MAJOR} \ + VERSION_MINOR=${_VERSION_MINOR} OPTIONS_DEFINE= DOCS JS SCROLL OPTIONS_DEFAULT= SCROLL JS_DESC= JavaScript support (V8 engine) SCROLL_DESC= Build with scroll hacks JS_LIB_DEPENDS= libv8.so:lang/v8 JS_MAKE_ARGS= V8_PRESENT=1 \ V8LIBS=-lv8 SCROLL_EXTRA_PATCHES= ${FILESDIR}/scroll_hack-platform__x11__pdfapp.c -post-patch: - @${REINPLACE_CMD} -e 's/-pipe -O2//' -e 's/-ldl//' ${WRKSRC}/Makerules - post-install: ${MV} ${STAGEDIR}${PREFIX}/bin/mupdf-x11 \ ${STAGEDIR}${PREFIX}/bin/mupdf - ${INSTALL_PROGRAM} \ - ${WRKSRC}/build/release/muraster \ - ${STAGEDIR}${PREFIX}/bin - ${LN} -s libmupdf.so.${PORTVERSION} \ - ${STAGEDIR}${PREFIX}/lib/libmupdf.so - ${LN} -s libmupdf-third.so.${PORTVERSION} \ - ${STAGEDIR}${PREFIX}/lib/libmupdf-third.so .include diff --git a/graphics/mupdf/distinfo b/graphics/mupdf/distinfo index 44b8a35ce355..afd38195b1a6 100644 --- a/graphics/mupdf/distinfo +++ b/graphics/mupdf/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1745040655 -SHA256 (mupdf-1.25.6-source.tar.gz) = 5a51d8bd5ed690d3c8bf82b3c7c3f1cf5f9dde40887a36e3b5aa78a7e3ccd1bb -SIZE (mupdf-1.25.6-source.tar.gz) = 54637444 +TIMESTAMP = 1752431401 +SHA256 (mupdf-1.26.3-source.tar.gz) = ab467fc2d888cd8424cdce4bc6dd7ec61f34820582ddf3769a336e6909d9a48e +SIZE (mupdf-1.26.3-source.tar.gz) = 64525703 diff --git a/graphics/mupdf/files/patch-Makefile b/graphics/mupdf/files/patch-Makefile index f0e900bcb7d8..5e6e9433c122 100644 --- a/graphics/mupdf/files/patch-Makefile +++ b/graphics/mupdf/files/patch-Makefile @@ -1,26 +1,11 @@ -$OpenBSD: patch-Makefile,v 1.12 2016/12/12 10:54:39 sthen Exp $ ---- Makefile.orig 2022-10-30 12:16:03 UTC +--- Makefile.orig 2025-07-13 20:35:02 UTC +++ Makefile -@@ -257,17 +257,19 @@ $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ) - $(THREAD_LIB) : $(THREAD_OBJ) - $(PKCS7_LIB) : $(PKCS7_OBJ) - else --MUPDF_LIB = $(OUT)/libmupdf.a -+MUPDF_LIB = $(OUT)/libmupdf.so.$(SOVERSION) -+THIRD_LIB = $(OUT)/libmupdf-third.so.$(SOVERSION) - LIBS_TO_INSTALL_IN_LIB = $(MUPDF_LIB) $(THIRD_LIB) --THIRD_LIB = $(OUT)/libmupdf-third.a - ifneq ($(USE_SYSTEM_GLUT),yes) - THIRD_GLUT_LIB = $(OUT)/libmupdf-glut.a - endif - THREAD_LIB = $(OUT)/libmupdf-threads.a - PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a +@@ -116,7 +116,7 @@ $(OUT)/generated/%.o : generated/%.c + $(CC_CMD) $(LIB_CFLAGS) $(WARNING_CFLAGS) $(THIRD_CFLAGS) $(THREADING_CFLAGS) --$(MUPDF_LIB) : $(MUPDF_OBJ) -+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) -+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf.so.$(SOVERSION) - $(THIRD_LIB) : $(THIRD_OBJ) -+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-third.so.$(SOVERSION) - $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ) - $(THREAD_LIB) : $(THREAD_OBJ) - $(PKCS7_LIB) : $(PKCS7_OBJ) + $(OUT)/generated/%.o : generated/%.c +- $(CC_CMD) $(WARNING_CFLAGS) $(LIB_CFLAGS) -O0 ++ $(CC_CMD) $(WARNING_CFLAGS) $(LIB_CFLAGS) + + $(OUT)/platform/x11/%.o : platform/x11/%.c + $(CC_CMD) $(WARNING_CFLAGS) $(X11_CFLAGS) diff --git a/graphics/mupdf/files/patch-Makerules b/graphics/mupdf/files/patch-Makerules index d03a83bbeb7d..00558a02e170 100644 --- a/graphics/mupdf/files/patch-Makerules +++ b/graphics/mupdf/files/patch-Makerules @@ -1,46 +1,106 @@ ---- Makerules.orig 2023-11-24 18:10:54 UTC +--- Makerules.orig 2025-05-19 15:38:05 UTC +++ Makerules -@@ -331,3 +331,43 @@ ifeq "$(OS)" "ios" +@@ -131,28 +131,28 @@ else ifeq ($(build),release) + CFLAGS += -pipe -g + LDFLAGS += -g + else ifeq ($(build),release) +- CFLAGS += -pipe -O2 -DNDEBUG ++ CFLAGS += -DNDEBUG + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s + else ifeq ($(build),small) + CFLAGS += -pipe -Os -DNDEBUG + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s + else ifeq ($(build),valgrind) +- CFLAGS += -pipe -O2 -DNDEBUG -DPACIFY_VALGRIND ++ CFLAGS += -DNDEBUG -DPACIFY_VALGRIND + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s + else ifeq ($(build),sanitize) + CFLAGS += -pipe -g $(SANITIZE_FLAGS) + LDFLAGS += -g $(SANITIZE_FLAGS) + else ifeq ($(build),sanitize-release) +- CFLAGS += -pipe -O2 -DNDEBUG $(SANITIZE_FLAGS) ++ CFLAGS += -DNDEBUG $(SANITIZE_FLAGS) + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s $(SANITIZE_FLAGS) + else ifeq ($(build),profile) +- CFLAGS += -pipe -O2 -DNDEBUG -pg ++ CFLAGS += -DNDEBUG -pg + LDFLAGS += -pg + else ifeq ($(build),coverage) + CFLAGS += -pipe -g -pg -fprofile-arcs -ftest-coverage + LIBS += -lgcov + else ifeq ($(build),native) +- CFLAGS += -pipe -O2 -DNDEBUG -march=native ++ CFLAGS += -DNDEBUG -march=native + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s + else ifeq ($(build),memento) + CFLAGS += -pipe -g -DMEMENTO -DMEMENTO_MUPDF_HACKS +@@ -162,11 +162,11 @@ else ifeq ($(build),memento) + ifeq ($(OS),OpenBSD) + LIBS += -L /usr/local/lib -l execinfo + else +- LIBS += -ldl ++ LIBS += + endif + endif + else ifeq ($(build),gperf) +- CFLAGS += -pipe -O2 -DNDEBUG -DGPERF ++ CFLAGS += -DNDEBUG -DGPERF + LIBS += -lprofiler + else + $(error unknown build setting: '$(build)') +@@ -201,6 +201,46 @@ ifeq ($(OS),Darwin) LD = xcrun ld RANLIB = xcrun ranlib - endif + + + +# added from FreeBSD ports +PTHREAD_LIBS := -lthr +USE_SYSTEM_CURL := yes +SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl) +SYS_CURL_LIBS := $(shell pkg-config --libs libcurl) +USE_SYSTEM_FREETYPE := yes +SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2) +SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2) +HAVE_GLUT := yes +USE_SYSTEM_GLUT := yes +SYS_GLUT_CFLAGS := $(shell pkg-config --cflags gl glut) +SYS_GLUT_LIBS := $(shell pkg-config --libs gl glut) +USE_SYSTEM_HARFBUZZ := yes +SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz) +SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz) +USE_SYSTEM_JBIG2DEC := yes +SYS_JBIG2DEC_CFLAGS := $(shell pkg-config --cflags jbig2dec) +SYS_JIB2DEC_LIBS := $(shell pkg-config --libs jbig2dec) +USE_SYSTEM_LCMS2 := no +HAVE_LIBCRYPTO := no +SYS_LIBCRYPTO_CFLAGS := +SYS_LIBCRYPTO_LIBS := +USE_SYSTEM_LIBJPEG := yes +SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg) +SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg) +USE_SYSTEM_OPENJPEG := yes +SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2) +SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2) +HAVE_OPENSSL_SSL := no +HAVE_PTHREAD := yes +SYS_PTHREAD_CFLAGS := +SYS_PTHREAD_LIBS := -lpthread +HAVE_X11 := yes +X11_CFLAGS := $(shell pkg-config --cflags x11 xext) +X11_LIBS := $(shell pkg-config --libs x11 xext) +USE_SYSTEM_ZLIB := yes +SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib) +SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib) + ifneq ($(ARCHFLAGS),) + $(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.") + HAVE_LIBCRYPTO := no +@@ -220,7 +260,7 @@ else + HAVE_OBJCOPY := yes + endif + +- ifeq ($(OS),OpenBSD) ++ ifeq ($(OS),FreeBSD) + LDFLAGS += -pthread + endif + diff --git a/graphics/mupdf/pkg-plist b/graphics/mupdf/pkg-plist index 59aea52d60a8..5418efd0aad6 100644 --- a/graphics/mupdf/pkg-plist +++ b/graphics/mupdf/pkg-plist @@ -1,114 +1,116 @@ bin/mupdf bin/mupdf-gl +bin/mupdf-x11-curl bin/muraster bin/mutool include/mupdf/fitz.h include/mupdf/fitz/archive.h include/mupdf/fitz/band-writer.h +include/mupdf/fitz/barcode.h include/mupdf/fitz/bidi.h include/mupdf/fitz/bitmap.h include/mupdf/fitz/buffer.h include/mupdf/fitz/color.h include/mupdf/fitz/compress.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/deskew.h include/mupdf/fitz/device.h include/mupdf/fitz/display-list.h include/mupdf/fitz/document.h include/mupdf/fitz/export.h include/mupdf/fitz/filter.h include/mupdf/fitz/font.h include/mupdf/fitz/geometry.h include/mupdf/fitz/getopt.h include/mupdf/fitz/glyph-cache.h include/mupdf/fitz/glyph.h include/mupdf/fitz/hash.h include/mupdf/fitz/heap-imp.h include/mupdf/fitz/heap.h include/mupdf/fitz/image.h +include/mupdf/fitz/json.h include/mupdf/fitz/link.h include/mupdf/fitz/log.h include/mupdf/fitz/outline.h include/mupdf/fitz/output-svg.h include/mupdf/fitz/output.h include/mupdf/fitz/path.h include/mupdf/fitz/pixmap.h include/mupdf/fitz/pool.h include/mupdf/fitz/separation.h include/mupdf/fitz/shade.h include/mupdf/fitz/store.h include/mupdf/fitz/story-writer.h include/mupdf/fitz/story.h include/mupdf/fitz/stream.h include/mupdf/fitz/string-util.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/types.h include/mupdf/fitz/util.h include/mupdf/fitz/version.h include/mupdf/fitz/write-pixmap.h include/mupdf/fitz/writer.h include/mupdf/fitz/xml.h include/mupdf/html.h include/mupdf/memento.h include/mupdf/pdf.h include/mupdf/pdf/annot.h include/mupdf/pdf/clean.h include/mupdf/pdf/cmap.h include/mupdf/pdf/crypt.h include/mupdf/pdf/document.h include/mupdf/pdf/event.h include/mupdf/pdf/font.h include/mupdf/pdf/form.h include/mupdf/pdf/image-rewriter.h include/mupdf/pdf/interpret.h include/mupdf/pdf/javascript.h include/mupdf/pdf/name-table.h include/mupdf/pdf/object.h include/mupdf/pdf/page.h include/mupdf/pdf/parse.h include/mupdf/pdf/recolor.h include/mupdf/pdf/resource.h include/mupdf/pdf/xref.h include/mupdf/pdf/zugferd.h include/mupdf/ucdn.h -lib/libmupdf-third.so -lib/libmupdf-third.so.%%SOVERSION%% lib/libmupdf.so -lib/libmupdf.so.%%SOVERSION%% +lib/libmupdf.so.%%VERSION_MAJOR%% +lib/libmupdf.so.%%VERSION_MAJOR%%.%%VERSION_MINOR%% share/man/man1/mupdf.1.gz share/man/man1/mutool.1.gz %%PORTDOCS%%%%DOCSDIR%%/CHANGES %%PORTDOCS%%%%DOCSDIR%%/COPYING %%PORTDOCS%%%%DOCSDIR%%/README %%PORTDOCS%%%%DOCSDIR%%/examples/SnarkFront.svg %%PORTDOCS%%%%DOCSDIR%%/examples/bbox-device.js %%PORTDOCS%%%%DOCSDIR%%/examples/copy-outline.js %%PORTDOCS%%%%DOCSDIR%%/examples/create-thumbnail.js %%PORTDOCS%%%%DOCSDIR%%/examples/draw-device.js %%PORTDOCS%%%%DOCSDIR%%/examples/draw-document.js %%PORTDOCS%%%%DOCSDIR%%/examples/example.c %%PORTDOCS%%%%DOCSDIR%%/examples/fix-s22pdf.js %%PORTDOCS%%%%DOCSDIR%%/examples/huntingofthesnark.png %%PORTDOCS%%%%DOCSDIR%%/examples/import-fdf.js %%PORTDOCS%%%%DOCSDIR%%/examples/jpx-to-pdf.js %%PORTDOCS%%%%DOCSDIR%%/examples/multi-threaded.c %%PORTDOCS%%%%DOCSDIR%%/examples/pdf-bake.js %%PORTDOCS%%%%DOCSDIR%%/examples/pdf-create-lowlevel.js %%PORTDOCS%%%%DOCSDIR%%/examples/pdf-create.js %%PORTDOCS%%%%DOCSDIR%%/examples/pdf-dejpx.js %%PORTDOCS%%%%DOCSDIR%%/examples/pdf-extract-rich-media.js %%PORTDOCS%%%%DOCSDIR%%/examples/pdf-merge.js %%PORTDOCS%%%%DOCSDIR%%/examples/pdf-portfolio.js %%PORTDOCS%%%%DOCSDIR%%/examples/pdf-trace.js %%PORTDOCS%%%%DOCSDIR%%/examples/reconvert-cmyk.js %%PORTDOCS%%%%DOCSDIR%%/examples/storytest.c %%PORTDOCS%%%%DOCSDIR%%/examples/storytest.js %%PORTDOCS%%%%DOCSDIR%%/examples/trace-device.js