xref: /openbmc/openbmc/poky/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb (revision c9537f57ab488bf5d90132917b0184e2527970a5)
1*c9537f57SPatrick WilliamsSUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
2*c9537f57SPatrick WilliamsDESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing.  Usually as \
3*c9537f57SPatrick Williamsa back-end to a program such as ghostview, it can display PostScript and PDF \
4*c9537f57SPatrick Williamsdocuments in an X11 environment. \
5*c9537f57SPatrick Williams\
6*c9537f57SPatrick WilliamsFurthermore, it can render PostScript and PDF files as graphics to be printed \
7*c9537f57SPatrick Williamson non-PostScript printers. Supported printers include common \
8*c9537f57SPatrick Williamsdot-matrix, inkjet and laser models. \
9*c9537f57SPatrick Williams"
10*c9537f57SPatrick WilliamsHOMEPAGE = "http://www.ghostscript.com"
11*c9537f57SPatrick WilliamsSECTION = "console/utils"
12*c9537f57SPatrick Williams
13*c9537f57SPatrick WilliamsLICENSE = "AGPL-3.0-or-later"
14*c9537f57SPatrick WilliamsLIC_FILES_CHKSUM = "file://LICENSE;md5=f98ffa763e50cded76f49bce73aade16"
15*c9537f57SPatrick Williams
16*c9537f57SPatrick WilliamsDEPENDS = "tiff jpeg fontconfig cups libpng freetype zlib"
17*c9537f57SPatrick Williams
18*c9537f57SPatrick WilliamsUPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
19*c9537f57SPatrick WilliamsUPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
20*c9537f57SPatrick Williams
21*c9537f57SPatrick Williamsdef gs_verdir(v):
22*c9537f57SPatrick Williams    return "".join(v.split("."))
23*c9537f57SPatrick Williams
24*c9537f57SPatrick Williams
25*c9537f57SPatrick WilliamsSRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
26*c9537f57SPatrick Williams           file://ghostscript-9.16-Werror-return-type.patch \
27*c9537f57SPatrick Williams           file://avoid-host-contamination.patch \
28*c9537f57SPatrick Williams           file://0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch \
29*c9537f57SPatrick Williams           "
30*c9537f57SPatrick Williams
31*c9537f57SPatrick WilliamsSRC_URI[sha256sum] = "121861b6d29b2461dec6575c9f3cab665b810bd408d4ec02c86719fa708b0a49"
32*c9537f57SPatrick Williams
33*c9537f57SPatrick WilliamsPACKAGECONFIG ??= ""
34*c9537f57SPatrick WilliamsPACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
35*c9537f57SPatrick WilliamsPACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn"
36*c9537f57SPatrick WilliamsPACKAGECONFIG[libpaper] = "--with-libpaper,--without-libpaper,libpaper"
37*c9537f57SPatrick WilliamsPACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
38*c9537f57SPatrick Williams                      --without-x, virtual/libx11 libxext libxt"
39*c9537f57SPatrick Williams
40*c9537f57SPatrick WilliamsEXTRA_OECONF = "--with-jbig2dec \
41*c9537f57SPatrick Williams                --with-fontpath=${datadir}/fonts \
42*c9537f57SPatrick Williams                CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
43*c9537f57SPatrick Williams                PKGCONFIG=pkg-config \
44*c9537f57SPatrick Williams                "
45*c9537f57SPatrick Williams
46*c9537f57SPatrick WilliamsEXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
47*c9537f57SPatrick Williams
48*c9537f57SPatrick WilliamsEXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
49*c9537f57SPatrick WilliamsEXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
50*c9537f57SPatrick Williams
51*c9537f57SPatrick WilliamsCC += "-std=gnu17"
52*c9537f57SPatrick Williams
53*c9537f57SPatrick Williams# Uses autoconf but not automake, can't do out-of-tree
54*c9537f57SPatrick Williamsinherit autotools-brokensep pkgconfig
55*c9537f57SPatrick Williams
56*c9537f57SPatrick Williams# Prune the source tree of libraries that we're using our packaging of, so that
57*c9537f57SPatrick Williams# ghostscript can't link to them. Can't prune zlib as that's needed for the
58*c9537f57SPatrick Williams# native tools.
59*c9537f57SPatrick Williamsprune_sources() {
60*c9537f57SPatrick Williams    rm -rf ${S}/jpeg/ ${S}/libpng/ ${S}/tiff/ ${S}/expat/ ${S}/freetype/ ${S}/cups/lib
61*c9537f57SPatrick Williams}
62*c9537f57SPatrick Williamsdo_unpack[postfuncs] += "prune_sources"
63*c9537f57SPatrick Williams
64*c9537f57SPatrick Williamsdo_install:append () {
65*c9537f57SPatrick Williams    oe_runmake DESTDIR=${D} install-so
66*c9537f57SPatrick Williams    oe_runmake DESTDIR=${D} install-data
67*c9537f57SPatrick Williams    cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
68*c9537f57SPatrick Williams    cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
69*c9537f57SPatrick Williams}
70*c9537f57SPatrick Williams
71*c9537f57SPatrick Williams# ghostscript does not supports "arc"
72*c9537f57SPatrick WilliamsCOMPATIBLE_HOST = "^(?!arc).*"
73*c9537f57SPatrick Williams
74*c9537f57SPatrick Williams# some entries in NVD uses gpl_ghostscript
75*c9537f57SPatrick WilliamsCVE_PRODUCT = "ghostscript gpl_ghostscript"
76*c9537f57SPatrick Williams
77*c9537f57SPatrick WilliamsCVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release"
78*c9537f57SPatrick WilliamsCVE_STATUS[CVE-2023-38559] = "cpe-incorrect: Issue only appears in versions before 10.02.0"
79