From 8b9e167d27cb5d33c08a5a8122e61c4d65be76b9 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Wed, 13 Mar 2024 15:08:03 +0800 Subject: ghostscript: upgrade 10.02.1 -> 10.03.0 avoid-host-contamination.patch refreshed for 10.03.0 configure.ac-add-option-to-explicitly-disable-neon.patch removed since it's included in 10.03.0 (From OE-Core rev: 5a277eb10793c895dfb3b8faf1c2053a1d4f2d37) Signed-off-by: Wang Mingyu Signed-off-by: Richard Purdie --- .../ghostscript/avoid-host-contamination.patch | 11 +-- ....ac-add-option-to-explicitly-disable-neon.patch | 99 ---------------------- .../ghostscript/ghostscript_10.02.1.bb | 76 ----------------- .../ghostscript/ghostscript_10.03.0.bb | 75 ++++++++++++++++ 4 files changed, 79 insertions(+), 182 deletions(-) delete mode 100644 meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch delete mode 100644 meta/recipes-extended/ghostscript/ghostscript_10.02.1.bb create mode 100644 meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb diff --git a/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch b/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch index 15c7eb5a77..67f14bd368 100644 --- a/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch +++ b/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch @@ -1,7 +1,7 @@ -From 0ccbaa134093bf6afc79f2d20d061bca5a8754ed Mon Sep 17 00:00:00 2001 +From b36713c8f1ba0e5755b78845a433354a63663b1a Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Thu, 29 Mar 2018 16:02:05 +0800 -Subject: [PATCH 04/10] avoid host contamination +Subject: [PATCH] avoid host contamination Remove hardcode path refer to host to avoid host contamination. @@ -15,10 +15,10 @@ Signed-off-by: Hongxu Jia 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/devs.mak b/devices/devs.mak -index 846aa50..9570182 100644 +index 186f704..88ab8c9 100644 --- a/devices/devs.mak +++ b/devices/devs.mak -@@ -393,7 +393,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\ +@@ -397,7 +397,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\ ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT $(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(DEVS_MAK) $(MAKEDIRS) @@ -27,6 +27,3 @@ index 846aa50..9570182 100644 ###### --------------- Memory-buffered printer devices --------------- ###### --- -1.8.3.1 - diff --git a/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch b/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch deleted file mode 100644 index 7873396045..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch +++ /dev/null @@ -1,99 +0,0 @@ -From fd37229a17822c5ad21a369f670b8a6f6cc6b95b Mon Sep 17 00:00:00 2001 -From: Benjamin Bara -Date: Mon, 4 Sep 2023 12:16:39 +0200 -Subject: [PATCH] configure.ac: add option to explicitly disable neon - -Uncomment an already existing possibility to explicitly disable neon and -use it on both implemented neon checks. - -Upstream-Status: Submitted [https://bugs.ghostscript.com/show_bug.cgi?id=707097] - -Signed-off-by: Benjamin Bara ---- - configure.ac | 52 +++++++++++++++++++++++++++++----------------------- - 1 file changed, 29 insertions(+), 23 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 09d881dd1..62718e15e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -749,6 +749,33 @@ SUBCONFIG_OPTS="--build=$build --host=$host" - # SUBCONFIG_OPTS="$SUBCONFIG_OPTS --host=$host_alias" - #fi - -+dnl -------------------------------------------------- -+dnl Check for NEON support -+dnl -------------------------------------------------- -+save_cflags=$CFLAGS -+AC_MSG_CHECKING([neon support]) -+CFLAGS="$save_cflags $OPT_CFLAGS -mfpu=neon -mcpu=cortex-a53" -+HAVE_NEON="" -+AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([#include "arm_neon.h"], [ -+ int32x4_t round = vdupq_n_s32(10); -+ return(0); -+ ])], -+ [HAVE_NEON="-DHAVE_NEON"], [HAVE_NEON=""]) -+ -+AC_ARG_ENABLE([neon], AS_HELP_STRING([--disable-neon], -+ [Do not use neon instrinsics]), [ -+ if test "x$enable_neon" = xno; then -+ HAVE_NEON="" -+ fi]) -+ -+if test "x$HAVE_NEON" != x; then -+ AC_MSG_RESULT(yes) -+else -+ AC_MSG_RESULT(no) -+fi -+CFLAGS=$save_cflags -+ - dnl -------------------------------------------------- - dnl Check for libraries - dnl -------------------------------------------------- -@@ -971,11 +998,12 @@ if test x$with_tesseract != xno; then - [TESS_NEON="-mfpu=neon -mcpu=cortex-a53 -D__ARM_NEON__"], - [TESS_NEON=""]) - -- if test "x$TESS_NEON" != x; then -+ if test "x$TESS_NEON" != x && test "x$enable_neon" != xno; then - AC_MSG_RESULT(yes) - TESS_CXXFLAGS="$TESS_CXXFLAGS -DHAVE_NEON" - else - AC_MSG_RESULT(no) -+ TESS_NEON="" - fi - - CXXFLAGS="$save_cxxflags" -@@ -2387,28 +2415,6 @@ if test x$WITH_CAL != x0; then - AC_MSG_RESULT(no) - fi - -- AC_MSG_CHECKING([neon support]) -- CFLAGS="$save_cflags $OPT_CFLAGS -mfpu=neon -mcpu=cortex-a53" -- HAVE_NEON="" -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([#include "arm_neon.h"], [ -- int32x4_t round = vdupq_n_s32(10); -- return(0); -- ])], -- [HAVE_NEON="-DHAVE_NEON"], [HAVE_NEON=""]) -- -- #AC_ARG_ENABLE([neon], AS_HELP_STRING([--disable-neon], -- # [Do not use neon instrinsics]), [ -- # if test "x$enable_neon" = xno; then -- # HAVE_NEON="" -- # fi]) -- -- if test "x$HAVE_NEON" != x; then -- AC_MSG_RESULT(yes) -- else -- AC_MSG_RESULT(no) -- fi -- - #AC_SUBST(HAVE_SSE4_2) - #AC_SUBST(HAVE_NEON) - CFLAGS=$save_cflags --- -2.34.1 - diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.02.1.bb b/meta/recipes-extended/ghostscript/ghostscript_10.02.1.bb deleted file mode 100644 index 3dff16eec2..0000000000 --- a/meta/recipes-extended/ghostscript/ghostscript_10.02.1.bb +++ /dev/null @@ -1,76 +0,0 @@ -SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter" -DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \ -a back-end to a program such as ghostview, it can display PostScript and PDF \ -documents in an X11 environment. \ -\ -Furthermore, it can render PostScript and PDF files as graphics to be printed \ -on non-PostScript printers. Supported printers include common \ -dot-matrix, inkjet and laser models. \ -" -HOMEPAGE = "http://www.ghostscript.com" -SECTION = "console/utils" - -LICENSE = "AGPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f98ffa763e50cded76f49bce73aade16" - -DEPENDS = "tiff jpeg fontconfig cups libpng freetype zlib" - -UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" - -def gs_verdir(v): - return "".join(v.split(".")) - - -SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \ - file://ghostscript-9.16-Werror-return-type.patch \ - file://avoid-host-contamination.patch \ - file://configure.ac-add-option-to-explicitly-disable-neon.patch \ - " - -SRC_URI[sha256sum] = "e429e4f5b01615a4f0f93a4128e8a1a4d932dff983b1774174c79c0630717ad9" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3" -PACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn" -PACKAGECONFIG[libpaper] = "--with-libpaper,--without-libpaper,libpaper" -PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \ - --without-x, virtual/libx11 libxext libxt" - -EXTRA_OECONF = "--with-jbig2dec \ - --with-fontpath=${datadir}/fonts \ - CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \ - PKGCONFIG=pkg-config \ - " - -EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0" - -EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}" -EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}" - -# Uses autoconf but not automake, can't do out-of-tree -inherit autotools-brokensep pkgconfig - -# Prune the source tree of libraries that we're using our packaging of, so that -# ghostscript can't link to them. Can't prune zlib as that's needed for the -# native tools. -prune_sources() { - rm -rf ${S}/jpeg/ ${S}/libpng/ ${S}/tiff/ ${S}/expat/ ${S}/freetype/ ${S}/cups/lib -} -do_unpack[postfuncs] += "prune_sources" - -do_install:append () { - oe_runmake DESTDIR=${D} install-so - oe_runmake DESTDIR=${D} install-data - cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/ - cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/ -} - -# ghostscript does not supports "arc" -COMPATIBLE_HOST = "^(?!arc).*" - -# some entries in NVD uses gpl_ghostscript -CVE_PRODUCT = "ghostscript gpl_ghostscript" - -CVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release" -CVE_STATUS[CVE-2023-38559] = "cpe-incorrect: Issue only appears in versions before 10.02.0" diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb b/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb new file mode 100644 index 0000000000..ff7d38676e --- /dev/null +++ b/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb @@ -0,0 +1,75 @@ +SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter" +DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \ +a back-end to a program such as ghostview, it can display PostScript and PDF \ +documents in an X11 environment. \ +\ +Furthermore, it can render PostScript and PDF files as graphics to be printed \ +on non-PostScript printers. Supported printers include common \ +dot-matrix, inkjet and laser models. \ +" +HOMEPAGE = "http://www.ghostscript.com" +SECTION = "console/utils" + +LICENSE = "AGPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f98ffa763e50cded76f49bce73aade16" + +DEPENDS = "tiff jpeg fontconfig cups libpng freetype zlib" + +UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" + +def gs_verdir(v): + return "".join(v.split(".")) + + +SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \ + file://ghostscript-9.16-Werror-return-type.patch \ + file://avoid-host-contamination.patch \ + " + +SRC_URI[sha256sum] = "6f2bc61023469fcf7c7c2d7f1bdd75b75f2b41836aa1d5e641396246d4abbb59" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3" +PACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn" +PACKAGECONFIG[libpaper] = "--with-libpaper,--without-libpaper,libpaper" +PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \ + --without-x, virtual/libx11 libxext libxt" + +EXTRA_OECONF = "--with-jbig2dec \ + --with-fontpath=${datadir}/fonts \ + CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \ + PKGCONFIG=pkg-config \ + " + +EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0" + +EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}" +EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}" + +# Uses autoconf but not automake, can't do out-of-tree +inherit autotools-brokensep pkgconfig + +# Prune the source tree of libraries that we're using our packaging of, so that +# ghostscript can't link to them. Can't prune zlib as that's needed for the +# native tools. +prune_sources() { + rm -rf ${S}/jpeg/ ${S}/libpng/ ${S}/tiff/ ${S}/expat/ ${S}/freetype/ ${S}/cups/lib +} +do_unpack[postfuncs] += "prune_sources" + +do_install:append () { + oe_runmake DESTDIR=${D} install-so + oe_runmake DESTDIR=${D} install-data + cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/ + cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/ +} + +# ghostscript does not supports "arc" +COMPATIBLE_HOST = "^(?!arc).*" + +# some entries in NVD uses gpl_ghostscript +CVE_PRODUCT = "ghostscript gpl_ghostscript" + +CVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release" +CVE_STATUS[CVE-2023-38559] = "cpe-incorrect: Issue only appears in versions before 10.02.0" -- cgit v1.2.3-54-g00ecf