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