aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/ghostscript.rb
diff options
context:
space:
mode:
authorFelix Bùˆnemann2012-01-30 11:59:05 +0100
committerCharlie Sharpsteen2012-02-01 09:06:17 -0800
commit201222ba5cd3357a6998dac181f00b85692ce1df (patch)
treed9c32e8cf6108cb049edf3a523c9cf14a7e983d1 /Library/Formula/ghostscript.rb
parenta22d862c9afe5d0b7373f10526e2cdd006dc1ccd (diff)
downloadhomebrew-201222ba5cd3357a6998dac181f00b85692ce1df.tar.bz2
Ghostscript: Update to 9.04
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
Diffstat (limited to 'Library/Formula/ghostscript.rb')
-rw-r--r--Library/Formula/ghostscript.rb176
1 files changed, 3 insertions, 173 deletions
diff --git a/Library/Formula/ghostscript.rb b/Library/Formula/ghostscript.rb
index 2cca3cf64..4d82affc2 100644
--- a/Library/Formula/ghostscript.rb
+++ b/Library/Formula/ghostscript.rb
@@ -7,10 +7,10 @@ class GhostscriptFonts < Formula
end
class Ghostscript < Formula
- url 'http://downloads.ghostscript.com/public/ghostscript-9.02.tar.bz2'
+ url 'http://downloads.ghostscript.com/public/ghostscript-9.04.tar.bz2'
head 'git://git.ghostscript.com/ghostpdl.git'
homepage 'http://www.ghostscript.com/'
- md5 'f67151444bd56a7904579fc75a083dd6'
+ md5 '9f6899e821ab6d78ab2c856f10fa3023'
depends_on 'pkg-config' => :build
depends_on 'jpeg'
@@ -69,181 +69,11 @@ class Ghostscript < Formula
end
__END__
-diff --git a/base/gdevpng.c b/base/gdevpng.c
-index f58c4eb..3477fe3 100644
---- a/base/gdevpng.c
-+++ b/base/gdevpng.c
-@@ -274,13 +274,30 @@ png_print_page(gx_device_printer * pdev, FILE * file)
- char software_key[80];
- char software_text[256];
- png_text text_png;
-+#if PNG_LIBPNG_VER >= 10500
-+ int color_type = 0;
-+ png_color* palette = NULL;
-+#define PNG_SET_IHDR(bit, color) \
-+ png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height, (bit), (color_type = (color)), \
-+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
-+#define COLOR_TYPE color_type
-+#define PALETTE palette
-+#define PNG_JMPBUF png_jmpbuf(png_ptr)
-+#else
-+#define PNG_SET_IHDR(bit, color) \
-+ info_ptr->bit_depth = (bit); \
-+ info_ptr->color_type = (color);
-+#define COLOR_TYPE info_ptr->color_type
-+#define PALETTE info_ptr->palette
-+#define PNG_JMPBUF png_ptr->jmpbuf
-+#endif
-
- if (row == 0 || png_ptr == 0 || info_ptr == 0) {
- code = gs_note_error(gs_error_VMerror);
- goto done;
- }
- /* set error handling */
-- if (setjmp(png_ptr->jmpbuf)) {
-+ if (setjmp(PNG_JMPBUF)) {
- /* If we get here, we had a problem reading the file */
- code = gs_note_error(gs_error_VMerror);
- goto done;
-@@ -289,6 +306,12 @@ png_print_page(gx_device_printer * pdev, FILE * file)
- /* set up the output control */
- png_init_io(png_ptr, file);
-
-+#if PNG_LIBPNG_VER >= 10500
-+ 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);
-+#else
- /* set the file information here */
- info_ptr->width = pdev->width;
- info_ptr->height = pdev->height;
-@@ -299,10 +322,10 @@ png_print_page(gx_device_printer * pdev, FILE * file)
- (png_uint_32) (pdev->HWResolution[1] * (100.0 / 2.54));
- info_ptr->phys_unit_type = PNG_RESOLUTION_METER;
- info_ptr->valid |= PNG_INFO_pHYs;
-+#endif
- switch (depth) {
- case 32:
-- info_ptr->bit_depth = 8;
-- info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
-+ PNG_SET_IHDR(8, PNG_COLOR_TYPE_RGB_ALPHA);
- png_set_invert_alpha(png_ptr);
- { gx_device_pngalpha *ppdev = (gx_device_pngalpha *)pdev;
- png_color_16 background;
-@@ -315,75 +338,78 @@ png_print_page(gx_device_printer * pdev, FILE * file)
- }
- break;
- case 48:
-- info_ptr->bit_depth = 16;
-- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
-+ PNG_SET_IHDR(16, PNG_COLOR_TYPE_RGB);
- #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(8, PNG_COLOR_TYPE_RGB);
- 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(8, (gx_device_has_color(pdev) ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY));
- break;
- case 4:
-- info_ptr->bit_depth = 4;
-- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
-+ PNG_SET_IHDR(4, PNG_COLOR_TYPE_PALETTE);
- break;
- case 1:
-- info_ptr->bit_depth = 1;
-- info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
-+ PNG_SET_IHDR(1, PNG_COLOR_TYPE_GRAY);
- /* invert monocrome pixels */
- png_set_invert_mono(png_ptr);
- break;
- }
-
- /* set the palette if there is one */
-- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
-+ if (COLOR_TYPE == PNG_COLOR_TYPE_PALETTE) {
- int i;
- int num_colors = 1 << depth;
- gx_color_value rgb[3];
-
-- info_ptr->palette =
-+ PALETTE =
- (void *)gs_alloc_bytes(mem, 256 * sizeof(png_color),
- "png palette");
-- if (info_ptr->palette == 0) {
-+ if (PALETTE == 0) {
- code = gs_note_error(gs_error_VMerror);
- goto done;
- }
-+#if PNG_LIBPNG_VER < 10500
- info_ptr->num_palette = num_colors;
- info_ptr->valid |= PNG_INFO_PLTE;
-+#endif
- 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]);
- }
-+#if PNG_LIBPNG_VER >= 10500
-+ png_set_PLTE(png_ptr, info_ptr, PALETTE, num_colors);
-+#endif
- }
- /* add comment */
- strncpy(software_key, "Software", sizeof(software_key));
- sprintf(software_text, "%s %d.%02d", gs_product,
- (int)(gs_revision / 100), (int)(gs_revision % 100));
-- text_png.compression = -1; /* uncompressed */
-+ text_png.compression = PNG_TEXT_COMPRESSION_NONE; /* uncompressed */
- text_png.key = software_key;
- text_png.text = software_text;
- text_png.text_length = strlen(software_text);
-+#if PNG_LIBPNG_VER >= 10500
-+ png_set_text(png_ptr, info_ptr, &text_png, 1);
-+#else
- info_ptr->text = &text_png;
- info_ptr->num_text = 1;
-+#endif
-
- /* write the file information */
- png_write_info(png_ptr, info_ptr);
-
-+#if PNG_LIBPNG_VER < 10500
- /* don't write the comments twice */
- info_ptr->num_text = 0;
- info_ptr->text = NULL;
-+#endif
-
- /* Write the contents of the image. */
- for (y = 0; y < height; y++) {
-@@ -395,7 +421,7 @@ png_print_page(gx_device_printer * pdev, FILE * file)
- 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, PALETTE, "png palette");
-
- done:
- /* free the structures */
diff --git a/base/Makefile.in b/base/Makefile.in
index 5b7847d..85e1a32 100644
--- a/base/Makefile.in
+++ b/base/Makefile.in
-@@ -362,7 +362,7 @@ LDFLAGS=@LDFLAGS@ $(XLDFLAGS)
+@@ -375,7 +375,7 @@ LDFLAGS=@LDFLAGS@ $(XLDFLAGS)
# Solaris may need -lnsl -lsocket -lposix4.
# (Libraries required by individual drivers are handled automatically.)