* update ghostscript to 10.04.0-1

This commit is contained in:
Alexander Baldeck 2024-09-25 10:01:44 +02:00
parent 3b900499bd
commit 96022cfb5d
4 changed files with 66 additions and 102 deletions

45
ghostscript/.SRCINFO Normal file
View File

@ -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

View File

@ -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'

View File

@ -1,92 +0,0 @@
From e12b8487283979ab454a32888a3c37d4d9492480 Mon Sep 17 00:00:00 2001
From: Ken Sharp <Ken.Sharp@artifex.com>
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

View File

@ -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() {