~alpine/devel

main/ghostscript: upgrade to 9.04 v1 PROPOSED

Cameron Banta: 1
 main/ghostscript: upgrade to 9.04

 3 files changed, 9 insertions(+), 238 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.alpinelinux.org/~alpine/devel/patches/233/mbox | git am -3
Learn more about email & git

[alpine-devel] [PATCH] main/ghostscript: upgrade to 9.04 Export this patch

---
 main/ghostscript/APKBUILD                        |   25 +--
 main/ghostscript/ghostscript-png15.patch         |  196 ----------------------
 main/ghostscript/ghostscript-system-jasper.patch |   26 ---
 3 files changed, 9 insertions(+), 238 deletions(-)
 delete mode 100644 main/ghostscript/ghostscript-png15.patch
 delete mode 100644 main/ghostscript/ghostscript-system-jasper.patch

diff --git a/main/ghostscript/APKBUILD b/main/ghostscript/APKBUILD
index 95582ff..d6abc5c 100644
--- a/main/ghostscript/APKBUILD
+++ b/main/ghostscript/APKBUILD
@@ -1,27 +1,22 @@
# Contributor: Cameron Banta <cbanta@gmail.com>
# Maintainer: Cameron Banta <cbanta@gmail.com>
pkgname=ghostscript
pkgver=9.00
pkgrel=2
pkgver=9.04
pkgrel=0
pkgdesc="An interpreter for the PostScript language and for PDF"
url="http://ghostscript.com/"
arch="all"
license="GPL"
makedepends="autoconf automake jpeg-dev libpng-dev jasper-dev expat-dev zlib-dev tiff-dev libiconv-dev"
license="GPL3"
makedepends="autoconf automake jpeg-dev libpng-dev jasper-dev expat-dev zlib-dev tiff-dev 
             freetype-dev libiconv-dev lcms-dev"
subpackages="$pkgname-doc $pkgname-dev"
source="http://ghostscript.com/releases/$pkgname-$pkgver.tar.gz
	ghostscript-system-jasper.patch
	ghostscript-png15.patch"
source="http://downloads.ghostscript.com/public/$pkgname-$pkgver.tar.gz"

prepare() {
	cd "$srcdir/$pkgname-$pkgver"

	# force it to use system-libs
	rm -rf jpeg libpng jasper expat tiff zlib

	# fix build with systems jasper
	patch -Np1 -i "${srcdir}"/ghostscript-system-jasper.patch || return 1
	patch -Np0 -i "${srcdir}"/ghostscript-png15.patch || return 1
	rm -rf jpeg libpng zlib jasper expat tiff lcms

	# fix parallel builds
	sed -i -e 's/ECHO_XE/ECHOGS_XE/g' \
@@ -41,7 +36,7 @@ prepare() {
		--without-omni \
		--with-drivers=FILES \
		--with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
		--disable-cups --disable-gtk --disable-cairo \
		--disable-cups --disable-gtk \
		--disable-compile-inits # needed for linking with system-zlib
}

@@ -70,6 +65,4 @@ package() {
	mv "$pkgdir/usr/share/$pkgname/$pkgver/examples" "$pkgdir/usr/share/doc/$pkgname"
}

md5sums="a402462478b4cdda3e1816899227b845  ghostscript-9.00.tar.gz
f5bc029b0ed05ac8d602bff0e1c021bd  ghostscript-system-jasper.patch
020ebbd97bb3dd226660bc03ce08293c  ghostscript-png15.patch"
md5sums="9c2fb4af1eb609d09dba5bb0fa76173a  ghostscript-9.04.tar.gz"
diff --git a/main/ghostscript/ghostscript-png15.patch b/main/ghostscript/ghostscript-png15.patch
deleted file mode 100644
index dca4f07..0000000
--- a/main/ghostscript/ghostscript-png15.patch
@@ -1,196 +0,0 @@
$NetBSD: patch-ak,v 1.5 2011/01/15 14:08:10 wiz Exp $

Fix build with png-1.5. From John Bowler.

--- base/gdevpng.c.orig	2008-07-17 02:34:01.000000000 +0000
+++ base/gdevpng.c
@@ -36,12 +36,14 @@
 #include "gdevpccm.h"
 #include "gscdefs.h"
 
-#define PNG_INTERNAL
 /*
  * libpng versions 1.0.3 and later allow disabling access to the stdxxx
  * files while retaining support for FILE * I/O.
+ *
+ * This is a misunderstanding - this is a build time option for libpng,
+ * it has no effect on a user of libpng.
  */
-#define PNG_NO_CONSOLE_IO
+/*#define PNG_NO_CONSOLE_IO*/
 /*
  * Earlier libpng versions require disabling FILE * I/O altogether.
  * This produces a compiler warning about no prototype for png_init_io.
@@ -280,7 +282,7 @@ png_print_page(gx_device_printer * pdev,
 	goto done;
     }
     /* set error handling */
-    if (setjmp(png_ptr->jmpbuf)) {
+    if (setjmp(png_jmpbuf(png_ptr))) {
 	/* If we get here, we had a problem reading the file */
 	code = gs_note_error(gs_error_VMerror);
 	goto done;
@@ -290,19 +292,12 @@ png_print_page(gx_device_printer * pdev,
     png_init_io(png_ptr, file);
 
     /* set the file information here */
-    info_ptr->width = pdev->width;
-    info_ptr->height = pdev->height;
-    /* resolution is in pixels per meter vs. dpi */
-    info_ptr->x_pixels_per_unit =
-	(png_uint_32) (pdev->HWResolution[0] * (100.0 / 2.54));
-    info_ptr->y_pixels_per_unit =
-	(png_uint_32) (pdev->HWResolution[1] * (100.0 / 2.54));
-    info_ptr->phys_unit_type = PNG_RESOLUTION_METER;
-    info_ptr->valid |= PNG_INFO_pHYs;
     switch (depth) {
 	case 32:
-	    info_ptr->bit_depth = 8;
-	    info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+	    png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height,
+	    	8, PNG_COLOR_TYPE_RGB_ALPHA,
+		PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+		PNG_FILTER_TYPE_DEFAULT);
 	    png_set_invert_alpha(png_ptr);
 	    {   gx_device_pngalpha *ppdev = (gx_device_pngalpha *)pdev;
 		png_color_16 background;
@@ -315,57 +310,69 @@ png_print_page(gx_device_printer * pdev,
 	    }
 	    break;
 	case 48:
-	    info_ptr->bit_depth = 16;
-	    info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+	    png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height,
+	    	16, PNG_COLOR_TYPE_RGB,
+		PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+		PNG_FILTER_TYPE_DEFAULT);
 #if defined(ARCH_IS_BIG_ENDIAN) && (!ARCH_IS_BIG_ENDIAN) 
 	    png_set_swap(png_ptr);
 #endif
 	    break;
 	case 24:
-	    info_ptr->bit_depth = 8;
-	    info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+	    png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height,
+	    	8, PNG_COLOR_TYPE_RGB,
+		PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+		PNG_FILTER_TYPE_DEFAULT);
 	    break;
 	case 8:
-	    info_ptr->bit_depth = 8;
-	    if (gx_device_has_color(pdev))
-		info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
-	    else
-		info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
+	    png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height,
+	    	8, gx_device_has_color(pdev) ?
+			PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY,
+		PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+		PNG_FILTER_TYPE_DEFAULT);
 	    break;
 	case 4:
-	    info_ptr->bit_depth = 4;
-	    info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
+	    png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height,
+	    	4, PNG_COLOR_TYPE_PALETTE,
+		PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+		PNG_FILTER_TYPE_DEFAULT);
 	    break;
 	case 1:
-	    info_ptr->bit_depth = 1;
-	    info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
+	    png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height,
+	    	1, PNG_COLOR_TYPE_GRAY,
+		PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+		PNG_FILTER_TYPE_DEFAULT);
 	    /* invert monocrome pixels */
 	    png_set_invert_mono(png_ptr);
 	    break;
+	default:
+	    png_error(png_ptr, "invalid bit depth");
     }
 
+    /* resolution is in pixels per meter vs. dpi */
+    png_set_pHYs(png_ptr, info_ptr, 
+	(png_uint_32) (pdev->HWResolution[0] * (100.0 / 2.54)),
+	(png_uint_32) (pdev->HWResolution[1] * (100.0 / 2.54)),
+	PNG_RESOLUTION_METER);
+
     /* set the palette if there is one */
-    if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
+    if (png_get_color_type(png_ptr, info_ptr)  == PNG_COLOR_TYPE_PALETTE) {
 	int i;
 	int num_colors = 1 << depth;
 	gx_color_value rgb[3];
+	png_color palette[256];
+
+	if (num_colors > 256)
+	    num_colors = 256;
 
-	info_ptr->palette =
-	    (void *)gs_alloc_bytes(mem, 256 * sizeof(png_color),
-				   "png palette");
-	if (info_ptr->palette == 0) {
-	    code = gs_note_error(gs_error_VMerror);
-	    goto done;
-	}
-	info_ptr->num_palette = num_colors;
-	info_ptr->valid |= PNG_INFO_PLTE;
 	for (i = 0; i < num_colors; i++) {
 	    (*dev_proc(pdev, map_color_rgb)) ((gx_device *) pdev,
 					      (gx_color_index) i, rgb);
-	    info_ptr->palette[i].red = gx_color_value_to_byte(rgb[0]);
-	    info_ptr->palette[i].green = gx_color_value_to_byte(rgb[1]);
-	    info_ptr->palette[i].blue = gx_color_value_to_byte(rgb[2]);
+	    palette[i].red = gx_color_value_to_byte(rgb[0]);
+	    palette[i].green = gx_color_value_to_byte(rgb[1]);
+	    palette[i].blue = gx_color_value_to_byte(rgb[2]);
 	}
+	png_set_PLTE(png_ptr, info_ptr, palette, num_colors);
     }
     /* add comment */
     strncpy(software_key, "Software", sizeof(software_key));
@@ -375,15 +382,14 @@ png_print_page(gx_device_printer * pdev,
     text_png.key = software_key;
     text_png.text = software_text;
     text_png.text_length = strlen(software_text);
-    info_ptr->text = &text_png;
-    info_ptr->num_text = 1;
+    png_set_text(png_ptr, info_ptr, &text_png, 1);
 
     /* write the file information */
     png_write_info(png_ptr, info_ptr);
 
     /* don't write the comments twice */
-    info_ptr->num_text = 0;
-    info_ptr->text = NULL;
+    /*info_ptr->num_text = 0;*/
+    /*info_ptr->text = NULL;*/
 
     /* Write the contents of the image. */
     for (y = 0; y < height; y++) {
@@ -395,7 +401,7 @@ png_print_page(gx_device_printer * pdev,
     png_write_end(png_ptr, info_ptr);
 
     /* if you alloced the palette, free it here */
-    gs_free_object(mem, info_ptr->palette, "png palette");
+    /*gs_free_object(mem, info_ptr->palette, "png palette");*/
 
   done:
     /* free the structures */
@@ -405,6 +411,7 @@ png_print_page(gx_device_printer * pdev,
     return code;
 }
 
+#if 0 /* not required in 1.5 */
 /*
  * Patch around a static reference to a never-used procedure.
  * This could be avoided if we were willing to edit pngconf.h to
@@ -422,6 +429,7 @@ png_push_fill_buffer(png_structp png_ptr
 {
 }
 #endif
+#endif
 
 static int
 pngalpha_open(gx_device * pdev)
diff --git a/main/ghostscript/ghostscript-system-jasper.patch b/main/ghostscript/ghostscript-system-jasper.patch
deleted file mode 100644
index dc70446..0000000
--- a/main/ghostscript/ghostscript-system-jasper.patch
@@ -1,26 +0,0 @@
diff -up ghostscript-9.00/base/sjpx.c.system-jasper ghostscript-9.00/base/sjpx.c
--- ghostscript-9.00/base/sjpx.c.system-jasper	2010-08-17 15:31:58.000000000 +0100
+++ ghostscript-9.00/base/sjpx.c	2010-09-23 09:59:46.747467642 +0100
@@ -33,14 +33,6 @@ static void s_jpxd_set_defaults(stream_s
 private_st_jpxd_state(); /* creates a gc object for our state,
                             defined in sjpx.h */
 
-/* error reporting callback for the jpx library */
-static void
-s_jpx_jas_error_cb(jas_error_t err, char *msg)
-{
-  dprintf2("jasper (code %d) %s", (int)err, msg);
-}
--
--
 /* initialize the steam.
    this involves allocating the stream and image structures, and
    initializing the decoder.
@@ -56,7 +48,6 @@ s_jpxd_init(stream_state * ss)
     }
 
     status = jas_init();
-    jas_set_error_cb(s_jpx_jas_error_cb);
 #ifdef JPX_DEBUG
     /* raise the error reporting threshold from the default (0) */
     jas_setdbglevel(1);
-- 
1.7.6.1



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
> ---
> main/ghostscript/APKBUILD                        |   25 +--
> main/ghostscript/ghostscript-png15.patch         |  196
> ----------------------
> main/ghostscript/ghostscript-system-jasper.patch |   26 --- 3 files
> changed, 9 insertions(+), 238 deletions(-) delete mode 100644
> main/ghostscript/ghostscript-png15.patch delete mode 100644
> main/ghostscript/ghostscript-system-jasper.patch
Applied. Thanks!

-nc


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---