[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