1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# mudpf 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun# python-pymupdf's version must match mupdf's version 8*4882a593SmuzhiyunMUPDF_VERSION = 1.18.0 9*4882a593SmuzhiyunMUPDF_SOURCE = mupdf-$(MUPDF_VERSION)-source.tar.xz 10*4882a593SmuzhiyunMUPDF_SITE = https://mupdf.com/downloads/archive 11*4882a593SmuzhiyunMUPDF_LICENSE = AGPL-3.0+ 12*4882a593SmuzhiyunMUPDF_LICENSE_FILES = COPYING 13*4882a593SmuzhiyunMUPDF_CPE_ID_VENDOR = artifex 14*4882a593SmuzhiyunMUPDF_INSTALL_STAGING = YES 15*4882a593SmuzhiyunMUPDF_DEPENDENCIES = \ 16*4882a593Smuzhiyun freetype \ 17*4882a593Smuzhiyun gumbo-parser \ 18*4882a593Smuzhiyun harfbuzz \ 19*4882a593Smuzhiyun host-pkgconf \ 20*4882a593Smuzhiyun jbig2dec jpeg \ 21*4882a593Smuzhiyun lcms2 openjpeg \ 22*4882a593Smuzhiyun xlib_libX11 \ 23*4882a593Smuzhiyun zlib 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun# 0002-Bug-703366-Fix-double-free-of-object-during-linearization.patch 26*4882a593SmuzhiyunMUPDF_IGNORE_CVES += CVE-2021-3407 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun# 0003-Bug-703791-Stay-within-hash-table-max-key-size-in-cached-color-converter.patch 29*4882a593SmuzhiyunMUPDF_IGNORE_CVES += CVE-2021-37220 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun# The pkg-config name for gumbo-parser is `gumbo`. 32*4882a593SmuzhiyunMUPDF_PKG_CONFIG_PACKAGES = \ 33*4882a593Smuzhiyun freetype2 \ 34*4882a593Smuzhiyun gumbo \ 35*4882a593Smuzhiyun harfbuzz \ 36*4882a593Smuzhiyun libjpeg \ 37*4882a593Smuzhiyun zlib 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunMUPDF_CFLAGS = \ 40*4882a593Smuzhiyun $(TARGET_CFLAGS) \ 41*4882a593Smuzhiyun `$(PKG_CONFIG_HOST_BINARY) --cflags $(MUPDF_PKG_CONFIG_PACKAGES)` \ 42*4882a593Smuzhiyun -fPIC # -fPIC is needed because the Makefile doesn't append it. 43*4882a593Smuzhiyun 44*4882a593SmuzhiyunMUPDF_LDFLAGS = \ 45*4882a593Smuzhiyun $(TARGET_LDFLAGS) \ 46*4882a593Smuzhiyun `$(PKG_CONFIG_HOST_BINARY) --libs $(MUPDF_PKG_CONFIG_PACKAGES)` 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun# mupdf doesn't use CFLAGS and LIBS but XCFLAGS and XLIBS instead. 49*4882a593Smuzhiyun# with USE_SYSTEM_LIBS it will try to use system libraries instead of the bundled ones. 50*4882a593SmuzhiyunMUPDF_MAKE_ENV = $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ 51*4882a593Smuzhiyun XCFLAGS="$(MUPDF_CFLAGS)" \ 52*4882a593Smuzhiyun XLIBS="$(MUPDF_LDFLAGS)" \ 53*4882a593Smuzhiyun USE_SYSTEM_LIBS=yes 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunMUPDF_MAKE_OPTS = \ 56*4882a593Smuzhiyun HAVE_OBJCOPY=no \ 57*4882a593Smuzhiyun prefix="/usr" 58*4882a593Smuzhiyun 59*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBFREEGLUT),y) 60*4882a593SmuzhiyunMUPDF_DEPENDENCIES += libfreeglut 61*4882a593Smuzhiyunelse 62*4882a593SmuzhiyunMUPDF_MAKE_OPTS += HAVE_GLUT=no 63*4882a593Smuzhiyunendif 64*4882a593Smuzhiyun 65*4882a593Smuzhiyundefine MUPDF_BUILD_CMDS 66*4882a593Smuzhiyun $(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) $(MUPDF_MAKE_OPTS) all 67*4882a593Smuzhiyunendef 68*4882a593Smuzhiyun 69*4882a593Smuzhiyundefine MUPDF_INSTALL_STAGING_CMDS 70*4882a593Smuzhiyun $(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) $(MUPDF_MAKE_OPTS) \ 71*4882a593Smuzhiyun DESTDIR="$(STAGING_DIR)" install_libs 72*4882a593Smuzhiyunendef 73*4882a593Smuzhiyun 74*4882a593Smuzhiyundefine MUPDF_INSTALL_TARGET_CMDS 75*4882a593Smuzhiyun $(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) $(MUPDF_MAKE_OPTS) \ 76*4882a593Smuzhiyun DESTDIR="$(TARGET_DIR)" install 77*4882a593Smuzhiyunendef 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun$(eval $(generic-package)) 80