public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/
@ 2015-10-23 10:00 Justin Lecher
  0 siblings, 0 replies; 8+ messages in thread
From: Justin Lecher @ 2015-10-23 10:00 UTC (permalink / raw
  To: gentoo-commits

commit:     496566c75f483786d581f34196309bc4becb2481
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 23 09:59:51 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 10:00:05 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=496566c7

app-text/ghostscript-gpl: Backport fix for missing header

Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=563540

Package-Manager: portage-2.2.23
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 .../ghostscript-gpl-9.18-gserrors.h-backport.patch | 43 ++++++++++++++++++++++
 .../ghostscript-gpl/ghostscript-gpl-9.18.ebuild    |  2 +
 2 files changed, 45 insertions(+)

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.18-gserrors.h-backport.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.18-gserrors.h-backport.patch
new file mode 100644
index 0000000..c34e486
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.18-gserrors.h-backport.patch
@@ -0,0 +1,43 @@
+From feafe5e540a0545ec5d28f3f66bb542056bba495 Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Fri, 23 Oct 2015 10:16:11 +0100
+Subject: [PATCH] Bug 696301: add gserrors.h to the installed files
+
+for the so-install target.
+
+Also remove a spurious (copy'n'paste error) comment.
+
+No cluster differences
+---
+ base/gserrors.h   | 2 +-
+ base/unix-dll.mak | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/base/gserrors.h b/base/gserrors.h
+index 5f18081..cdebb38 100644
+--- a/base/gserrors.h
++++ b/base/gserrors.h
+@@ -25,7 +25,7 @@
+ /* We don't use a typedef internally to avoid a lot of casting. */
+ 
+ enum gs_error_type {
+-    gs_error_ok = 0,	/* unknown error */
++    gs_error_ok = 0,
+     gs_error_unknownerror = -1,	/* unknown error */
+     gs_error_dictfull = -2,
+     gs_error_dictstackoverflow = -3,
+diff --git a/base/unix-dll.mak b/base/unix-dll.mak
+index 7b67aa1..73b4fa9 100644
+--- a/base/unix-dll.mak
++++ b/base/unix-dll.mak
+@@ -186,6 +186,7 @@ install-so-subtarget: so-subtarget
+ 	ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
+ 	$(INSTALL_DATA) $(PSSRC)iapi.h $(DESTDIR)$(gsincludedir)iapi.h
+ 	$(INSTALL_DATA) $(PSSRC)ierrors.h $(DESTDIR)$(gsincludedir)ierrors.h
++	$(INSTALL_DATA) $(GLSRC)gserrors.h $(DESTDIR)$(gsincludedir)gserrors.h
+ 	$(INSTALL_DATA) $(DEVSRC)gdevdsp.h $(DESTDIR)$(gsincludedir)gdevdsp.h
+ 
+ soinstall:
+-- 
+2.5.1
+

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.18.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.18.ebuild
index 4cf5c85..a9ba6bf 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.18.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.18.ebuild
@@ -94,6 +94,8 @@ src_prepare() {
 			ghostscript-gpl-9.12-icc-missing-check.patch"
 	epatch
 
+	epatch "${FILESDIR}"/${P}-gserrors.h-backport.patch
+
 	if use djvu ; then
 		unpack gsdjvu-${GSDJVU_PV}.tar.gz
 		cp gsdjvu-${GSDJVU_PV}/gsdjvu "${S}" || die


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/
@ 2020-10-20  8:09 Sam James
  0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2020-10-20  8:09 UTC (permalink / raw
  To: gentoo-commits

commit:     ef7d73bef37f8b7cb76484574e4d316fdb06984b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 20 08:09:31 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 20 08:09:31 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef7d73be

app-text/ghostscript-gpl: fix compat. with >=media-libs/freetype-2.10.3

Closes: https://bugs.gentoo.org/747808
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../ghostscript-gpl-9.53.3-freetype-2.10.3.patch     | 20 ++++++++++++++++++++
 .../ghostscript-gpl/ghostscript-gpl-9.52-r1.ebuild   |  5 +++++
 ....3-r1.ebuild => ghostscript-gpl-9.53.3-r2.ebuild} |  6 +++++-
 3 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.53.3-freetype-2.10.3.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.53.3-freetype-2.10.3.patch
new file mode 100644
index 00000000000..59d9ae0095f
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.53.3-freetype-2.10.3.patch
@@ -0,0 +1,20 @@
+https://bugs.ghostscript.com/show_bug.cgi?id=702985
+https://bugs.gentoo.org/747808
+
+--- ghostscript-9.53.3/base/fapi_ft.c
++++ ghostscript-9.53.3/base/fapi_ft.c
+@@ -125,6 +125,14 @@
+ delete_inc_int_info(gs_fapi_server * a_server,
+                     FT_IncrementalRec * a_inc_int_info);
+ 
++#ifndef FT_CALLBACK_DEF
++#ifdef __cplusplus
++#define FT_CALLBACK_DEF( x ) extern "C" x
++#else
++#define FT_CALLBACK_DEF( x ) static x
++#endif
++#endif
++
+ FT_CALLBACK_DEF(void *)
+ FF_alloc(FT_Memory memory, long size)
+ {

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.52-r1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.52-r1.ebuild
index b22f3b060f4..362f03559a7 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.52-r1.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.52-r1.ebuild
@@ -60,6 +60,11 @@ RDEPEND="${DEPEND}
 
 S="${WORKDIR}/${MY_P}"
 
+PATCHES=(
+	# bug #747808
+	"${FILESDIR}/${PN}-9.53.3-freetype-2.10.3.patch"
+)
+
 src_prepare() {
 	if [[ -n "${MY_PATCHSET}" ]] ; then
 		# apply various patches, many borrowed from Fedora

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r2.ebuild
similarity index 98%
rename from app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r1.ebuild
rename to app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r2.ebuild
index 9e5d5486db8..47929e088e2 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r1.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r2.ebuild
@@ -35,7 +35,6 @@ DEPEND="
 	app-text/libpaper
 	media-libs/fontconfig
 	>=media-libs/freetype-2.4.9:2=
-	<media-libs/freetype-2.10.3
 	>=media-libs/jbig2dec-0.19:=
 	>=media-libs/lcms-2.6:2
 	>=media-libs/libpng-1.6.2:0=
@@ -61,6 +60,11 @@ RDEPEND="${DEPEND}
 
 S="${WORKDIR}/${MY_P}"
 
+PATCHES=(
+	# bug #747808
+	"${FILESDIR}/${PN}-9.53.3-freetype-2.10.3.patch"
+)
+
 src_prepare() {
 	if [[ -n "${MY_PATCHSET}" ]] ; then
 		# apply various patches, many borrowed from Fedora


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/
@ 2020-12-14 20:10 Thomas Deutschmann
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Deutschmann @ 2020-12-14 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     e795a8337fce689d9c4afc94e7e54181fa8f0522
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 14 20:07:31 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Dec 14 20:10:49 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e795a833

app-text/ghostscript-gpl: apply upstream fix for ps2epsi problem

Bug: https://bugs.gentoo.org/749399
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../files/ghostscript-gpl-9.53.3-fix-ps2epsi.patch       | 16 ++++++++++++++++
 ...9.53.3-r3.ebuild => ghostscript-gpl-9.53.3-r4.ebuild} |  7 ++-----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.53.3-fix-ps2epsi.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.53.3-fix-ps2epsi.patch
new file mode 100644
index 00000000000..9d7f53e2fd1
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.53.3-fix-ps2epsi.patch
@@ -0,0 +1,16 @@
+https://bugs.ghostscript.com/show_bug.cgi?id=703270
+
+--- a/lib/ps2epsi
++++ b/lib/ps2epsi
+@@ -40,8 +40,8 @@ else
+ 	outfile=$2
+ fi
+ 
+-# Note, we expect 'ps2epsi.ps' to be in the same directory as 'ps2epsi'
++# Note, we expect 'ps2epsi.ps' to be on one of the search paths which can be seen by: gs -h
+ "$GS_EXECUTABLE" -q -dNOOUTERSAVE -dNODISPLAY -dLastPage=1 -sOutputFile="${outfile}" \
+-		--permit-file-all="${infile}" -- "$LIBDIR/ps2epsi.ps"  "${infile}" 1>&2
++		--permit-file-all="${infile}" -- ps2epsi.ps  "${infile}" 1>&2
+ 
+ exit 0
+ 

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r3.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r4.ebuild
similarity index 96%
rename from app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r3.ebuild
rename to app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r4.ebuild
index eeee9813774..e4d3e176be9 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r3.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r4.ebuild
@@ -61,8 +61,8 @@ RDEPEND="${DEPEND}
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
-	# bug #747808
-	"${FILESDIR}/${PN}-9.53.3-freetype-2.10.3.patch"
+	"${FILESDIR}/${PN}-9.53.3-freetype-2.10.3.patch" # bug #747808
+	"${FILESDIR}/${P}-fix-ps2epsi.patch"
 )
 
 src_prepare() {
@@ -185,9 +185,6 @@ src_install() {
 	# install the CMaps from poppler-data properly, bug #409361
 	dosym ../../../poppler/cMaps "/usr/share/ghostscript/${PV}/Resource/CMap"
 
-	# ps2epsi requires ps2epsi.ps in same directory, bug #749399
-	dosym "../share/ghostscript/${PV}/lib/ps2epsi.ps" /usr/bin/ps2epsi.ps
-
 	if ! use static-libs; then
 		find "${ED}" -name '*.la' -delete || die
 	fi


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/
@ 2021-09-13  0:54 Sam James
  0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2021-09-13  0:54 UTC (permalink / raw
  To: gentoo-commits

commit:     eeb37a3981b77ed60be7975287e1a503375fa493
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 13 00:53:50 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 13 00:54:18 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eeb37a39

app-text/ghostscript-gpl: patch CVE-2021-3781

Bug: https://bugs.gentoo.org/812509
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../ghostscript-gpl-9.54.0-CVE-2021-3781.patch     | 213 +++++++++++++++++++++
 .../ghostscript-gpl-9.54.0-r1.ebuild               | 191 ++++++++++++++++++
 2 files changed, 404 insertions(+)

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-CVE-2021-3781.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-CVE-2021-3781.patch
new file mode 100644
index 00000000000..779bedad4bd
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-CVE-2021-3781.patch
@@ -0,0 +1,213 @@
+https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=a9bd3dec9fde03327a4a2c69dad1036bf9632e20
+https://bugs.gentoo.org/812509
+
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Tue, 7 Sep 2021 20:36:12 +0100
+Subject: [PATCH 1/1] Bug 704342: Include device specifier strings in access
+ validation
+
+for the "%pipe%", %handle%" and %printer% io devices.
+
+We previously validated only the part after the "%pipe%" Postscript device
+specifier, but this proved insufficient.
+
+This rebuilds the original file name string, and validates it complete. The
+slight complication for "%pipe%" is it can be reached implicitly using
+"|" so we have to check both prefixes.
+
+Addresses CVE-2021-3781
+--- a/base/gdevpipe.c
++++ b/base/gdevpipe.c
+@@ -72,8 +72,28 @@ pipe_fopen(gx_io_device * iodev, const char *fname, const char *access,
+ #else
+     gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
+     gs_fs_list_t *fs = ctx->core->fs;
++    /* The pipe device can be reached in two ways, explicltly with %pipe%
++       or implicitly with "|", so we have to check for both
++     */
++    char f[gp_file_name_sizeof];
++    const char *pipestr = "|";
++    const size_t pipestrlen = strlen(pipestr);
++    const size_t preflen = strlen(iodev->dname);
++    const size_t nlen = strlen(fname);
++    int code1;
++
++    if (preflen + nlen >= gp_file_name_sizeof)
++        return_error(gs_error_invalidaccess);
++
++    memcpy(f, iodev->dname, preflen);
++    memcpy(f + preflen, fname, nlen + 1);
++
++    code1 = gp_validate_path(mem, f, access);
++
++    memcpy(f, pipestr, pipestrlen);
++    memcpy(f + pipestrlen, fname, nlen + 1);
+ 
+-    if (gp_validate_path(mem, fname, access) != 0)
++    if (code1 != 0 && gp_validate_path(mem, f, access) != 0 )
+         return gs_error_invalidfileaccess;
+ 
+     /*
+--- a/base/gp_mshdl.c
++++ b/base/gp_mshdl.c
+@@ -95,8 +95,17 @@ mswin_handle_fopen(gx_io_device * iodev, const char *fname, const char *access,
+     long hfile;	/* Correct for Win32, may be wrong for Win64 */
+     gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
+     gs_fs_list_t *fs = ctx->core->fs;
++    char f[gp_file_name_sizeof];
++    const size_t preflen = strlen(iodev->dname);
++    const size_t nlen = strlen(fname);
+ 
+-    if (gp_validate_path(mem, fname, access) != 0)
++    if (preflen + nlen >= gp_file_name_sizeof)
++        return_error(gs_error_invalidaccess);
++
++    memcpy(f, iodev->dname, preflen);
++    memcpy(f + preflen, fname, nlen + 1);
++
++    if (gp_validate_path(mem, f, access) != 0)
+         return gs_error_invalidfileaccess;
+ 
+     /* First we try the open_handle method. */
+--- a/base/gp_msprn.c
++++ b/base/gp_msprn.c
+@@ -168,8 +168,16 @@ mswin_printer_fopen(gx_io_device * iodev, const char *fname, const char *access,
+     uintptr_t *ptid = &((tid_t *)(iodev->state))->tid;
+     gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
+     gs_fs_list_t *fs = ctx->core->fs;
++    const size_t preflen = strlen(iodev->dname);
++    const size_t nlen = strlen(fname);
+ 
+-    if (gp_validate_path(mem, fname, access) != 0)
++    if (preflen + nlen >= gp_file_name_sizeof)
++        return_error(gs_error_invalidaccess);
++
++    memcpy(pname, iodev->dname, preflen);
++    memcpy(pname + preflen, fname, nlen + 1);
++
++    if (gp_validate_path(mem, pname, access) != 0)
+         return gs_error_invalidfileaccess;
+ 
+     /* First we try the open_printer method. */
+--- a/base/gp_os2pr.c
++++ b/base/gp_os2pr.c
+@@ -107,9 +107,20 @@ os2_printer_fopen(gx_io_device * iodev, const char *fname, const char *access,
+            FILE ** pfile, char *rfname, uint rnamelen)
+ {
+     os2_printer_t *pr = (os2_printer_t *)iodev->state;
+-    char driver_name[256];
++    char driver_name[gp_file_name_sizeof];
+     gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
+     gs_fs_list_t *fs = ctx->core->fs;
++    const size_t preflen = strlen(iodev->dname);
++    const int size_t = strlen(fname);
++
++    if (preflen + nlen >= gp_file_name_sizeof)
++        return_error(gs_error_invalidaccess);
++
++    memcpy(driver_name, iodev->dname, preflen);
++    memcpy(driver_name + preflen, fname, nlen + 1);
++
++    if (gp_validate_path(mem, driver_name, access) != 0)
++        return gs_error_invalidfileaccess;
+ 
+     /* First we try the open_printer method. */
+     /* Note that the loop condition here ensures we don't
+--- a/base/gslibctx.c
++++ b/base/gslibctx.c
+@@ -655,82 +655,39 @@ rewrite_percent_specifiers(char *s)
+ int
+ gs_add_outputfile_control_path(gs_memory_t *mem, const char *fname)
+ {
+-    char *fp, f[gp_file_name_sizeof];
+-    const int pipe = 124; /* ASCII code for '|' */
+-    const int len = strlen(fname);
+-    int i, code;
++    char f[gp_file_name_sizeof];
++    int code;
+ 
+     /* Be sure the string copy will fit */
+-    if (len >= gp_file_name_sizeof)
++    if (strlen(fname) >= gp_file_name_sizeof)
+         return gs_error_rangecheck;
+     strcpy(f, fname);
+-    fp = f;
+     /* Try to rewrite any %d (or similar) in the string */
+     rewrite_percent_specifiers(f);
+-    for (i = 0; i < len; i++) {
+-        if (f[i] == pipe) {
+-           fp = &f[i + 1];
+-           /* Because we potentially have to check file permissions at two levels
+-              for the output file (gx_device_open_output_file and the low level
+-              fopen API, if we're using a pipe, we have to add both the full string,
+-              (including the '|', and just the command to which we pipe - since at
+-              the pipe_fopen(), the leading '|' has been stripped.
+-            */
+-           code = gs_add_control_path(mem, gs_permit_file_writing, f);
+-           if (code < 0)
+-               return code;
+-           code = gs_add_control_path(mem, gs_permit_file_control, f);
+-           if (code < 0)
+-               return code;
+-           break;
+-        }
+-        if (!IS_WHITESPACE(f[i]))
+-            break;
+-    }
+-    code = gs_add_control_path(mem, gs_permit_file_control, fp);
++
++    code = gs_add_control_path(mem, gs_permit_file_control, f);
+     if (code < 0)
+         return code;
+-    return gs_add_control_path(mem, gs_permit_file_writing, fp);
++    return gs_add_control_path(mem, gs_permit_file_writing, f);
+ }
+ 
+ int
+ gs_remove_outputfile_control_path(gs_memory_t *mem, const char *fname)
+ {
+-    char *fp, f[gp_file_name_sizeof];
+-    const int pipe = 124; /* ASCII code for '|' */
+-    const int len = strlen(fname);
+-    int i, code;
++    char f[gp_file_name_sizeof];
++    int code;
+ 
+     /* Be sure the string copy will fit */
+-    if (len >= gp_file_name_sizeof)
++    if (strlen(fname) >= gp_file_name_sizeof)
+         return gs_error_rangecheck;
+     strcpy(f, fname);
+-    fp = f;
+     /* Try to rewrite any %d (or similar) in the string */
+-    for (i = 0; i < len; i++) {
+-        if (f[i] == pipe) {
+-           fp = &f[i + 1];
+-           /* Because we potentially have to check file permissions at two levels
+-              for the output file (gx_device_open_output_file and the low level
+-              fopen API, if we're using a pipe, we have to add both the full string,
+-              (including the '|', and just the command to which we pipe - since at
+-              the pipe_fopen(), the leading '|' has been stripped.
+-            */
+-           code = gs_remove_control_path(mem, gs_permit_file_writing, f);
+-           if (code < 0)
+-               return code;
+-           code = gs_remove_control_path(mem, gs_permit_file_control, f);
+-           if (code < 0)
+-               return code;
+-           break;
+-        }
+-        if (!IS_WHITESPACE(f[i]))
+-            break;
+-    }
+-    code = gs_remove_control_path(mem, gs_permit_file_control, fp);
++    rewrite_percent_specifiers(f);
++
++    code = gs_remove_control_path(mem, gs_permit_file_control, f);
+     if (code < 0)
+         return code;
+-    return gs_remove_control_path(mem, gs_permit_file_writing, fp);
++    return gs_remove_control_path(mem, gs_permit_file_writing, f);
+ }
+ 
+ int

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild
new file mode 100644
index 00000000000..f494a7875d2
--- /dev/null
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Interpreter for the PostScript language and PDF"
+HOMEPAGE="https://ghostscript.com/"
+
+MY_PN=${PN/-gpl}
+MY_P="${MY_PN}-${PV/_}"
+PVM=$(ver_cut 1-2)
+PVM_S=$(ver_rs 1-2 "")
+
+MY_PATCHSET="ghostscript-gpl-9.54-patchset-01.tar.xz"
+
+SRC_URI="https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PVM_S}/${MY_P}.tar.xz"
+
+if [[ -n "${MY_PATCHSET}" ]] ; then
+	SRC_URI+=" https://dev.gentoo.org/~whissi/dist/ghostscript-gpl/${MY_PATCHSET}"
+fi
+
+LICENSE="AGPL-3 CPL-1.0"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="cups dbus gtk +jpeg2k l10n_de static-libs unicode X"
+
+LANGS="ja ko zh-CN zh-TW"
+for X in ${LANGS} ; do
+	IUSE="${IUSE} l10n_${X}"
+done
+
+DEPEND="
+	app-text/libpaper
+	media-libs/fontconfig
+	>=media-libs/freetype-2.4.9:2=
+	>=media-libs/jbig2dec-0.19:=
+	>=media-libs/lcms-2.6:2
+	>=media-libs/libpng-1.6.2:0=
+	>=media-libs/tiff-4.0.1:0=
+	>=sys-libs/zlib-1.2.7
+	virtual/jpeg:0
+	cups? ( >=net-print/cups-1.3.8 )
+	dbus? ( sys-apps/dbus )
+	gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )
+	jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
+	unicode? ( net-dns/libidn:0= )
+	X? ( x11-libs/libXt x11-libs/libXext )
+"
+BDEPEND="virtual/pkgconfig"
+RDEPEND="${DEPEND}
+	app-text/poppler-data
+	>=media-fonts/urw-fonts-2.4.9
+	l10n_ja? ( media-fonts/kochi-substitute )
+	l10n_ko? ( media-fonts/baekmuk-fonts )
+	l10n_zh-CN? ( media-fonts/arphicfonts )
+	l10n_zh-TW? ( media-fonts/arphicfonts )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+	if [[ -n "${MY_PATCHSET}" ]] ; then
+		# apply various patches, many borrowed from Fedora
+		# https://src.fedoraproject.org/rpms/ghostscript
+		# and Debian
+		# https://salsa.debian.org/printing-team/ghostscript/-/tree/debian/latest/debian/patches
+		eapply "${WORKDIR}/patches/"*.patch
+	fi
+
+	eapply "${FILESDIR}"/${P}-CVE-2021-3781.patch
+
+	default
+
+	# remove internal copies of various libraries
+	rm -r cups/libs || die
+	rm -r freetype || die
+	rm -r jbig2dec || die
+	rm -r jpeg || die
+	rm -r lcms2mt || die
+	rm -r libpng || die
+	rm -r tiff || die
+	rm -r zlib || die
+	rm -r openjpeg || die
+	# remove internal CMaps (CMaps from poppler-data are used instead)
+	rm -r Resource/CMap || die
+
+	if ! use gtk ; then
+		sed -e "s:\$(GSSOX)::" \
+			-e "s:.*\$(GSSOX_XENAME)$::" \
+			-i base/unix-dll.mak || die "sed failed"
+	fi
+
+	# Force the include dirs to a neutral location.
+	sed -e "/^ZLIBDIR=/s:=.*:=${T}:" \
+		-i configure.ac || die
+	# Some files depend on zlib.h directly.  Redirect them. #573248
+	# Also make sure to not define OPJ_STATIC to avoid linker errors due to
+	# hidden symbols (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203327#c1)
+	sed -e '/^zlib_h/s:=.*:=:' \
+		-e 's|-DOPJ_STATIC ||' \
+		-i base/lib.mak || die
+
+	# search path fix
+	# put LDFLAGS after BINDIR, bug #383447
+	sed -e "s:\$\(gsdatadir\)/lib:@datarootdir@/ghostscript/${PV}/$(get_libdir):" \
+		-e "s:exdir=.*:exdir=@datarootdir@/doc/${PF}/examples:" \
+		-e "s:docdir=.*:docdir=@datarootdir@/doc/${PF}/html:" \
+		-e "s:GS_DOCDIR=.*:GS_DOCDIR=@datarootdir@/doc/${PF}/html:" \
+		-e 's:-L$(BINDIR):& $(LDFLAGS):g' \
+		-i Makefile.in base/*.mak || die "sed failed"
+
+	# remove incorrect symlink, bug 590384
+	rm ijs/ltmain.sh || die
+	eautoreconf
+
+	cd ijs || die
+	eautoreconf
+}
+
+src_configure() {
+	local FONTPATH
+	for path in \
+		"${EPREFIX}"/usr/share/fonts/urw-fonts \
+		"${EPREFIX}"/usr/share/fonts/Type1 \
+		"${EPREFIX}"/usr/share/fonts \
+		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-CNS1 \
+		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-GB1 \
+		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Japan1 \
+		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Japan2 \
+		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Korea1
+	do
+		FONTPATH="$FONTPATH${FONTPATH:+:}${EPREFIX}$path"
+	done
+
+	PKGCONFIG=$(type -P $(tc-getPKG_CONFIG)) \
+	econf \
+		--enable-dynamic \
+		--enable-freetype \
+		--enable-fontconfig \
+		$(use_enable jpeg2k openjpeg) \
+		--disable-compile-inits \
+		--with-drivers=ALL \
+		--with-fontpath="$FONTPATH" \
+		--with-ijs \
+		--with-jbig2dec \
+		--with-libpaper \
+		--with-system-libtiff \
+		$(use_enable cups) \
+		$(use_enable dbus) \
+		$(use_enable gtk) \
+		$(use_with cups pdftoraster) \
+		$(use_with unicode libidn) \
+		$(use_with X x) \
+		DARWIN_LDFLAGS_SO_PREFIX="${EPREFIX}/usr/lib/"
+
+	cd "${S}/ijs" || die
+	econf \
+		--enable-shared \
+		$(use_enable static-libs static)
+}
+
+src_compile() {
+	emake so all
+
+	cd ijs || die
+	emake
+}
+
+src_install() {
+	emake DESTDIR="${D}" install-so install
+
+	# move gsc to gs, bug #343447
+	# gsc collides with gambit, bug #253064
+	mv -f "${ED}"/usr/bin/{gsc,gs} || die
+
+	cd "${S}/ijs" || die
+	emake DESTDIR="${D}" install
+
+	# install the CMaps from poppler-data properly, bug #409361
+	dosym ../../../poppler/cMaps "/usr/share/ghostscript/${PV}/Resource/CMap"
+
+	if ! use static-libs; then
+		find "${ED}" -name '*.la' -delete || die
+	fi
+
+	if ! use l10n_de; then
+		rm -r "${ED}"/usr/share/man/de || die
+	fi
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/
@ 2021-09-21 19:02 Sam James
  0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2021-09-21 19:02 UTC (permalink / raw
  To: gentoo-commits

commit:     b7805f02f359138edf4384f2b7df317bfc27e3cb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 21 19:01:50 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 21 19:02:14 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7805f02

app-text/ghostscript-gpl: add parallel build patch to 9.54.0-r1

Bug: https://bugs.gentoo.org/800125
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../ghostscript-gpl-9.54.0-makefile-deps.patch     | 110 +++++++++++++++++++++
 .../ghostscript-gpl-9.54.0-r1.ebuild               |   2 +
 2 files changed, 112 insertions(+)

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps.patch
new file mode 100644
index 00000000000..33858f763db
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps.patch
@@ -0,0 +1,110 @@
+https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4874418fd031617212336b8b55f8fcba3b9cfb68#patch1
+https://bugs.gentoo.org/800125
+
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Thu, 6 May 2021 12:23:59 +0100
+Subject: [PATCH] Remove makefile reference to non-existent header file
+
+Fixes (spurious) parallel make failure on the cluster
+--- a/base/lib.mak
++++ b/base/lib.mak
+@@ -488,7 +488,6 @@ gxcoord_h=$(GLSRC)gxcoord.h
+ gxcpath_h=$(GLSRC)gxcpath.h
+ gxdda_h=$(GLSRC)gxdda.h
+ gxdevbuf_h=$(GLSRC)gxdevbuf.h
+-gxdevrop_h=$(GLSRC)gxdevrop.h
+ gxdevmem_h=$(GLSRC)gxdevmem.h
+ gxdhtres_h=$(GLSRC)gxdhtres.h
+ gxfont0_h=$(GLSRC)gxfont0.h
+@@ -2407,13 +2406,13 @@ $(GLD)roplib.dev : $(LIB_MAK) $(ECHOGS_XE) $(roplib_) $(LIB_MAK) $(MAKEDIRS)
+ 
+ $(GLOBJ)gdevdrop_1.$(OBJ) : $(GLSRC)gdevdrop.c $(AK) $(gx_h) $(gserrors_h) \
+  $(memory__h) $(gxdevsop_h) $(gsbittab_h) $(gsropt_h) $(gxcindex_h) \
+- $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h) $(gxgetbit_h) \
++ $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxgetbit_h) \
+  $(gdevmem_h) $(gdevmrop_h) $(gdevmpla_h) $(stdint__h) $(LIB_MAK) $(MAKEDIRS)
+ 	$(GLCC) $(D_)WITH_CAL$(_D) $(I_)$(CALSRCDIR)$(_I) $(GLO_)gdevdrop_1.$(OBJ) $(C_) $(GLSRC)gdevdrop.c
+ 
+ $(GLOBJ)gdevdrop_0.$(OBJ) : $(GLSRC)gdevdrop.c $(AK) $(gx_h) $(gserrors_h) \
+  $(memory__h) $(gxdevsop_h) $(gsbittab_h) $(gsropt_h) $(gxcindex_h) \
+- $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h) $(gxgetbit_h) \
++ $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxgetbit_h) \
+  $(gdevmem_h) $(gdevmrop_h) $(gdevmpla_h) $(stdint__h) $(LIB_MAK) $(MAKEDIRS)
+ 	$(GLCC) $(GLO_)gdevdrop_0.$(OBJ) $(C_) $(GLSRC)gdevdrop.c
+ 
+@@ -5585,75 +5584,6 @@ $(GLSRC)gxdevbuf.h:$(GLSRC)std.h
+ $(GLSRC)gxdevbuf.h:$(GLSRC)stdpre.h
+ $(GLSRC)gxdevbuf.h:$(GLGEN)arch.h
+ $(GLSRC)gxdevbuf.h:$(GLSRC)gs_dll_call.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxdevcli.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxcmap.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxtext.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gstext.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsnamecl.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gstparam.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxfmap.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsfunc.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxcspace.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxrplane.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gscsel.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxfcache.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsfont.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsimage.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsdcolor.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxcvalue.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxbcache.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsropt.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxdda.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxpath.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxfrac.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxtmap.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxftype.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gscms.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsrect.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gslparam.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsdevice.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gscpm.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gscspace.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsgstate.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsxfont.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsdsrc.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsiparam.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxfixed.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gscompt.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsmatrix.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gspenum.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxhttile.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsparam.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsrefct.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gp.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)memento.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)memory_.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsuid.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsstruct.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxsync.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxbitmap.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)srdline.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)scommon.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsbitmap.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsccolor.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxarith.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)stat_.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gpsync.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsstype.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsmemory.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gpgetenv.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gscdefs.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gslibctx.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gxcindex.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)stdio_.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gsccode.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)stdint_.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gssprintf.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gstypes.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)std.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)stdpre.h
+-$(GLSRC)gxdevrop.h:$(GLGEN)arch.h
+-$(GLSRC)gxdevrop.h:$(GLSRC)gs_dll_call.h
+ $(GLSRC)gxdevmem.h:$(GLSRC)gxdevcli.h
+ $(GLSRC)gxdevmem.h:$(GLSRC)gxcmap.h
+ $(GLSRC)gxdevmem.h:$(GLSRC)gxtext.h

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild
index 710ac1d7f7a..8c45437e8ef 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild
@@ -69,7 +69,9 @@ src_prepare() {
 		eapply "${WORKDIR}/patches/"*.patch
 	fi
 
+	# Upstream patches
 	eapply "${FILESDIR}"/${P}-CVE-2021-3781.patch
+	eapply "${FILESDIR}"/${P}-makefile-deps.patch
 
 	default
 


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/
@ 2022-01-15 14:15 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2022-01-15 14:15 UTC (permalink / raw
  To: gentoo-commits

commit:     721a4664fee78f80d4c0a370b80479e22bf1f1bb
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 15 12:43:39 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jan 15 14:14:59 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=721a4664

app-text/ghostscript-gpl: Drop 9.54.0-r1

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 app-text/ghostscript-gpl/Manifest                  |   2 -
 .../ghostscript-gpl-9.54.0-CVE-2021-3781.patch     | 213 ---------------------
 .../ghostscript-gpl-9.54.0-makefile-deps-2.patch   |  96 ----------
 .../ghostscript-gpl-9.54.0-makefile-deps.patch     | 112 -----------
 .../ghostscript-gpl-9.54.0-r1.ebuild               | 194 -------------------
 5 files changed, 617 deletions(-)

diff --git a/app-text/ghostscript-gpl/Manifest b/app-text/ghostscript-gpl/Manifest
index 7715946cfaaf..6458096e7f7b 100644
--- a/app-text/ghostscript-gpl/Manifest
+++ b/app-text/ghostscript-gpl/Manifest
@@ -1,4 +1,2 @@
-DIST ghostscript-9.54.0.tar.xz 56001768 BLAKE2B 4a98b1af74c4b4caf8d263cd5529059304a76884418c90401b0fc9a89e0f5de5417a439f6e08b95374e62158eec65528ef5f949497d5050a6408fb7c87e54aa9 SHA512 a3c96925f4dbf5e276fc543b88df185a0435c68166db15ac532094329ba8db314d739a292da18be7954daaafeeb290e641ea03edf888854d7e752998ec6062cc
 DIST ghostscript-9.55.0.tar.xz 67417724 BLAKE2B 87827856aa60c2c4a4ed209bc4203a837107df0404af036a48e5baa23fccfc945a97fe328a80b15c7357fc71acb82721d4b96e5f726d8c9d836fee031916aef7 SHA512 42c7e05ba72e9fdd626c5412187b13fc3c9459cae57dfe49ddd3011bf4e2cbd10bc88f09068a9f777c2ec6ae881cd737fd700ab62ec5108f2aca69152588f38e
-DIST ghostscript-gpl-9.54-patchset-01.tar.xz 2600 BLAKE2B e89f16f149ba3c46b1e81d774a3dca8345dfb60ec959249292cc0f3d8bc811ac169e232e3fb85de9d0ce65dd41453f90461798007b8b9fdd2c6e44d55e7a9d10 SHA512 0c49fbe6ece86b0c7729421cf06a6a210341fbe676efd89c0f97c96a426d3156e6a8ee596e050b8ee6a1af7a94ea8d1d54a6166f020a7d40fec95949cd7f3b12
 DIST ghostscript-gpl-9.55-patchset-01.tar.xz 2940 BLAKE2B 450498f0bd191d5936de1c2bdff659f075c39f7f7fefaf85b438f51967c4a8c294c6c887b36d5c0429d3677fb06e171e77da4b81ec911efea96df5b107d489dc SHA512 87411e68a078f77171128392962a9cd7a639bf6082447c658a50017cbf3f4e3ebce63af46eb9befdf2c1317de3a7a17e389f4de6e3aeae83d519b1c7b36de3c8

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-CVE-2021-3781.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-CVE-2021-3781.patch
deleted file mode 100644
index 779bedad4bde..000000000000
--- a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-CVE-2021-3781.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=a9bd3dec9fde03327a4a2c69dad1036bf9632e20
-https://bugs.gentoo.org/812509
-
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Tue, 7 Sep 2021 20:36:12 +0100
-Subject: [PATCH 1/1] Bug 704342: Include device specifier strings in access
- validation
-
-for the "%pipe%", %handle%" and %printer% io devices.
-
-We previously validated only the part after the "%pipe%" Postscript device
-specifier, but this proved insufficient.
-
-This rebuilds the original file name string, and validates it complete. The
-slight complication for "%pipe%" is it can be reached implicitly using
-"|" so we have to check both prefixes.
-
-Addresses CVE-2021-3781
---- a/base/gdevpipe.c
-+++ b/base/gdevpipe.c
-@@ -72,8 +72,28 @@ pipe_fopen(gx_io_device * iodev, const char *fname, const char *access,
- #else
-     gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
-     gs_fs_list_t *fs = ctx->core->fs;
-+    /* The pipe device can be reached in two ways, explicltly with %pipe%
-+       or implicitly with "|", so we have to check for both
-+     */
-+    char f[gp_file_name_sizeof];
-+    const char *pipestr = "|";
-+    const size_t pipestrlen = strlen(pipestr);
-+    const size_t preflen = strlen(iodev->dname);
-+    const size_t nlen = strlen(fname);
-+    int code1;
-+
-+    if (preflen + nlen >= gp_file_name_sizeof)
-+        return_error(gs_error_invalidaccess);
-+
-+    memcpy(f, iodev->dname, preflen);
-+    memcpy(f + preflen, fname, nlen + 1);
-+
-+    code1 = gp_validate_path(mem, f, access);
-+
-+    memcpy(f, pipestr, pipestrlen);
-+    memcpy(f + pipestrlen, fname, nlen + 1);
- 
--    if (gp_validate_path(mem, fname, access) != 0)
-+    if (code1 != 0 && gp_validate_path(mem, f, access) != 0 )
-         return gs_error_invalidfileaccess;
- 
-     /*
---- a/base/gp_mshdl.c
-+++ b/base/gp_mshdl.c
-@@ -95,8 +95,17 @@ mswin_handle_fopen(gx_io_device * iodev, const char *fname, const char *access,
-     long hfile;	/* Correct for Win32, may be wrong for Win64 */
-     gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
-     gs_fs_list_t *fs = ctx->core->fs;
-+    char f[gp_file_name_sizeof];
-+    const size_t preflen = strlen(iodev->dname);
-+    const size_t nlen = strlen(fname);
- 
--    if (gp_validate_path(mem, fname, access) != 0)
-+    if (preflen + nlen >= gp_file_name_sizeof)
-+        return_error(gs_error_invalidaccess);
-+
-+    memcpy(f, iodev->dname, preflen);
-+    memcpy(f + preflen, fname, nlen + 1);
-+
-+    if (gp_validate_path(mem, f, access) != 0)
-         return gs_error_invalidfileaccess;
- 
-     /* First we try the open_handle method. */
---- a/base/gp_msprn.c
-+++ b/base/gp_msprn.c
-@@ -168,8 +168,16 @@ mswin_printer_fopen(gx_io_device * iodev, const char *fname, const char *access,
-     uintptr_t *ptid = &((tid_t *)(iodev->state))->tid;
-     gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
-     gs_fs_list_t *fs = ctx->core->fs;
-+    const size_t preflen = strlen(iodev->dname);
-+    const size_t nlen = strlen(fname);
- 
--    if (gp_validate_path(mem, fname, access) != 0)
-+    if (preflen + nlen >= gp_file_name_sizeof)
-+        return_error(gs_error_invalidaccess);
-+
-+    memcpy(pname, iodev->dname, preflen);
-+    memcpy(pname + preflen, fname, nlen + 1);
-+
-+    if (gp_validate_path(mem, pname, access) != 0)
-         return gs_error_invalidfileaccess;
- 
-     /* First we try the open_printer method. */
---- a/base/gp_os2pr.c
-+++ b/base/gp_os2pr.c
-@@ -107,9 +107,20 @@ os2_printer_fopen(gx_io_device * iodev, const char *fname, const char *access,
-            FILE ** pfile, char *rfname, uint rnamelen)
- {
-     os2_printer_t *pr = (os2_printer_t *)iodev->state;
--    char driver_name[256];
-+    char driver_name[gp_file_name_sizeof];
-     gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
-     gs_fs_list_t *fs = ctx->core->fs;
-+    const size_t preflen = strlen(iodev->dname);
-+    const int size_t = strlen(fname);
-+
-+    if (preflen + nlen >= gp_file_name_sizeof)
-+        return_error(gs_error_invalidaccess);
-+
-+    memcpy(driver_name, iodev->dname, preflen);
-+    memcpy(driver_name + preflen, fname, nlen + 1);
-+
-+    if (gp_validate_path(mem, driver_name, access) != 0)
-+        return gs_error_invalidfileaccess;
- 
-     /* First we try the open_printer method. */
-     /* Note that the loop condition here ensures we don't
---- a/base/gslibctx.c
-+++ b/base/gslibctx.c
-@@ -655,82 +655,39 @@ rewrite_percent_specifiers(char *s)
- int
- gs_add_outputfile_control_path(gs_memory_t *mem, const char *fname)
- {
--    char *fp, f[gp_file_name_sizeof];
--    const int pipe = 124; /* ASCII code for '|' */
--    const int len = strlen(fname);
--    int i, code;
-+    char f[gp_file_name_sizeof];
-+    int code;
- 
-     /* Be sure the string copy will fit */
--    if (len >= gp_file_name_sizeof)
-+    if (strlen(fname) >= gp_file_name_sizeof)
-         return gs_error_rangecheck;
-     strcpy(f, fname);
--    fp = f;
-     /* Try to rewrite any %d (or similar) in the string */
-     rewrite_percent_specifiers(f);
--    for (i = 0; i < len; i++) {
--        if (f[i] == pipe) {
--           fp = &f[i + 1];
--           /* Because we potentially have to check file permissions at two levels
--              for the output file (gx_device_open_output_file and the low level
--              fopen API, if we're using a pipe, we have to add both the full string,
--              (including the '|', and just the command to which we pipe - since at
--              the pipe_fopen(), the leading '|' has been stripped.
--            */
--           code = gs_add_control_path(mem, gs_permit_file_writing, f);
--           if (code < 0)
--               return code;
--           code = gs_add_control_path(mem, gs_permit_file_control, f);
--           if (code < 0)
--               return code;
--           break;
--        }
--        if (!IS_WHITESPACE(f[i]))
--            break;
--    }
--    code = gs_add_control_path(mem, gs_permit_file_control, fp);
-+
-+    code = gs_add_control_path(mem, gs_permit_file_control, f);
-     if (code < 0)
-         return code;
--    return gs_add_control_path(mem, gs_permit_file_writing, fp);
-+    return gs_add_control_path(mem, gs_permit_file_writing, f);
- }
- 
- int
- gs_remove_outputfile_control_path(gs_memory_t *mem, const char *fname)
- {
--    char *fp, f[gp_file_name_sizeof];
--    const int pipe = 124; /* ASCII code for '|' */
--    const int len = strlen(fname);
--    int i, code;
-+    char f[gp_file_name_sizeof];
-+    int code;
- 
-     /* Be sure the string copy will fit */
--    if (len >= gp_file_name_sizeof)
-+    if (strlen(fname) >= gp_file_name_sizeof)
-         return gs_error_rangecheck;
-     strcpy(f, fname);
--    fp = f;
-     /* Try to rewrite any %d (or similar) in the string */
--    for (i = 0; i < len; i++) {
--        if (f[i] == pipe) {
--           fp = &f[i + 1];
--           /* Because we potentially have to check file permissions at two levels
--              for the output file (gx_device_open_output_file and the low level
--              fopen API, if we're using a pipe, we have to add both the full string,
--              (including the '|', and just the command to which we pipe - since at
--              the pipe_fopen(), the leading '|' has been stripped.
--            */
--           code = gs_remove_control_path(mem, gs_permit_file_writing, f);
--           if (code < 0)
--               return code;
--           code = gs_remove_control_path(mem, gs_permit_file_control, f);
--           if (code < 0)
--               return code;
--           break;
--        }
--        if (!IS_WHITESPACE(f[i]))
--            break;
--    }
--    code = gs_remove_control_path(mem, gs_permit_file_control, fp);
-+    rewrite_percent_specifiers(f);
-+
-+    code = gs_remove_control_path(mem, gs_permit_file_control, f);
-     if (code < 0)
-         return code;
--    return gs_remove_control_path(mem, gs_permit_file_writing, fp);
-+    return gs_remove_control_path(mem, gs_permit_file_writing, f);
- }
- 
- int

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps-2.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps-2.patch
deleted file mode 100644
index 38f0eaa1516f..000000000000
--- a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps-2.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From: Sam James <sam@gentoo.org>
-Date: Tue, 28 Sep 2021 03:40:19 +0100
-Subject: [PATCH] Rebased versions of upstream Makefile patches
-
-https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=cf868c13c03a781243c1d8764cbeba3a49ffb92e
-https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c8285e6e9cd42277ae298475ad0c96da009b0e98
-https://bugs.gentoo.org/800125
---- a/devices/devs.mak
-+++ b/devices/devs.mak
-@@ -669,7 +669,7 @@ $(DD)txtwrite.dev : $(ECHOGS_XE) $(txtwrite_) $(GDEV)\
- $(DEVOBJ)gdevtxtw.$(OBJ) : $(DEVVECSRC)gdevtxtw.c $(GDEV) $(gdevkrnlsclass_h) \
-   $(memory__h) $(string__h) $(gp_h) $(gsparam_h) $(gsutil_h) \
-   $(gsdevice_h) $(gxfont_h) $(gxfont0_h) $(gstext_h) $(gxfcid_h)\
--  $(gxgstate_h) $(gxpath_h) $(gdevagl_h) $(DEVS_MAK) $(MAKEDIRS) $(DEVVECSRC)doc_common.h
-+  $(gxgstate_h) $(gxpath_h) $(gdevagl_h) $(DEVS_MAK) $(DEVVECSRC)doc_common.h $(MAKEDIRS)
- 	$(DEVCC) $(DEVO_)gdevtxtw.$(OBJ) $(C_) $(DEVVECSRC)gdevtxtw.c
- 
- $(DEVOBJ)gdevagl.$(OBJ) : $(DEVVECSRC)gdevagl.c $(GDEV)\
-@@ -684,14 +684,14 @@ gdevagl_h=$(DEVVECSRC)gdevagl.h
- docxwrite_=$(DEVOBJ)gdevdocxw.$(OBJ) $(DEVOBJ)gdevagl.$(OBJ) $(DEVOBJ)doc_common.$(OBJ)
- 
- $(DD)docxwrite.dev : $(ECHOGS_XE) $(docxwrite_) $(GDEV)\
-- $(gdevagl_h) $(DEVS_MAK) $(MAKEDIRS) $(EXTRACT_OBJS)
-+ $(gdevagl_h) $(DEVS_MAK) $(EXTRACT_OBJS) $(MAKEDIRS)
- 	$(SETDEV2) $(DD)docxwrite $(docxwrite_) $(EXTRACT_OBJS)
- 
- $(DEVOBJ)gdevdocxw.$(OBJ) : $(DEVVECSRC)gdevdocxw.c $(GDEV) $(gdevkrnlsclass_h) \
-   $(memory__h) $(string__h) $(gp_h) $(gsparam_h) $(gsutil_h) \
-   $(gsdevice_h) $(gxfont_h) $(gxfont0_h) $(gstext_h) $(gxfcid_h)\
--  $(gxgstate_h) $(gxpath_h) $(gdevagl_h) $(DEVS_MAK) $(MAKEDIRS) \
--  $(DEVVECSRC)doc_common.h
-+  $(gxgstate_h) $(gxpath_h) $(gdevagl_h) $(DEVS_MAK) $(DEVVECSRC)doc_common.h \
-+  $(MAKEDIRS)
- 	$(DEVCC) $(DEVO_)gdevdocxw.$(OBJ) $(C_) $(DEVVECSRC)gdevdocxw.c
- 
- # Shared code used by txtwrite and docxwrite.
-@@ -699,7 +699,7 @@ $(DEVOBJ)gdevdocxw.$(OBJ) : $(DEVVECSRC)gdevdocxw.c $(GDEV) $(gdevkrnlsclass_h)
- $(DEVOBJ)doc_common.$(OBJ) : $(DEVVECSRC)doc_common.c $(GDEV) $(gdevkrnlsclass_h) \
-   $(memory__h) $(string__h) $(gp_h) $(gsparam_h) $(gsutil_h) \
-   $(gsdevice_h) $(gxfont_h) $(gxfont0_h) $(gstext_h) $(gxfcid_h)\
--  $(gxgstate_h) $(gxpath_h) $(gdevagl_h) $(DEVS_MAK) $(MAKEDIRS) $(DEVVECSRC)doc_common.h
-+  $(gxgstate_h) $(gxpath_h) $(gdevagl_h) $(DEVS_MAK) $(DEVVECSRC)doc_common.h $(MAKEDIRS)
- 	$(DEVCC) $(DEVO_)doc_common.$(OBJ) $(C_) $(DEVVECSRC)doc_common.c
- 
- 
---- a/devices/extract.mak
-+++ b/devices/extract.mak
-@@ -1,37 +1,37 @@
- extract_cc = $(CC) $(CCFLAGS) $(I_)$(EXTRACT_DIR)/include$(_I) $(I_)$(ZSRCDIR)$(_I) $(O_)
- extract_out_prefix = $(GLOBJDIR)$(D)extract_
- 
--$(extract_out_prefix)alloc.$(OBJ):          $(EXTRACT_DIR)/src/alloc.c
-+$(extract_out_prefix)alloc.$(OBJ):          $(EXTRACT_DIR)/src/alloc.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/alloc.c
- 
--$(extract_out_prefix)astring.$(OBJ):        $(EXTRACT_DIR)/src/astring.c
-+$(extract_out_prefix)astring.$(OBJ):        $(EXTRACT_DIR)/src/astring.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/astring.c
- 
--$(extract_out_prefix)buffer.$(OBJ):         $(EXTRACT_DIR)/src/buffer.c
-+$(extract_out_prefix)buffer.$(OBJ):         $(EXTRACT_DIR)/src/buffer.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/buffer.c
- 
--$(extract_out_prefix)docx.$(OBJ):           $(EXTRACT_DIR)/src/docx.c
-+$(extract_out_prefix)docx.$(OBJ):           $(EXTRACT_DIR)/src/docx.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/docx.c
- 
--$(extract_out_prefix)docx_template.$(OBJ):  $(EXTRACT_DIR)/src/docx_template.c
-+$(extract_out_prefix)docx_template.$(OBJ):  $(EXTRACT_DIR)/src/docx_template.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/docx_template.c
- 
--$(extract_out_prefix)extract.$(OBJ):        $(EXTRACT_DIR)/src/extract.c
-+$(extract_out_prefix)extract.$(OBJ):        $(EXTRACT_DIR)/src/extract.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/extract.c
- 
--$(extract_out_prefix)join.$(OBJ):           $(EXTRACT_DIR)/src/join.c
-+$(extract_out_prefix)join.$(OBJ):           $(EXTRACT_DIR)/src/join.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/join.c
- 
--$(extract_out_prefix)mem.$(OBJ):            $(EXTRACT_DIR)/src/mem.c
-+$(extract_out_prefix)mem.$(OBJ):            $(EXTRACT_DIR)/src/mem.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/mem.c
- 
--$(extract_out_prefix)outf.$(OBJ):           $(EXTRACT_DIR)/src/outf.c
-+$(extract_out_prefix)outf.$(OBJ):           $(EXTRACT_DIR)/src/outf.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/outf.c
- 
--$(extract_out_prefix)xml.$(OBJ):            $(EXTRACT_DIR)/src/xml.c
-+$(extract_out_prefix)xml.$(OBJ):            $(EXTRACT_DIR)/src/xml.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/xml.c
- 
--$(extract_out_prefix)zip.$(OBJ):            $(EXTRACT_DIR)/src/zip.c
-+$(extract_out_prefix)zip.$(OBJ):            $(EXTRACT_DIR)/src/zip.c $(MAKEDIRS)
- 	$(extract_cc)$@ $(C_) $(EXTRACT_DIR)/src/zip.c
- 
- EXTRACT_OBJS = \

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps.patch
deleted file mode 100644
index 51ce95958ba1..000000000000
--- a/app-text/ghostscript-gpl/files/ghostscript-gpl-9.54.0-makefile-deps.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4874418fd031617212336b8b55f8fcba3b9cfb68#patch1
-https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=cf868c13c03a781243c1d8764cbeba3a49ffb92e
-https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=c8285e6e9cd42277ae298475ad0c96da009b0e98
-https://bugs.gentoo.org/800125
-
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Thu, 6 May 2021 12:23:59 +0100
-Subject: [PATCH] Remove makefile reference to non-existent header file
-
-Fixes (spurious) parallel make failure on the cluster
---- a/base/lib.mak
-+++ b/base/lib.mak
-@@ -488,7 +488,6 @@ gxcoord_h=$(GLSRC)gxcoord.h
- gxcpath_h=$(GLSRC)gxcpath.h
- gxdda_h=$(GLSRC)gxdda.h
- gxdevbuf_h=$(GLSRC)gxdevbuf.h
--gxdevrop_h=$(GLSRC)gxdevrop.h
- gxdevmem_h=$(GLSRC)gxdevmem.h
- gxdhtres_h=$(GLSRC)gxdhtres.h
- gxfont0_h=$(GLSRC)gxfont0.h
-@@ -2407,13 +2406,13 @@ $(GLD)roplib.dev : $(LIB_MAK) $(ECHOGS_XE) $(roplib_) $(LIB_MAK) $(MAKEDIRS)
- 
- $(GLOBJ)gdevdrop_1.$(OBJ) : $(GLSRC)gdevdrop.c $(AK) $(gx_h) $(gserrors_h) \
-  $(memory__h) $(gxdevsop_h) $(gsbittab_h) $(gsropt_h) $(gxcindex_h) \
-- $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h) $(gxgetbit_h) \
-+ $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxgetbit_h) \
-  $(gdevmem_h) $(gdevmrop_h) $(gdevmpla_h) $(stdint__h) $(LIB_MAK) $(MAKEDIRS)
- 	$(GLCC) $(D_)WITH_CAL$(_D) $(I_)$(CALSRCDIR)$(_I) $(GLO_)gdevdrop_1.$(OBJ) $(C_) $(GLSRC)gdevdrop.c
- 
- $(GLOBJ)gdevdrop_0.$(OBJ) : $(GLSRC)gdevdrop.c $(AK) $(gx_h) $(gserrors_h) \
-  $(memory__h) $(gxdevsop_h) $(gsbittab_h) $(gsropt_h) $(gxcindex_h) \
-- $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxdevrop_h) $(gxgetbit_h) \
-+ $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxgetbit_h) \
-  $(gdevmem_h) $(gdevmrop_h) $(gdevmpla_h) $(stdint__h) $(LIB_MAK) $(MAKEDIRS)
- 	$(GLCC) $(GLO_)gdevdrop_0.$(OBJ) $(C_) $(GLSRC)gdevdrop.c
- 
-@@ -5585,75 +5584,6 @@ $(GLSRC)gxdevbuf.h:$(GLSRC)std.h
- $(GLSRC)gxdevbuf.h:$(GLSRC)stdpre.h
- $(GLSRC)gxdevbuf.h:$(GLGEN)arch.h
- $(GLSRC)gxdevbuf.h:$(GLSRC)gs_dll_call.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxdevcli.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxcmap.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxtext.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gstext.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsnamecl.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gstparam.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxfmap.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsfunc.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxcspace.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxrplane.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gscsel.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxfcache.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsfont.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsimage.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsdcolor.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxcvalue.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxbcache.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsropt.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxdda.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxpath.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxfrac.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxtmap.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxftype.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gscms.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsrect.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gslparam.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsdevice.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gscpm.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gscspace.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsgstate.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsxfont.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsdsrc.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsiparam.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxfixed.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gscompt.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsmatrix.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gspenum.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxhttile.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsparam.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsrefct.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gp.h
--$(GLSRC)gxdevrop.h:$(GLSRC)memento.h
--$(GLSRC)gxdevrop.h:$(GLSRC)memory_.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsuid.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsstruct.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxsync.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxbitmap.h
--$(GLSRC)gxdevrop.h:$(GLSRC)srdline.h
--$(GLSRC)gxdevrop.h:$(GLSRC)scommon.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsbitmap.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsccolor.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxarith.h
--$(GLSRC)gxdevrop.h:$(GLSRC)stat_.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gpsync.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsstype.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsmemory.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gpgetenv.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gscdefs.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gslibctx.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gxcindex.h
--$(GLSRC)gxdevrop.h:$(GLSRC)stdio_.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gsccode.h
--$(GLSRC)gxdevrop.h:$(GLSRC)stdint_.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gssprintf.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gstypes.h
--$(GLSRC)gxdevrop.h:$(GLSRC)std.h
--$(GLSRC)gxdevrop.h:$(GLSRC)stdpre.h
--$(GLSRC)gxdevrop.h:$(GLGEN)arch.h
--$(GLSRC)gxdevrop.h:$(GLSRC)gs_dll_call.h
- $(GLSRC)gxdevmem.h:$(GLSRC)gxdevcli.h
- $(GLSRC)gxdevmem.h:$(GLSRC)gxcmap.h
- $(GLSRC)gxdevmem.h:$(GLSRC)gxtext.h

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild
deleted file mode 100644
index d112d0051958..000000000000
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.54.0-r1.ebuild
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Interpreter for the PostScript language and PDF"
-HOMEPAGE="https://ghostscript.com/"
-
-MY_PN=${PN/-gpl}
-MY_P="${MY_PN}-${PV/_}"
-PVM=$(ver_cut 1-2)
-PVM_S=$(ver_rs 1-2 "")
-
-MY_PATCHSET="ghostscript-gpl-9.54-patchset-01.tar.xz"
-
-SRC_URI="https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PVM_S}/${MY_P}.tar.xz"
-
-if [[ -n "${MY_PATCHSET}" ]] ; then
-	SRC_URI+=" https://dev.gentoo.org/~whissi/dist/ghostscript-gpl/${MY_PATCHSET}"
-fi
-
-LICENSE="AGPL-3 CPL-1.0"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cups dbus gtk +jpeg2k l10n_de static-libs unicode X"
-
-LANGS="ja ko zh-CN zh-TW"
-for X in ${LANGS} ; do
-	IUSE="${IUSE} l10n_${X}"
-done
-
-DEPEND="
-	app-text/libpaper
-	media-libs/fontconfig
-	>=media-libs/freetype-2.4.9:2=
-	>=media-libs/jbig2dec-0.19:=
-	>=media-libs/lcms-2.6:2
-	>=media-libs/libpng-1.6.2:0=
-	>=media-libs/tiff-4.0.1:0=
-	>=sys-libs/zlib-1.2.7
-	virtual/jpeg:0
-	cups? ( >=net-print/cups-1.3.8 )
-	dbus? ( sys-apps/dbus )
-	gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )
-	jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
-	unicode? ( net-dns/libidn:0= )
-	X? ( x11-libs/libXt x11-libs/libXext )
-"
-BDEPEND="virtual/pkgconfig"
-RDEPEND="${DEPEND}
-	app-text/poppler-data
-	>=media-fonts/urw-fonts-2.4.9
-	l10n_ja? ( media-fonts/kochi-substitute )
-	l10n_ko? ( media-fonts/baekmuk-fonts )
-	l10n_zh-CN? ( media-fonts/arphicfonts )
-	l10n_zh-TW? ( media-fonts/arphicfonts )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
-	if [[ -n "${MY_PATCHSET}" ]] ; then
-		# apply various patches, many borrowed from Fedora
-		# https://src.fedoraproject.org/rpms/ghostscript
-		# and Debian
-		# https://salsa.debian.org/printing-team/ghostscript/-/tree/debian/latest/debian/patches
-		eapply "${WORKDIR}/patches/"*.patch
-	fi
-
-	# Upstream patches
-	eapply "${FILESDIR}"/${P}-CVE-2021-3781.patch
-	eapply "${FILESDIR}"/${P}-makefile-deps.patch
-	eapply "${FILESDIR}"/${P}-makefile-deps-2.patch
-
-	default
-
-	# remove internal copies of various libraries
-	rm -r cups/libs || die
-	rm -r freetype || die
-	rm -r jbig2dec || die
-	rm -r jpeg || die
-	rm -r lcms2mt || die
-	rm -r libpng || die
-	rm -r tiff || die
-	rm -r zlib || die
-	rm -r openjpeg || die
-	# remove internal CMaps (CMaps from poppler-data are used instead)
-	rm -r Resource/CMap || die
-
-	if ! use gtk ; then
-		sed -e "s:\$(GSSOX)::" \
-			-e "s:.*\$(GSSOX_XENAME)$::" \
-			-i base/unix-dll.mak || die "sed failed"
-	fi
-
-	# Force the include dirs to a neutral location.
-	sed -e "/^ZLIBDIR=/s:=.*:=${T}:" \
-		-i configure.ac || die
-	# Some files depend on zlib.h directly.  Redirect them. #573248
-	# Also make sure to not define OPJ_STATIC to avoid linker errors due to
-	# hidden symbols (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203327#c1)
-	sed -e '/^zlib_h/s:=.*:=:' \
-		-e 's|-DOPJ_STATIC ||' \
-		-i base/lib.mak || die
-
-	# search path fix
-	# put LDFLAGS after BINDIR, bug #383447
-	sed -e "s:\$\(gsdatadir\)/lib:@datarootdir@/ghostscript/${PV}/$(get_libdir):" \
-		-e "s:exdir=.*:exdir=@datarootdir@/doc/${PF}/examples:" \
-		-e "s:docdir=.*:docdir=@datarootdir@/doc/${PF}/html:" \
-		-e "s:GS_DOCDIR=.*:GS_DOCDIR=@datarootdir@/doc/${PF}/html:" \
-		-e 's:-L$(BINDIR):& $(LDFLAGS):g' \
-		-i Makefile.in base/*.mak || die "sed failed"
-
-	# remove incorrect symlink, bug 590384
-	rm ijs/ltmain.sh || die
-	eautoreconf
-
-	cd ijs || die
-	eautoreconf
-}
-
-src_configure() {
-	local FONTPATH
-	for path in \
-		"${EPREFIX}"/usr/share/fonts/urw-fonts \
-		"${EPREFIX}"/usr/share/fonts/Type1 \
-		"${EPREFIX}"/usr/share/fonts \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-CNS1 \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-GB1 \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Japan1 \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Japan2 \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Korea1
-	do
-		FONTPATH="$FONTPATH${FONTPATH:+:}${EPREFIX}$path"
-	done
-
-	PKGCONFIG=$(type -P $(tc-getPKG_CONFIG)) \
-	econf \
-		--enable-dynamic \
-		--enable-freetype \
-		--enable-fontconfig \
-		$(use_enable jpeg2k openjpeg) \
-		--disable-compile-inits \
-		--with-drivers=ALL \
-		--with-fontpath="$FONTPATH" \
-		--with-ijs \
-		--with-jbig2dec \
-		--with-libpaper \
-		--with-system-libtiff \
-		$(use_enable cups) \
-		$(use_enable dbus) \
-		$(use_enable gtk) \
-		$(use_with cups pdftoraster) \
-		$(use_with unicode libidn) \
-		$(use_with X x) \
-		DARWIN_LDFLAGS_SO_PREFIX="${EPREFIX}/usr/lib/"
-
-	cd "${S}/ijs" || die
-	econf \
-		--enable-shared \
-		$(use_enable static-libs static)
-}
-
-src_compile() {
-	emake so all
-
-	cd ijs || die
-	emake
-}
-
-src_install() {
-	emake DESTDIR="${D}" install-so install
-
-	# move gsc to gs, bug #343447
-	# gsc collides with gambit, bug #253064
-	mv -f "${ED}"/usr/bin/{gsc,gs} || die
-
-	cd "${S}/ijs" || die
-	emake DESTDIR="${D}" install
-
-	# install the CMaps from poppler-data properly, bug #409361
-	dosym ../../../poppler/cMaps "/usr/share/ghostscript/${PV}/Resource/CMap"
-
-	if ! use static-libs; then
-		find "${ED}" -name '*.la' -delete || die
-	fi
-
-	if ! use l10n_de; then
-		rm -r "${ED}"/usr/share/man/de || die
-	fi
-}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/
@ 2024-03-12 17:01 Sam James
  0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2024-03-12 17:01 UTC (permalink / raw
  To: gentoo-commits

commit:     7d147261aada657d34e83e4d29c0c13cfec2d0b1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 12 17:01:23 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 17:01:32 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d147261

app-text/ghostscript-gpl: add 10.03.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-text/ghostscript-gpl/Manifest                  |   1 +
 .../files/ghostscript-gpl-10.03.0-c99.patch        |  25 +++
 .../ghostscript-gpl/ghostscript-gpl-10.03.0.ebuild | 195 +++++++++++++++++++++
 3 files changed, 221 insertions(+)

diff --git a/app-text/ghostscript-gpl/Manifest b/app-text/ghostscript-gpl/Manifest
index a5b8c30e741e..d536b91c10ca 100644
--- a/app-text/ghostscript-gpl/Manifest
+++ b/app-text/ghostscript-gpl/Manifest
@@ -1,2 +1,3 @@
 DIST ghostscript-10.02.1.tar.xz 68017088 BLAKE2B b491473f0b3d50121e4373e21af3d8cdf55d9ca4390b240c4cb88d0d44e707e32570a7f1f05cb656d1b65443fcd7e37f5eab404d72a20f83d8fd87370a585467 SHA512 ee0f754c1bd8a18428ad14eaa3ead80ff8b96275af5012e7a8384f1f10490da056eec9ae3cc791a7a13a24e16e54df5bccdd109c7d53a14534bbd7360a300b11
+DIST ghostscript-10.03.0.tar.xz 68041176 BLAKE2B c64e0fc9dd290b81e61793671e8645f16b04070685f6ab9d35a60cb910d7504e1e686525af8b74121ae31a5b344e2332efd8bdf99f2a4c5586bff747b8df78d7 SHA512 74d7da586eefbf3fb3c085bb4d2b73ee667fd0ae9cff73ece613c77c443148b847086f91802124baf91ac35cdc83be07199799378def92c8fbd96ced7d0ee9a8
 DIST ghostscript-gpl-10.0-patches.tar.xz 2980 BLAKE2B e2c20195b153bf45f374e84d91a4df1885a3696f4061340a0a2ac5f586b9723b45eade343ad0e5760e66616624b5f7dad82d62747040493d7ca40c13329b2df2 SHA512 dac26d7f75bbdc2a56891db7d607c2120717fdf8b1cd55c53ed3be09de3e0a62338585f4dac74496d634ce03ecb2212f386187e72b5e6b59debf8d07694e0c83

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.0-c99.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.0-c99.patch
new file mode 100644
index 000000000000..494c7080317a
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.0-c99.patch
@@ -0,0 +1,25 @@
+https://bugs.ghostscript.com/show_bug.cgi?id=707649
+https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=90cabe08422afdd16bac5dd9217602679d943045
+
+From 90cabe08422afdd16bac5dd9217602679d943045 Mon Sep 17 00:00:00 2001
+From: Ken Sharp <Ken.Sharp@artifex.com>
+Date: Fri, 8 Mar 2024 09:19:05 +0000
+Subject: [PATCH] Bug #707649 - fix apply_sasl in error cases.
+
+Forgot to dereference the pointers before assigning the values, if we
+get non-fatal errors returned from stringprep.
+--- a/pdf/pdf_sec.c
++++ b/pdf/pdf_sec.c
+@@ -183,8 +183,8 @@ static int apply_sasl(pdf_context *ctx, char *Password, int Len, char **NewPassw
+          * this easy: the errors we want to ignore are the ones with
+          * codes less than 100. */
+         if ((int)err < 100) {
+-            NewPassword = Password;
+-            NewLen = Len;
++            *NewPassword = Password;
++            *NewLen = Len;
+             return 0;
+         }
+ 
+-- 
+2.34.1

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-10.03.0.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-10.03.0.ebuild
new file mode 100644
index 000000000000..47f978bcfebf
--- /dev/null
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-10.03.0.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+MY_PN=${PN/-gpl}
+MY_P="${MY_PN}-${PV/_}"
+PVM=$(ver_cut 1-2)
+PVM_S=$(ver_rs 1-2 "")
+
+# Use https://gitweb.gentoo.org/proj/codec/ghostscript-gpl-patches.git/ for patches
+# See 'index' branch for README
+MY_PATCHSET="ghostscript-gpl-10.0-patches.tar.xz"
+
+DESCRIPTION="Interpreter for the PostScript language and PDF"
+HOMEPAGE="https://ghostscript.com/ https://git.ghostscript.com/?p=ghostpdl.git;a=summary"
+SRC_URI="https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PVM_S}/${MY_P}.tar.xz"
+if [[ -n "${MY_PATCHSET}" ]] ; then
+	SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCHSET}"
+fi
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="AGPL-3 CPL-1.0"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="cups dbus gtk l10n_de static-libs unicode X"
+
+LANGS="ja ko zh-CN zh-TW"
+for X in ${LANGS} ; do
+	IUSE="${IUSE} l10n_${X}"
+done
+
+DEPEND="
+	app-text/libpaper:=
+	media-libs/fontconfig
+	>=media-libs/freetype-2.4.9:2=
+	>=media-libs/jbig2dec-0.19:=
+	>=media-libs/lcms-2.6:2
+	>=media-libs/libpng-1.6.2:=
+	media-libs/libjpeg-turbo:=
+	>=media-libs/openjpeg-2.1.0:2=
+	>=media-libs/tiff-4.0.1:=
+	>=sys-libs/zlib-1.2.7
+	cups? ( >=net-print/cups-1.3.8 )
+	dbus? ( sys-apps/dbus )
+	gtk? ( x11-libs/gtk+:3 )
+	unicode? ( net-dns/libidn:= )
+	X? ( x11-libs/libXt x11-libs/libXext )
+"
+BDEPEND="virtual/pkgconfig"
+# bug #844115 for newer poppler-data dep
+RDEPEND="
+	${DEPEND}
+	>=app-text/poppler-data-0.4.11-r2
+	>=media-fonts/urw-fonts-2.4.9
+	l10n_ja? ( media-fonts/kochi-substitute )
+	l10n_ko? ( media-fonts/baekmuk-fonts )
+	l10n_zh-CN? ( media-fonts/arphicfonts )
+	l10n_zh-TW? ( media-fonts/arphicfonts )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-10.03.0-c99.patch
+)
+
+src_prepare() {
+	if [[ -n ${MY_PATCHSET} ]] ; then
+		# apply various patches, many borrowed from Fedora
+		# https://src.fedoraproject.org/rpms/ghostscript
+		# and Debian
+		# https://salsa.debian.org/printing-team/ghostscript/-/tree/debian/latest/debian/patches
+		eapply "${WORKDIR}"/${MY_PATCHSET%%.tar*}
+	fi
+
+	default
+
+	# Remove internal copies of various libraries
+	rm -r cups/libs || die
+	rm -r freetype || die
+	rm -r jbig2dec || die
+	rm -r jpeg || die
+	rm -r lcms2mt || die
+	rm -r libpng || die
+	rm -r tiff || die
+	rm -r zlib || die
+	rm -r openjpeg || die
+	# Remove internal CMaps (CMaps from poppler-data are used instead)
+	rm -r Resource/CMap || die
+
+	if ! use gtk ; then
+		sed -e "s:\$(GSSOX)::" \
+			-e "s:.*\$(GSSOX_XENAME)$::" \
+			-i base/unix-dll.mak || die "sed failed"
+	fi
+
+	# Force the include dirs to a neutral location.
+	sed -e "/^ZLIBDIR=/s:=.*:=${T}:" \
+		-i configure.ac || die
+	# Some files depend on zlib.h directly.  Redirect them. #573248
+	# Also make sure to not define OPJ_STATIC to avoid linker errors due to
+	# hidden symbols (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203327#c1)
+	sed -e '/^zlib_h/s:=.*:=:' \
+		-e 's|-DOPJ_STATIC ||' \
+		-i base/lib.mak || die
+
+	# Search path fix
+	# put LDFLAGS after BINDIR, bug #383447
+	sed -e "s:\$\(gsdatadir\)/lib:@datarootdir@/ghostscript/${PV}/$(get_libdir):" \
+		-e "s:exdir=.*:exdir=@datarootdir@/doc/${PF}/examples:" \
+		-e "s:docdir=.*:docdir=@datarootdir@/doc/${PF}/html:" \
+		-e "s:GS_DOCDIR=.*:GS_DOCDIR=@datarootdir@/doc/${PF}/html:" \
+		-e 's:-L$(BINDIR):& $(LDFLAGS):g' \
+		-i Makefile.in base/*.mak || die "sed failed"
+
+	# Remove incorrect symlink, bug 590384
+	rm ijs/ltmain.sh || die
+	eautoreconf
+
+	cd ijs || die
+	eautoreconf
+}
+
+src_configure() {
+	# Unsupported upstream, bug #884841
+	filter-lto
+
+	local FONTPATH
+	for path in \
+		"${EPREFIX}"/usr/share/fonts/urw-fonts \
+		"${EPREFIX}"/usr/share/fonts/Type1 \
+		"${EPREFIX}"/usr/share/fonts
+	do
+		FONTPATH="${FONTPATH}${FONTPATH:+:}${EPREFIX}${path}"
+	done
+
+	# Do not add --enable-dynamic here, it's not supported fully upstream
+	# https://bugs.ghostscript.com/show_bug.cgi?id=705895
+	# bug #884707
+	#
+	# leptonica and tesseract are bundled but modified upstream, like in
+	# mujs/mupdf.
+	PKGCONFIG=$(type -P $(tc-getPKG_CONFIG)) econf \
+		--enable-freetype \
+		--enable-fontconfig \
+		--enable-openjpeg \
+		--disable-compile-inits \
+		--with-drivers=ALL \
+		--with-fontpath="${FONTPATH}" \
+		--with-ijs \
+		--with-jbig2dec \
+		--with-libpaper \
+		--with-system-libtiff \
+		$(use_enable cups) \
+		$(use_enable dbus) \
+		$(use_enable gtk) \
+		$(use_with cups pdftoraster) \
+		$(use_with unicode libidn) \
+		$(use_with X x) \
+		DARWIN_LDFLAGS_SO_PREFIX="${EPREFIX}/usr/lib/"
+
+	cd "${S}/ijs" || die
+	econf \
+		--enable-shared \
+		$(use_enable static-libs static)
+}
+
+src_compile() {
+	emake so all
+	emake -C ijs
+}
+
+src_install() {
+	emake DESTDIR="${D}" install-so install
+
+	# move gsc to gs, bug #343447
+	# gsc collides with gambit, bug #253064
+	mv -f "${ED}"/usr/bin/{gsc,gs} || die
+
+	cd "${S}/ijs" || die
+	emake DESTDIR="${D}" install
+
+	# Sometimes the upstream versioning deviates from the tarball(!)
+	# bug #844115#c32
+	local my_gs_version=$(find "${ED}"/usr/share/ghostscript/ -maxdepth 1 -mindepth 1 -type d || die)
+	my_gs_version=${my_gs_version##*/}
+
+	# Install the CMaps from poppler-data properly, bug #409361
+	dosym -r /usr/share/poppler/cMaps /usr/share/ghostscript/${my_gs_version}/Resource/CMap
+
+	if ! use static-libs; then
+		find "${ED}" -name '*.la' -delete || die
+	fi
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/
@ 2024-09-01  7:33 Sam James
  0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2024-09-01  7:33 UTC (permalink / raw
  To: gentoo-commits

commit:     a122be2eff3e44ef7c039d052ac47da8361fd6ae
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  1 07:29:46 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep  1 07:29:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a122be2e

app-text/ghostscript-gpl: fix arm* build w/o neon

Bug: https://bugs.gentoo.org/924757
Closes: https://bugs.gentoo.org/926891
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...stscript-gpl-10.03.1-arm64-neon-tesseract.patch | 35 ++++++++++++++++++++++
 .../ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild |  1 +
 2 files changed, 36 insertions(+)

diff --git a/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.1-arm64-neon-tesseract.patch b/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.1-arm64-neon-tesseract.patch
new file mode 100644
index 000000000000..4b64fff16f5e
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-gpl-10.03.1-arm64-neon-tesseract.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/926891
+https://bugs.gentoo.org/924757
+https://src.fedoraproject.org/rpms/tesseract/raw/rawhide/f/tesseract_neon.patch
+(See https://github.com/tesseract-ocr/tesseract/pull/4154 too)
+--- a/tesseract/CMakeLists.txt
++++ b/tesseract/CMakeLists.txt
+@@ -249,7 +249,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64.*|AARCH64.*")
+   set(HAVE_AVX512F FALSE)
+   set(HAVE_FMA FALSE)
+   set(HAVE_SSE4_1 FALSE)
+-  set(HAVE_NEON TRUE)
++  check_cxx_compiler_flag("-mfpu=neon" HAVE_NEON)
+ 
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*")
+ 
+--- a/tesseract/src/arch/simddetect.cpp
++++ b/tesseract/src/arch/simddetect.cpp
+@@ -254,7 +254,7 @@ SIMDDetect::SIMDDetect() {
+     // SSE detected.
+     SetDotProduct(DotProductSSE, &IntSimdMatrix::intSimdMatrixSSE);
+ #endif
+-#if defined(HAVE_NEON) || defined(__aarch64__)
++#if defined(HAVE_NEON)
+   } else if (neon_available_) {
+     // NEON detected.
+     SetDotProduct(DotProductNEON, &IntSimdMatrix::intSimdMatrixNEON);
+@@ -311,7 +311,7 @@ void SIMDDetect::Update() {
+   } else if (dotproduct == "accelerate") {
+     SetDotProduct(DotProductAccelerate, IntSimdMatrix::intSimdMatrix);
+ #endif
+-#if defined(HAVE_NEON) || defined(__aarch64__)
++#if defined(HAVE_NEON)
+   } else if (dotproduct == "neon" && neon_available_) {
+     // NEON selected by config variable.
+     SetDotProduct(DotProductNEON, &IntSimdMatrix::intSimdMatrixNEON);

diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild
index 54f3cdcf36f3..663558774565 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-10.03.1.ebuild
@@ -63,6 +63,7 @@ RDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-10.03.0-c99.patch
+	"${FILESDIR}"/${PN}-10.03.1-arm64-neon-tesseract.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-09-01  7:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-12 17:01 [gentoo-commits] repo/gentoo:master commit in: app-text/ghostscript-gpl/, app-text/ghostscript-gpl/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-09-01  7:33 Sam James
2022-01-15 14:15 Andreas Sturmlechner
2021-09-21 19:02 Sam James
2021-09-13  0:54 Sam James
2020-12-14 20:10 Thomas Deutschmann
2020-10-20  8:09 Sam James
2015-10-23 10:00 Justin Lecher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox