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