blob: 0ddf708f936daedc371ae08def85f1d31ff7e9cf [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
2DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
3a back-end to a program such as ghostview, it can display PostScript and PDF \
4documents in an X11 environment. \
5\
6Furthermore, it can render PostScript and PDF files as graphics to be printed \
7on non-PostScript printers. Supported printers include common \
8dot-matrix, inkjet and laser models. \
9"
10HOMEPAGE = "http://www.ghostscript.com"
11SECTION = "console/utils"
12
13LICENSE = "GPL-3.0-only"
14LIC_FILES_CHKSUM = "file://LICENSE;md5=f98ffa763e50cded76f49bce73aade16"
15
Patrick Williams520786c2023-06-25 16:20:36 -050016DEPENDS = "tiff jpeg fontconfig cups libpng freetype zlib"
Andrew Geissler517393d2023-01-13 08:55:19 -060017
18UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
19UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
20
Andrew Geissler517393d2023-01-13 08:55:19 -060021def gs_verdir(v):
22 return "".join(v.split("."))
23
24
Patrick Williams520786c2023-06-25 16:20:36 -050025SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
26 file://ghostscript-9.16-Werror-return-type.patch \
27 file://avoid-host-contamination.patch \
Patrick Williams2a254922023-08-11 09:48:11 -050028 file://0001-Bug-706897-Copy-pcx-buffer-overrun-fix-from-devices-.patch \
Andrew Geissler517393d2023-01-13 08:55:19 -060029"
30
Andrew Geissler8f840682023-07-21 09:09:43 -050031SRC_URI[sha256sum] = "a4cd61a07fec161bee35da0211a5e5cde8ff8a0aaf942fc0176715e499d21661"
Andrew Geissler517393d2023-01-13 08:55:19 -060032
Patrick Williams520786c2023-06-25 16:20:36 -050033PACKAGECONFIG ??= ""
34PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
35PACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn"
36PACKAGECONFIG[libpaper] = "--with-libpaper,--without-libpaper,libpaper"
Andrew Geissler517393d2023-01-13 08:55:19 -060037PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
Patrick Williams520786c2023-06-25 16:20:36 -050038 --without-x, virtual/libx11 libxext libxt"
Andrew Geissler517393d2023-01-13 08:55:19 -060039
Patrick Williams520786c2023-06-25 16:20:36 -050040EXTRA_OECONF = "--with-jbig2dec \
Andrew Geissler517393d2023-01-13 08:55:19 -060041 --with-fontpath=${datadir}/fonts \
Andrew Geissler517393d2023-01-13 08:55:19 -060042 CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
Patrick Williams520786c2023-06-25 16:20:36 -050043 PKGCONFIG=pkg-config \
Andrew Geissler517393d2023-01-13 08:55:19 -060044 "
45
46EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
47
Patrick Williams520786c2023-06-25 16:20:36 -050048# Uses autoconf but not automake, can't do out-of-tree
49inherit autotools-brokensep pkgconfig
Andrew Geissler517393d2023-01-13 08:55:19 -060050
Patrick Williams520786c2023-06-25 16:20:36 -050051# Prune the source tree of libraries that we're using our packaging of, so that
52# ghostscript can't link to them. Can't prune zlib as that's needed for the
53# native tools.
54prune_sources() {
55 rm -rf ${S}/jpeg/ ${S}/libpng/ ${S}/tiff/ ${S}/expat/ ${S}/freetype/ ${S}/cups/lib
Andrew Geissler517393d2023-01-13 08:55:19 -060056}
Patrick Williams520786c2023-06-25 16:20:36 -050057do_unpack[postfuncs] += "prune_sources"
Andrew Geissler517393d2023-01-13 08:55:19 -060058
59do_install:append () {
60 mkdir -p ${D}${datadir}/ghostscript/${PV}/
61 cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
62 cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
63}
64
Andrew Geissler517393d2023-01-13 08:55:19 -060065# ghostscript does not supports "arc"
66COMPATIBLE_HOST = "^(?!arc).*"
67
68# some entries in NVD uses gpl_ghostscript
69CVE_PRODUCT = "ghostscript gpl_ghostscript"
Patrick Williams2a254922023-08-11 09:48:11 -050070
71CVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release"