[97330] trunk/dports/tex/pTeX
takanori at macports.org
takanori at macports.org
Mon Sep 3 18:36:28 PDT 2012
Revision: 97330
https://trac.macports.org/changeset/97330
Author: takanori at macports.org
Date: 2012-09-03 18:36:25 -0700 (Mon, 03 Sep 2012)
Log Message:
-----------
pTeX: allow building with libpng 1.5.x
Modified Paths:
--------------
trunk/dports/tex/pTeX/Portfile
trunk/dports/tex/pTeX/files/patch-2extract-src.sh.diff
Added Paths:
-----------
trunk/dports/tex/pTeX/files/archive/pdftexdir-png15.diff
Modified: trunk/dports/tex/pTeX/Portfile
===================================================================
--- trunk/dports/tex/pTeX/Portfile 2012-09-04 00:17:45 UTC (rev 97329)
+++ trunk/dports/tex/pTeX/Portfile 2012-09-04 01:36:25 UTC (rev 97330)
@@ -4,7 +4,7 @@
name pTeX
version 20110314
-revision 2
+revision 3
epoch ${version}
set ver_ptetex3 20080616
set ver_dvipdfmx 20110311
@@ -301,8 +301,10 @@
universal_variant no
variant no_hiragino description {Do not depend on Hiragino fonts} {
- depends_lib-delete port:ghostscript-fonts-hiragino
- depends_lib-append bin:gs:ghostscript
+ depends_build-delete port:ghostscript-fonts-hiragino
+ depends_build-append port:ghostscript
+ depends_run-delete port:ghostscript-fonts-hiragino
+ depends_run-append port:ghostscript
}
variant no_otf description {Do not install otf.sty} {}
Added: trunk/dports/tex/pTeX/files/archive/pdftexdir-png15.diff
===================================================================
--- trunk/dports/tex/pTeX/files/archive/pdftexdir-png15.diff (rev 0)
+++ trunk/dports/tex/pTeX/files/archive/pdftexdir-png15.diff 2012-09-04 01:36:25 UTC (rev 97330)
@@ -0,0 +1,156 @@
+--- tetex-src-3.0/texk/web2c/pdftexdir/writeimg.c.orig 2005-02-04 01:16:39.000000000 +0900
++++ tetex-src-3.0/texk/web2c/pdftexdir/writeimg.c 2012-09-04 09:32:37.000000000 +0900
+@@ -126,7 +126,7 @@
+ {
+ switch (img_type(img)) {
+ case IMAGE_TYPE_PNG:
+- return png_info(img)->bit_depth;
++ return png_get_bit_depth(png_ptr(img), png_info(img));
+ case IMAGE_TYPE_JPG:
+ return jpg_ptr(img)->bits_per_component;
+ case IMAGE_TYPE_PDF:
+@@ -346,7 +346,7 @@
+ epdf_delete();
+ break;
+ case IMAGE_TYPE_PNG:
+- xfclose(png_ptr(img)->io_ptr, cur_file_name);
++ xfclose(png_get_io_ptr(png_ptr(img)), cur_file_name);
+ png_destroy_read_struct(&(png_ptr(img)), &(png_info(img)), NULL);
+ break;
+ case IMAGE_TYPE_JPG:
+--- tetex-src-3.0/texk/web2c/pdftexdir/writepng.c.orig 2005-02-04 01:16:39.000000000 +0900
++++ tetex-src-3.0/texk/web2c/pdftexdir/writepng.c 2012-09-04 09:28:32.000000000 +0900
+@@ -34,24 +34,24 @@
+ pdftex_fail("libpng: png_create_read_struct() failed");
+ if ((png_info(img) = png_create_info_struct(png_ptr(img))) == NULL)
+ pdftex_fail("libpng: png_create_info_struct() failed");
+- if (setjmp(png_ptr(img)->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr(img))))
+ pdftex_fail("libpng: internal error");
+ png_init_io(png_ptr(img), png_file);
+ png_read_info(png_ptr(img), png_info(img));
+- if (png_info(img)->color_type & PNG_COLOR_MASK_ALPHA)
++ if (png_get_color_type(png_ptr(img), png_info(img)) & PNG_COLOR_MASK_ALPHA)
+ png_set_strip_alpha(png_ptr(img));
+- if (png_info(img)->bit_depth == 16)
++ if (png_get_bit_depth(png_ptr(img), png_info(img)) == 16)
+ png_set_strip_16(png_ptr(img));
+ png_read_update_info(png_ptr(img), png_info(img));
+- img_width(img) = png_info(img)->width;
+- img_height(img) = png_info(img)->height;
+- if (png_info(img)->valid & PNG_INFO_pHYs) {
++ img_width(img) = png_get_image_width(png_ptr(img), png_info(img));
++ img_height(img) = png_get_image_height(png_ptr(img), png_info(img));
++ if (png_get_valid(png_ptr(img), png_info(img), PNG_INFO_pHYs)) {
+ img_xres(img) =
+ round(0.0254*png_get_x_pixels_per_meter(png_ptr(img), png_info(img)));
+ img_yres(img) =
+ round(0.0254*png_get_y_pixels_per_meter(png_ptr(img), png_info(img)));
+ }
+- switch (png_info(img)->color_type) {
++ switch (png_get_color_type(png_ptr(img), png_info(img))) {
+ case PNG_COLOR_TYPE_PALETTE:
+ img_color(img) = IMAGE_COLOR_C | IMAGE_COLOR_I;
+ break;
+@@ -64,7 +64,7 @@
+ img_color(img) = IMAGE_COLOR_C;
+ break;
+ default:
+- pdftex_fail("unsupported type of color_type <%i>", png_info(img)->color_type);
++ pdftex_fail("unsupported type of color_type <%i>", png_get_color_type(png_ptr(img), png_info(img)));
+ }
+ }
+
+@@ -73,22 +73,27 @@
+ int i, j, k, l;
+ integer palette_objnum = 0;
+ png_bytep row, r, *rows;
++
++ png_colorp palette;
++ int num_palette;
++ png_get_PLTE(png_ptr(img), png_info(img), &palette, &num_palette);
++
+ pdf_puts("/Type /XObject\n/Subtype /Image\n");
+ pdf_printf("/Width %i\n/Height %i\n/BitsPerComponent %i\n",
+- (int)png_info(img)->width,
+- (int)png_info(img)->height,
+- (int)png_info(img)->bit_depth);
++ (int)png_get_image_width(png_ptr(img), png_info(img)),
++ (int)png_get_image_height(png_ptr(img), png_info(img)),
++ (int)png_get_bit_depth(png_ptr(img), png_info(img)));
+ pdf_puts("/ColorSpace ");
+ if (img_colorspace_ref(img) != 0) {
+ pdf_printf("%i 0 R\n", (int)img_colorspace_ref(img));
+ }
+ else {
+- switch (png_info(img)->color_type) {
++ switch (png_get_color_type(png_ptr(img), png_info(img))) {
+ case PNG_COLOR_TYPE_PALETTE:
+ pdfcreateobj(0, 0);
+ palette_objnum = objptr;
+ pdf_printf("[/Indexed /DeviceRGB %i %i 0 R]\n",
+- (int)(png_info(img)->num_palette - 1),
++ (int)(num_palette - 1),
+ (int)palette_objnum);
+ break;
+ case PNG_COLOR_TYPE_GRAY:
+@@ -100,16 +105,16 @@
+ pdf_puts("/DeviceRGB\n");
+ break;
+ default:
+- pdftex_fail("unsupported type of color_type <%i>", png_info(img)->color_type);
++ pdftex_fail("unsupported type of color_type <%i>", png_get_color_type(png_ptr(img), png_info(img)));
+ }
+ }
+ pdfbeginstream();
+- if (png_info(img)->interlace_type == PNG_INTERLACE_NONE) {
+- row = xtalloc(png_info(img)->rowbytes, png_byte);
+- for (i = 0; i < (int)png_info(img)->height; i++) {
++ if (png_get_interlace_type(png_ptr(img), png_info(img)) == PNG_INTERLACE_NONE) {
++ row = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
++ for (i = 0; i < (int)png_get_image_height(png_ptr(img), png_info(img)); i++) {
+ png_read_row(png_ptr(img), row, NULL);
+ r = row;
+- k = png_info(img)->rowbytes;
++ k = png_get_rowbytes(png_ptr(img), png_info(img));
+ while(k > 0) {
+ l = (k > pdfbufsize)? pdfbufsize : k;
+ pdfroom(l);
+@@ -121,15 +126,15 @@
+ xfree(row);
+ }
+ else {
+- if (png_info(img)->height*png_info(img)->rowbytes >= 10240000L)
++ if (png_get_image_height(png_ptr(img), png_info(img)) * png_get_rowbytes(png_ptr(img), png_info(img)) >= 10240000L)
+ pdftex_warn("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
+- rows = xtalloc(png_info(img)->height, png_bytep);
+- for (i = 0; i < png_info(img)->height; i++)
+- rows[i] = xtalloc(png_info(img)->rowbytes, png_byte);
++ rows = xtalloc(png_get_image_height(png_ptr(img), png_info(img)), png_bytep);
++ for (i = 0; i < png_get_image_height(png_ptr(img), png_info(img)); i++)
++ rows[i] = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+ png_read_image(png_ptr(img), rows);
+- for (i = 0; i < (int)png_info(img)->height; i++) {
++ for (i = 0; i < (int)png_get_image_height(png_ptr(img), png_info(img)); i++) {
+ row = rows[i];
+- k = png_info(img)->rowbytes;
++ k = png_get_rowbytes(png_ptr(img), png_info(img));
+ while(k > 0) {
+ l = (k > pdfbufsize)? pdfbufsize : k;
+ pdfroom(l);
+@@ -145,11 +150,11 @@
+ if (palette_objnum > 0) {
+ pdfbegindict(palette_objnum);
+ pdfbeginstream();
+- for (i = 0; i < png_info(img)->num_palette; i++) {
++ for (i = 0; i < num_palette; i++) {
+ pdfroom(3);
+- pdfbuf[pdfptr++] = png_info(img)->palette[i].red;
+- pdfbuf[pdfptr++] = png_info(img)->palette[i].green;
+- pdfbuf[pdfptr++] = png_info(img)->palette[i].blue;
++ pdfbuf[pdfptr++] = palette[i].red;
++ pdfbuf[pdfptr++] = palette[i].green;
++ pdfbuf[pdfptr++] = palette[i].blue;
+ }
+ pdfendstream();
+ }
Modified: trunk/dports/tex/pTeX/files/patch-2extract-src.sh.diff
===================================================================
--- trunk/dports/tex/pTeX/files/patch-2extract-src.sh.diff 2012-09-04 00:17:45 UTC (rev 97329)
+++ trunk/dports/tex/pTeX/files/patch-2extract-src.sh.diff 2012-09-04 01:36:25 UTC (rev 97330)
@@ -73,7 +73,7 @@
#exit # uncomment if 'mktemp' command doesn't exist
# Don't use PID for temporary file names in scripts. (impoted from FC4)
cpatch security/tetex-3.0-badscript.patch 1 $SRC
-@@ -263,7 +258,14 @@
+@@ -263,7 +258,15 @@
## check
@@ -84,6 +84,7 @@
+ cpatch archive/xdvi-jisb.diff 1 $SRC
+ cpatch archive/dvipdfm-png14.diff 1 $SRC
+ cpatch archive/getline-lion.diff 1 $SRC
++ cpatch archive/pdftexdir-png15.diff 1 $SRC
+ exit
+fi
cat <<EOF
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120903/b481fc8e/attachment.html>
More information about the macports-changes
mailing list