[142901] trunk/dports/editors/xemacs

dstrubbe at macports.org dstrubbe at macports.org
Sat Dec 12 07:42:59 PST 2015


Revision: 142901
          https://trac.macports.org/changeset/142901
Author:   dstrubbe at macports.org
Date:     2015-11-26 19:01:47 -0800 (Thu, 26 Nov 2015)
Log Message:
-----------
xemacs: Return to the stable branch 21.4, by popular demand. The newer 21.5 beta branch has been causing problems.

Modified Paths:
--------------
    trunk/dports/editors/xemacs/Portfile

Added Paths:
-----------
    trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff
    trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff

Removed Paths:
-------------
    trunk/dports/editors/xemacs/files/patch-src-glyphs-eimage.c.diff

Modified: trunk/dports/editors/xemacs/Portfile
===================================================================
--- trunk/dports/editors/xemacs/Portfile	2015-11-26 20:56:10 UTC (rev 142900)
+++ trunk/dports/editors/xemacs/Portfile	2015-11-27 03:01:47 UTC (rev 142901)
@@ -5,13 +5,15 @@
 
 name            xemacs
 conflicts       emacs
-version         21.5.16
+# note: the newer 21.5 series is beta and is not stable.
+version         21.4.22
 set sumo_date   2010-07-27
+epoch           1
 categories      editors x11
 platforms       darwin
 maintainers     nomaintainer
 license         GPL-2+
-revision        2
+revision        11
 
 description     A highly customizable open-source text editor.
 
@@ -21,8 +23,8 @@
     Emacs, in particular GNU Emacs.
 
 homepage        http://www.xemacs.org
-master_sites    http://ftp.xemacs.org/pub/xemacs/xemacs-21.5/:xemacs \
-                ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.5/:xemacs \
+master_sites    http://ftp.xemacs.org/pub/xemacs/xemacs-21.4/:xemacs \
+                ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.4/:xemacs \
                 http://ftp.xemacs.org/pub/xemacs/packages/:package \
                 ftp://ftp.xemacs.org/pub/xemacs/packages/:package \
                 http://mirrors.ibiblio.org/pub/mirrors/xemacs/packages/:package
@@ -34,9 +36,9 @@
 distfiles       ${xemacs_dist}:xemacs ${sumo_dist}:package ${mule_dist}:package
 
 checksums       xemacs-${version}.tar.gz \
-                md5     09f532e91cda52d9a4e9239c8909e631 \
-                sha1    f971a4650631db9c620c0b742bc30ede5dbbaf0e \
-                rmd160  968aae3a4aa7937cedc3eca5b0b804181f24ac5c \
+                md5     b0b762407316d6de170db69aba7a37cf \
+                sha1    24ed9b13d80c53c06bba60c7bb68387f692b7373 \
+                rmd160  f7d71d3607c3301760df8f7ae5a93d1d37df56ba \
                 xemacs-sumo-${sumo_date}.tar.gz \
                 md5     12ee5fca32ff7e3bfd6ecfd4bb157688 \
                 sha1    60b9601b9d865bdb031c8babc4020ab2a8a3258f \
@@ -46,7 +48,10 @@
                 sha1    852a5ac51bb713a16f62676bb5db3f2ab06379cd \
                 rmd160  601a735ff800ceb2443ec9b26bc0f7c5b2215854
 
-patchfiles      patch-src-glyphs-eimage.c.diff
+patchfiles      51ced9b8fb63e4be59ea611b58128c400e3df987.diff \
+                bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff \
+                texinfo5.patch
+patch.pre_args  -p1
 
 configure.args  --mandir=${prefix}/share/man \
                 --without-postgresql \
@@ -108,5 +113,5 @@
 }
 
 livecheck.type          regex
-livecheck.url           http://ftp.xemacs.org/pub/xemacs/xemacs-21.5
+livecheck.url           http://ftp.xemacs.org/pub/xemacs/xemacs-21.4
 livecheck.regex         ${name}-(\[0-9.\]+)${extract.suffix}

Copied: trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff (from rev 141545, trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff)
===================================================================
--- trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff	                        (rev 0)
+++ trunk/dports/editors/xemacs/files/51ced9b8fb63e4be59ea611b58128c400e3df987.diff	2015-11-27 03:01:47 UTC (rev 142901)
@@ -0,0 +1,60 @@
+# HG changeset patch
+# User Vin Shelton <acs at xemacs.org>
+# Date 1323317837 18000
+# Node ID 51ced9b8fb63e4be59ea611b58128c400e3df987
+# Parent  032a91928d47b36ae3dd98885767d9e0202892f7
+Clean up PNG handling.  Fix crash in issue570.
+
+diff -r 032a91928d47b36ae3dd98885767d9e0202892f7 -r 51ced9b8fb63e4be59ea611b58128c400e3df987 src/glyphs-eimage.c
+--- a/src/glyphs-eimage.c	Sat Dec 03 20:04:12 2011 -0500
++++ b/src/glyphs-eimage.c	Wed Dec 07 23:17:17 2011 -0500
+@@ -935,13 +935,22 @@
+   png_read_info (png_ptr, info_ptr);
+ 
+   {
+-    int y;
++    int y, padding;
+     unsigned char **row_pointers;
+     height = info_ptr->height;
+     width = info_ptr->width;
+ 
+-    /* Wow, allocate all the memory.  Truly, exciting. */
+-    unwind.eimage = xnew_array_and_zero (unsigned char, width * height * 3);
++    /* Wow, allocate all the memory.  Truly, exciting.
++       Well, yes, there's excitement to be had.  It turns out that libpng
++       strips in place, so the last row overruns the buffer if depth is 16
++       or there's an alpha channel.  This is a crash on Linux.  So we need
++       to add padding.
++       The worst case is reducing 8 bytes (16-bit RGBA) to 3 (8-bit RGB). */
++
++    padding = 5 * width;
++    unwind.eimage = xnew_array_and_zero (unsigned char,
++					 width * height * 3 + padding);
++
+     /* libpng expects that the image buffer passed in contains a
+        picture to draw on top of if the png has any transparencies.
+        This could be a good place to pass that in... */
+@@ -996,9 +1005,6 @@
+     if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
+         info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+       png_set_gray_to_rgb (png_ptr);
+-    /* we can't handle alpha values */
+-    if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
+-      png_set_strip_alpha (png_ptr);
+     /* tell libpng to strip 16 bit depth files down to 8 bits */
+     if (info_ptr->bit_depth == 16)
+       png_set_strip_16 (png_ptr);
+@@ -1011,6 +1017,13 @@
+ 	  png_set_packing (png_ptr);
+       }
+ 
++    /* we can't handle alpha values
++       png_read_update_info ensures the alpha flag is set when one of
++       the transforms above causes an alpha channel to be generated */
++    png_read_update_info (png_ptr, info_ptr);
++    if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
++      png_set_strip_alpha (png_ptr);
++
+     png_read_image (png_ptr, row_pointers);
+     png_read_end (png_ptr, info_ptr);
+ 

Copied: trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff (from rev 141545, trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff)
===================================================================
--- trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff	                        (rev 0)
+++ trunk/dports/editors/xemacs/files/bcefd94fa6513d48f4dc8519f633b2df66b553bc.diff	2015-11-27 03:01:47 UTC (rev 142901)
@@ -0,0 +1,87 @@
+# HG changeset patch
+# User Vin Shelton <acs at xemacs.org>
+# Date 1342078132 14400
+# Node ID bcefd94fa6513d48f4dc8519f633b2df66b553bc
+# Parent  2cf343fcb482fa6644675f3174c3c0712c53c074
+Support libpng-1.5.10
+
+diff -r 2cf343fcb482fa6644675f3174c3c0712c53c074 -r bcefd94fa6513d48f4dc8519f633b2df66b553bc src/glyphs-eimage.c
+--- a/src/glyphs-eimage.c	Sun Jan 08 17:05:56 2012 -0500
++++ b/src/glyphs-eimage.c	Thu Jul 12 03:28:52 2012 -0400
+@@ -937,8 +937,8 @@
+   {
+     int y, padding;
+     unsigned char **row_pointers;
+-    height = info_ptr->height;
+-    width = info_ptr->width;
++    height = png_get_image_height(png_ptr, info_ptr);
++    width = png_get_image_width(png_ptr, info_ptr);
+ 
+     /* Wow, allocate all the memory.  Truly, exciting.
+        Well, yes, there's excitement to be had.  It turns out that libpng
+@@ -999,19 +999,19 @@
+     /* Now that we're using EImage, ask for 8bit RGB triples for any type
+        of image*/
+     /* convert palette images to full RGB */
+-    if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
++    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
+       png_set_expand (png_ptr);
+     /* send grayscale images to RGB too */
+-    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
+-        info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
++       png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
+       png_set_gray_to_rgb (png_ptr);
+     /* tell libpng to strip 16 bit depth files down to 8 bits */
+-    if (info_ptr->bit_depth == 16)
++    if (png_get_bit_depth(png_ptr, info_ptr) == 16)
+       png_set_strip_16 (png_ptr);
+     /* if the image is < 8 bits, pad it out */
+-    if (info_ptr->bit_depth < 8)
++    if (png_get_bit_depth(png_ptr, info_ptr) < 8)
+       {
+-	if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
++       if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
+ 	  png_set_expand (png_ptr);
+ 	else
+ 	  png_set_packing (png_ptr);
+@@ -1021,7 +1021,7 @@
+        png_read_update_info ensures the alpha flag is set when one of
+        the transforms above causes an alpha channel to be generated */
+     png_read_update_info (png_ptr, info_ptr);
+-    if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
++    if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA)
+       png_set_strip_alpha (png_ptr);
+ 
+     png_read_image (png_ptr, row_pointers);
+@@ -1036,17 +1036,22 @@
+      * from lisp anyway. - WMP
+      */
+     {
+-      int i;
++      int i, num_text = 0;
++      png_textp text_ptr = NULL;
+ 
+-      for (i = 0 ; i < info_ptr->num_text ; i++)
++      if (png_get_text (png_ptr, info_ptr, &text_ptr, &num_text) > 0)
+ 	{
+-	  /* How paranoid do I have to be about no trailing NULLs, and
+-	     using (int)info_ptr->text[i].text_length, and strncpy and a temp
+-	     string somewhere? */
++	  for (i = 0 ; i < num_text ; i++)
++	    {
+ 
+-	  warn_when_safe (Qpng, Qinfo, "%s - %s",
+-			  info_ptr->text[i].key,
+-			  info_ptr->text[i].text);
++	      /* How paranoid do I have to be about no trailing NULLs, and
++		 using (int)info_ptr->text[i].text_length, and strncpy and a temp
++		 string somewhere? */
++
++	      warn_when_safe (Qpng, Qinfo, "%s - %s",
++			      text_ptr[i].key, text_ptr[i].text);
++	    }
++
+ 	}
+     }
+ #endif

Deleted: trunk/dports/editors/xemacs/files/patch-src-glyphs-eimage.c.diff
===================================================================
--- trunk/dports/editors/xemacs/files/patch-src-glyphs-eimage.c.diff	2015-11-26 20:56:10 UTC (rev 142900)
+++ trunk/dports/editors/xemacs/files/patch-src-glyphs-eimage.c.diff	2015-11-27 03:01:47 UTC (rev 142901)
@@ -1,74 +0,0 @@
---- src/glyphs-eimage.c.orig        2015-10-20 11:16:07.000000000 -0400
-+++ src/glyphs-eimage.c     2015-10-20 11:23:53.000000000 -0400
-@@ -920,8 +920,8 @@
-   {
-     int y;
-     UChar_Binary **row_pointers;
--    height = info_ptr->height;
--    width = info_ptr->width;
-+    height = png_get_image_height(png_ptr, info_ptr);
-+    width = png_get_image_width(png_ptr, info_ptr);
- 
-     /* Wow, allocate all the memory.  Truly, exciting. */
-     unwind.eimage = xnew_array_and_zero (UChar_Binary, width * height * 3);
-@@ -973,22 +973,22 @@
-     /* Now that we're using EImage, ask for 8bit RGB triples for any type
-        of image*/
-     /* convert palette images to full RGB */
--    if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
-+    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
-       png_set_expand (png_ptr);
-     /* send grayscale images to RGB too */
--    if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
--        info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-+    if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
-+        png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
-       png_set_gray_to_rgb (png_ptr);
-     /* we can't handle alpha values */
--    if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
-+    if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA)
-       png_set_strip_alpha (png_ptr);
-     /* tell libpng to strip 16 bit depth files down to 8 bits */
--    if (info_ptr->bit_depth == 16)
-+    if (png_get_bit_depth(png_ptr, info_ptr) == 16)
-       png_set_strip_16 (png_ptr);
-     /* if the image is < 8 bits, pad it out */
--    if (info_ptr->bit_depth < 8)
-+    if (png_get_bit_depth(png_ptr, info_ptr) < 8)
-       {
--	if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
-+	if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY)
- 	  png_set_expand (png_ptr);
- 	else
- 	  png_set_packing (png_ptr);
-@@ -1008,17 +1008,21 @@
-     /* #### I've turned this on, since these warnings are now
-        unobtrusive. */
-     {
--      int i;
-+      int i, num_text = 0;
-+      png_textp text_ptr = NULL;
- 
--      for (i = 0 ; i < info_ptr->num_text ; i++)
-+      if (png_get_text (png_ptr, info_ptr, &text_ptr, &num_text) > 0)
- 	{
--	  /* How paranoid do I have to be about no trailing NULLs, and
--	     using (int)info_ptr->text[i].text_length, and strncpy and a temp
--	     string somewhere? */
--
--	  warn_when_safe (Qpng, Qinfo, "%s - %s",
--			  info_ptr->text[i].key,
--			  info_ptr->text[i].text);
-+	  for (i = 0 ; i < num_text ; i++)
-+	    {
-+
-+	      /* How paranoid do I have to be about no trailing NULLs, and
-+		 using (int)info_ptr->text[i].text_length, and strncpy and a temp
-+		 string somewhere? */
-+
-+	      warn_when_safe (Qpng, Qinfo, "%s - %s",
-+			      text_ptr[i].key, text_ptr[i].text);
-+	    }
- 	}
-     }
- #endif
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20151212/00265a59/attachment.html>


More information about the macports-changes mailing list