xref: /OK3568_Linux_fs/buildroot/package/ghostscript/ghostscript.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# ghostscript
4#
5################################################################################
6
7GHOSTSCRIPT_VERSION = 9.53.3
8GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION))
9GHOSTSCRIPT_LICENSE = AGPL-3.0
10GHOSTSCRIPT_LICENSE_FILES = LICENSE
11GHOSTSCRIPT_CPE_ID_VENDOR = artifex
12GHOSTSCRIPT_DEPENDENCIES = \
13	host-lcms2 \
14	host-libjpeg \
15	host-pkgconf \
16	host-zlib \
17	fontconfig \
18	ghostscript-fonts \
19	jpeg \
20	lcms2 \
21	libpng \
22	tiff
23
24# 0002-Bug-704342-Include-device-specifier-strings-in-acces.patch
25GHOSTSCRIPT_IGNORE_CVES += CVE-2021-3781
26
27# Ghostscript includes (old) copies of several libraries, delete them.
28# Inspired by linuxfromscratch:
29# http://www.linuxfromscratch.org/blfs/view/svn/pst/gs.html
30define GHOSTSCRIPT_REMOVE_LIBS
31	rm -rf $(@D)/freetype $(@D)/ijs $(@D)/jbig2dec $(@D)/jpeg \
32		$(@D)/lcms2mt $(@D)/libpng $(@D)/openjpeg $(@D)/tiff \
33		$(@D)/zlib
34endef
35GHOSTSCRIPT_POST_PATCH_HOOKS += GHOSTSCRIPT_REMOVE_LIBS
36
37GHOSTSCRIPT_CONF_ENV = \
38	CCAUX="$(HOSTCC)" \
39	CFLAGSAUX="$(HOST_CFLAGS) $(HOST_LDFLAGS)" \
40	PKGCONFIG="$(PKG_CONFIG_HOST_BINARY)"
41
42GHOSTSCRIPT_CONF_OPTS = \
43	--disable-compile-inits \
44	--enable-fontconfig \
45	--with-fontpath=/usr/share/fonts \
46	--enable-freetype \
47	--disable-gtk \
48	--without-libpaper \
49	--with-system-libtiff
50
51ifeq ($(BR2_PACKAGE_JBIG2DEC),y)
52GHOSTSCRIPT_DEPENDENCIES += jbig2dec
53GHOSTSCRIPT_CONF_OPTS += --with-jbig2dec
54else
55GHOSTSCRIPT_CONF_OPTS += --without-jbig2dec
56endif
57
58ifeq ($(BR2_PACKAGE_LIBIDN),y)
59GHOSTSCRIPT_DEPENDENCIES += libidn
60GHOSTSCRIPT_CONF_OPTS += --with-libidn
61else
62GHOSTSCRIPT_CONF_OPTS += --without-libidn
63endif
64
65ifeq ($(BR2_PACKAGE_OPENJPEG),y)
66GHOSTSCRIPT_DEPENDENCIES += openjpeg
67GHOSTSCRIPT_CONF_OPTS += --enable-openjpeg
68else
69GHOSTSCRIPT_CONF_OPTS += --disable-openjpeg
70endif
71
72ifeq ($(BR2_PACKAGE_CUPS),y)
73GHOSTSCRIPT_DEPENDENCIES += cups
74GHOSTSCRIPT_CONF_OPTS += \
75	CUPSCONFIG=$(STAGING_DIR)/usr/bin/cups-config \
76	--enable-cups
77else
78GHOSTSCRIPT_CONF_OPTS += --disable-cups
79endif
80
81ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
82GHOSTSCRIPT_DEPENDENCIES += xlib_libX11
83GHOSTSCRIPT_CONF_OPTS += --with-x
84else
85GHOSTSCRIPT_CONF_OPTS += --without-x
86endif
87
88$(eval $(autotools-package))
89