diff --git a/ghostscript/.SRCINFO b/ghostscript/.SRCINFO new file mode 100644 index 0000000000..9e1cc8446f --- /dev/null +++ b/ghostscript/.SRCINFO @@ -0,0 +1,45 @@ +pkgbase = ghostscript + pkgdesc = An interpreter for the PostScript language + pkgver = 10.04.0 + pkgrel = 1 + url = https://www.ghostscript.com/ + arch = x86_64 + license = AGPL-3.0-or-later + makedepends = gtk3 + makedepends = gnutls + makedepends = glu + makedepends = freeglut + depends = libxt + depends = libcups + depends = fontconfig + depends = zlib + depends = libpng + depends = libjpeg-turbo + depends = jbig2dec + depends = libtiff + depends = lcms2 + depends = libpaper + depends = ijs + depends = openjpeg2 + depends = libidn + depends = poppler-data + depends = cairo + depends = glibc + depends = libx11 + depends = gdk-pixbuf2 + depends = glib2 + source = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostpdl-10.04.0.tar.xz + source = 2010_add_build_timestamp_setting.patch + sha512sums = bf54939006e7c0c981cde8434a3c443f37cd31dea3c54ad72c127a00dfc6148a07555caefab6076bea68e17c3f42427a80c47aed09911b1ab4c9cae00e333cde + sha512sums = cd7794ee4f28b11177021b950196385200b610127ed6cb94a45e3202b690b721a0dfcc0276ff39448d4dab64c1b31a76e6c323696a8315aad9edc22077f18a3d + +pkgname = ghostscript + optdepends = gtk3: needed for gsx + +pkgname = ghostxps + pkgdesc = An interpreter for the XPS document language + depends = ghostscript=10.04.0-1 + +pkgname = ghostpcl + pkgdesc = An interpreter for the PCL 6 language + depends = ghostscript=10.04.0-1 diff --git a/ghostscript/.nvchecker.toml b/ghostscript/.nvchecker.toml new file mode 100644 index 0000000000..0547b78562 --- /dev/null +++ b/ghostscript/.nvchecker.toml @@ -0,0 +1,16 @@ +[ghostscript] +#source = "git" +#git = " http://git.ghostscript.com/ghostpdl.git" +#use_max_tag = true + +#prefix = "ghostpdl-" +#include_regex = "ghostpdl-.*" +#exclude_regex = ".*(rc).*" + +source = "github" +github = "ArtifexSoftware/ghostpdl-downloads" +#use_max_tag = true +use_latest_tag = true +#prefix = "v" +from_pattern = 'gs(\d+)(\d+)(\d+)(\d+)(\d+)' +to_pattern = '\1\2.\3\4.\5' diff --git a/ghostscript/0001_No_output_visible_with_pdfwriter.diff b/ghostscript/0001_No_output_visible_with_pdfwriter.diff deleted file mode 100644 index 2d178ac16f..0000000000 --- a/ghostscript/0001_No_output_visible_with_pdfwriter.diff +++ /dev/null @@ -1,92 +0,0 @@ -From e12b8487283979ab454a32888a3c37d4d9492480 Mon Sep 17 00:00:00 2001 -From: Ken Sharp -Date: Thu, 14 Mar 2024 13:08:38 +0000 -Subject: [PATCH] pdfwrite - more improvements for mesh shadings - -Bug #707655 "No output visible with pdfwriter" - -commit 3d6e3acbcda79a0096cd1ad73c7b9b1101a43187 to fix bug #06852 -unfortunately led to this regression. The problem is related to the -scaling of co-ordinates performed when a mesh shading has vertex -co-ordinates which are too large for Acrobat 5 (PDF 1.4). - -Acrobat 5 has a limit of =/-32767 on real numbers, which applies to the -/Decode array of a mesh shading. Because this is an Acrobat limit, not a -limit of the PDF specification we would ordinarily ignore it, but the -PDF/A-1 specification chose to carry the Acrobat limitations into the -PDF/A spec. - -This commit fixes the problem by correctly scaling the co-ordinate -values to the Decode array values when outputting to PDF 1.4 or less, -even if no actual co-ordinte scaling is required, and modifying the -/Matrix of the Pattern to scale up the Decode values to the real -co-ordinates. Crucially we must not scale the Tx and Ty values of the -CTM. ---- - devices/vector/gdevpdfv.c | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -diff --git a/devices/vector/gdevpdfv.c b/devices/vector/gdevpdfv.c -index e880acafd..90a02158f 100644 ---- a/devices/vector/gdevpdfv.c -+++ b/devices/vector/gdevpdfv.c -@@ -42,8 +42,8 @@ extern const gx_device_color_type_t gx_dc_pattern2; - */ - #define ENCODE_VALUE(v, emax, vmin, vmax)\ - ( ((v) - (vmin)) * ((double)(emax) / ((vmax) - (vmin))) ) --#define PDFA_MIN_MESH_COORDINATE (-0x800000 / 256.0) --#define PDFA_MAX_MESH_COORDINATE ( 0x7fffff / 256.0) -+#define PDFA_MIN_MESH_COORDINATE (-0x400000 / 128.0) -+#define PDFA_MAX_MESH_COORDINATE ( 0x3fffff / 128.0) - #define PDFA_ENCODE_MESH_COORDINATE(v)\ - ENCODE_VALUE(v, 0xffffff, PDFA_MIN_MESH_COORDINATE, PDFA_MAX_MESH_COORDINATE) - #define MIN_MESH_COORDINATE (-0x800000 ) -@@ -690,6 +690,7 @@ typedef struct pdf_mesh_data_params_s { - int num_components; - bool is_indexed; - int rescale; /* If the co-ordinates won't fit into crappy Acrobat values, scale them here and in the pattern Matrix */ -+ bool old_pdf; - const float *Domain; /* iff Function */ - const gs_range_t *ranges; - } pdf_mesh_data_params_t; -@@ -713,7 +714,7 @@ put_clamped(byte *p, double v, int num_bytes) - static inline void - put_clamped_coord(byte *p, double v, int num_bytes, const pdf_mesh_data_params_t *pmdp) - { -- if (pmdp->rescale != 1.0) { -+ if (pmdp->rescale != 1.0 || pmdp->old_pdf) { - v = v / pmdp->rescale; - put_clamped(p, PDFA_ENCODE_MESH_COORDINATE(v), num_bytes); - } else -@@ -1027,7 +1028,9 @@ pdf_put_mesh_shading(gx_device_pdf *pdev, cos_stream_t *pscs, const gs_shading_t - if (z > *rescale) - *rescale = (int)z; - data_params.rescale = *rescale; -- } -+ data_params.old_pdf = 1; -+ } else -+ data_params.old_pdf = 0; - - switch (ShadingType(psh)) { - case shading_type_Free_form_Gouraud_triangle: { -@@ -1183,12 +1186,13 @@ pdf_put_pattern2(gx_device_pdf *pdev, const gs_gstate * pgs, const gx_drawing_co - yscale = 72.0 / pdev->HWResolution[1]; - } - -- if (rescale != 1) { -- xscale *= rescale; -- yscale *= rescale; -- } - smat.xx *= xscale, smat.yx *= xscale, smat.tx *= xscale; - smat.xy *= yscale, smat.yy *= yscale, smat.ty *= yscale; -+ -+ if (rescale != 1) { -+ smat.xx *= rescale, smat.yx *= rescale; -+ smat.xy *= rescale, smat.yy *= rescale; -+ } - } - - /* Bug #697451, if we emit a PDF with a type 2 Pattern where the --- -2.34.1 - diff --git a/ghostscript/PKGBUILD b/ghostscript/PKGBUILD index 31b2356e97..557e3ab475 100644 --- a/ghostscript/PKGBUILD +++ b/ghostscript/PKGBUILD @@ -3,25 +3,23 @@ pkgbase=ghostscript pkgname=(ghostscript ghostxps ghostpcl) -pkgver=10.03.1 +pkgver=10.04.0 pkgrel=1 pkgdesc="An interpreter for the PostScript language" url="https://www.ghostscript.com/" arch=(x86_64 powerpc64le powerpc64 powerpc riscv64) license=('AGPL-3.0-or-later') -depends=('libxt' 'libcups' 'fontconfig' 'zlib' 'libpng' 'libjpeg' 'jbig2dec' +depends=('libxt' 'libcups' 'fontconfig' 'zlib' 'libpng' 'libjpeg-turbo' 'jbig2dec' 'libtiff' 'lcms2' 'libpaper' 'ijs' 'openjpeg2' 'libidn' 'poppler-data' 'cairo' 'glibc' 'libx11' 'gdk-pixbuf2' 'glib2') makedepends=('gtk3' 'gnutls' 'glu' 'freeglut') # https://github.com/ArtifexSoftware/ghostpdl-downloads/releases source=(https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${pkgver//./}/ghostpdl-${pkgver}.tar.xz #https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/ghostpdl-${pkgver/.0//}/ghostpdl-${pkgver}.tar.xz - 2010_add_build_timestamp_setting.patch - 0001_No_output_visible_with_pdfwriter.diff) + 2010_add_build_timestamp_setting.patch) # https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10031/SHA512SUMS -sha512sums=('3aca7834789bf11582391138bbae99b2ef5d9f1e89db9f838ebef0ed86015deb5c8cf93d0ffe25ad8aa1aa99eda9ecd384cbd59b0d21719cd960261c043044f9' - 'cd7794ee4f28b11177021b950196385200b610127ed6cb94a45e3202b690b721a0dfcc0276ff39448d4dab64c1b31a76e6c323696a8315aad9edc22077f18a3d' - '659077a7e60b6c56cf3f2e70fbfc5a7114e1294e7a912e40bce9d7e34f1907fff6e407be6c528961c06e7de5c80c637584929d08ade63b277793284b8b56208d') +sha512sums=('bf54939006e7c0c981cde8434a3c443f37cd31dea3c54ad72c127a00dfc6148a07555caefab6076bea68e17c3f42427a80c47aed09911b1ab4c9cae00e333cde' + 'cd7794ee4f28b11177021b950196385200b610127ed6cb94a45e3202b690b721a0dfcc0276ff39448d4dab64c1b31a76e6c323696a8315aad9edc22077f18a3d') ### update jbig2dec first! ### @@ -63,9 +61,6 @@ prepare() { # Debian: # allow the build timestamp to be externally set patch -Np1 -i ../2010_add_build_timestamp_setting.patch - - # https://bugs.ghostscript.com/show_bug.cgi?id=707655 - patch -Np1 -i ../0001_No_output_visible_with_pdfwriter.diff } build() {