git: a176b0d41ac4 - main - graphics/mupdf: Update to 1.26.3

From: Zsolt Udvari <uzsolt_at_FreeBSD.org>
Date: Mon, 14 Jul 2025 17:57:14 UTC
The branch main has been updated by uzsolt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a176b0d41ac4a01d147f5c8f5cd8f7a2c841cba6

commit a176b0d41ac4a01d147f5c8f5cd8f7a2c841cba6
Author:     Zsolt Udvari <uzsolt@FreeBSD.org>
AuthorDate: 2025-07-14 17:53:37 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2025-07-14 17:56:57 +0000

    graphics/mupdf: Update to 1.26.3
    
    The mupdf requires GNU's ar because it support @file option so add
    devel/binutils to build dependencies.
    Use archivers/brotli in dependencies.
    Clean and simplify make arguments.
    Remove unneeded CFLAGS and LDFLAGS.
    Remove unneeded post-patch.
    
    Changelog: https://github.com/ArtifexSoftware/mupdf/blob/master/CHANGES
---
 graphics/mupdf/Makefile              | 41 +++++++++++-----------
 graphics/mupdf/distinfo              |  6 ++--
 graphics/mupdf/files/patch-Makefile  | 33 +++++-------------
 graphics/mupdf/files/patch-Makerules | 66 ++++++++++++++++++++++++++++++++++--
 graphics/mupdf/pkg-plist             |  8 +++--
 5 files changed, 99 insertions(+), 55 deletions(-)

diff --git a/graphics/mupdf/Makefile b/graphics/mupdf/Makefile
index 057881eb99c8..e1be24f4825c 100644
--- a/graphics/mupdf/Makefile
+++ b/graphics/mupdf/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	mupdf
-DISTVERSION=	1.25.6
+DISTVERSION=	1.26.3
 DISTVERSIONSUFFIX=	-source
 PORTEPOCH=	1
 CATEGORIES=	graphics
@@ -12,34 +12,41 @@ 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
@@ -52,18 +59,8 @@ 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 <bsd.port.mk>
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,9 +1,57 @@
---- 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
@@ -44,3 +92,15 @@
 +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,10 +1,12 @@
 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
@@ -29,6 +31,7 @@ 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
@@ -79,10 +82,9 @@ 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