[packages/emacs] - started update to 25.1 - imagemagick code still needs fixing (or disabling)

baggins baggins at pld-linux.org
Sun Dec 25 13:06:37 CET 2016


commit da54247abe20d8a4f117e98fa98640c7eacdb629
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Dec 25 13:05:54 2016 +0100

    - started update to 25.1
    - imagemagick code still needs fixing (or disabling)

 emacs-fontconfig.patch |  10 ----
 emacs-giflib.patch     | 140 -------------------------------------------------
 emacs.spec             |  10 ++--
 imagemagick7.patch     |  27 ++++++++++
 4 files changed, 31 insertions(+), 156 deletions(-)
---
diff --git a/emacs.spec b/emacs.spec
index 572e876..2e06519 100644
--- a/emacs.spec
+++ b/emacs.spec
@@ -18,13 +18,13 @@ Summary(pl.UTF-8):	GNU Emacs - edytor tekstu dla systemu X Window
 Summary(pt_BR.UTF-8):	GNU Emacs
 Summary(tr.UTF-8):	GNU Emacs
 Name:		emacs
-%define	ver	24.3
+%define	ver	25.1
 Version:	%{ver}
-Release:	8
+Release:	0.1
 License:	GPL v3+
 Group:		Applications/Editors/Emacs
 Source0:	ftp://ftp.gnu.org/pub/gnu/emacs/%{name}-%{version}.tar.xz
-# Source0-md5:	ea9ed000ca165280265aabb55b9afbd7
+# Source0-md5:	4f3d42fb22823a659e16bfa89078a74c
 Source1:	%{name}-dot%{name}
 Source2:	%{name}-site-start.el
 Source3:	%{name}.png
@@ -34,8 +34,7 @@ Source6:	%{name}-athena.desktop
 Source7:	%{name}-gtk.desktop
 Source8:	%{name}-motif.desktop
 Source9:	%{name}-nox.desktop
-Patch0:		%{name}-fontconfig.patch
-Patch1:		%{name}-giflib.patch
+Patch0:		imagemagick7.patch
 URL:		http://www.gnu.org/software/emacs/
 BuildRequires:	autoconf
 BuildRequires:	automake
@@ -371,7 +370,6 @@ exit 1
 
 %setup -q -n %{name}-%{ver}
 %patch0 -p1
-%patch1 -p1
 
 %build
 cp -f /usr/share/automake/config.* .
diff --git a/emacs-fontconfig.patch b/emacs-fontconfig.patch
deleted file mode 100644
index 59dec34..0000000
--- a/emacs-fontconfig.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- emacs-24.3/configure.ac.orig	2013-03-05 08:24:59.000000000 +0000
-+++ emacs-24.3/configure.ac	2013-04-17 07:09:43.617571656 +0000
-@@ -2403,6 +2403,7 @@
- ### Start of font-backend (under X11) section.
- if test "${HAVE_X11}" = "yes"; then
-    PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.2.0, HAVE_FC=yes, HAVE_FC=no)
-+   PKG_CHECK_MODULES(FREETYPE, freetype2, HAVE_FREETYPE=yes, HAVE_FREETYPE=no)
- 
-    ## Use -lXft if available, unless `--with-xft=no'.
-    HAVE_XFT=maybe
diff --git a/emacs-giflib.patch b/emacs-giflib.patch
deleted file mode 100644
index 88b19bc..0000000
--- a/emacs-giflib.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 53426b6..0f05d8e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3109,8 +3109,9 @@ elif test "${HAVE_X11}" = "yes" && test "${with_gif}" != "no" \
-         || test "${HAVE_W32}" = "yes"; then
-   AC_CHECK_HEADER(gif_lib.h,
- # EGifPutExtensionLast only exists from version libungif-4.1.0b1.
--# Earlier versions can crash Emacs.
--    [AC_CHECK_LIB(gif, EGifPutExtensionLast, HAVE_GIF=yes, HAVE_GIF=maybe)])
-+# Earlier versions can crash Emacs, but version 5.0 removes EGifPutExtensionLast.
-+    [AC_CHECK_LIB(gif, GifMakeMapObject, HAVE_GIF=yes,
-+        [AC_CHECK_LIB(gif, EGifPutExtensionLast, HAVE_GIF=yes, HAVE_GIF=maybe)])])
- 
-   if test "$HAVE_GIF" = yes; then
-     LIBGIF=-lgif
-diff --git a/src/image.c b/src/image.c
-index e429830..c414f5b 100644
---- a/src/image.c
-+++ b/src/image.c
-@@ -7219,14 +7219,23 @@ gif_image_p (Lisp_Object object)
- 
- #endif /* HAVE_NTGUI */
- 
-+#ifndef GIFLIB_MAJOR
-+#define GIFLIB_MAJOR 0
-+#endif
- 
- #ifdef WINDOWSNT
- 
- /* GIF library details.  */
--DEF_IMGLIB_FN (int, DGifCloseFile, (GifFileType *));
- DEF_IMGLIB_FN (int, DGifSlurp, (GifFileType *));
-+#if GIFLIB_MAJOR < 5
-+DEF_IMGLIB_FN (int, DGifCloseFile, (GifFileType *));
- DEF_IMGLIB_FN (GifFileType *, DGifOpen, (void *, InputFunc));
- DEF_IMGLIB_FN (GifFileType *, DGifOpenFileName, (const char *));
-+#else
-+DEF_IMGLIB_FN (int, DGifCloseFile, (GifFileType *, int *));
-+DEF_IMGLIB_FN (GifFileType *, DGifOpen, (void *, InputFunc, int *));
-+DEF_IMGLIB_FN (GifFileType *, DGifOpenFileName, (const char *, int *));
-+#endif
- 
- static bool
- init_gif_functions (void)
-@@ -7206,7 +7214,11 @@ gif_load (struct frame *f, struct image *img)
- 	}
- 
-       /* Open the GIF file.  */
-+#if GIFLIB_MAJOR < 5
-       gif = fn_DGifOpenFileName (SSDATA (file));
-+#else
-+      gif = fn_DGifOpenFileName (SSDATA (file), NULL);
-+#endif
-       if (gif == NULL)
- 	{
- 	  image_error ("Cannot open `%s'", file, Qnil);
-@@ -7227,7 +7239,11 @@ gif_load (struct frame *f, struct image *img)
-       memsrc.len = SBYTES (specified_data);
-       memsrc.index = 0;
- 
-+#if GIFLIB_MAJOR < 5
-       gif = fn_DGifOpen (&memsrc, gif_read_from_memory);
-+#else
-+      gif = fn_DGifOpen (&memsrc, gif_read_from_memory, NULL);
-+#endif
-       if (!gif)
- 	{
- 	  image_error ("Cannot open memory source `%s'", img->spec, Qnil);
-@@ -7241,7 +7242,11 @@
-   if (!check_image_size (f, gif->SWidth, gif->SHeight))
-     {
-       image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
-+#if GIFLIB_MAJOR < 5
-       fn_DGifCloseFile (gif);
-+#else
-+      fn_DGifCloseFile (gif, NULL);
-+#endif
-       return 0;
-     }
- 
-@@ -7250,7 +7255,11 @@
-   if (rc == GIF_ERROR || gif->ImageCount <= 0)
-     {
-       image_error ("Error reading `%s'", img->spec, Qnil);
-+#if GIFLIB_MAJOR < 5
-       fn_DGifCloseFile (gif);
-+#else
-+      fn_DGifCloseFile (gif, NULL);
-+#endif
-       return 0;
-     }
- 
-@@ -7262,7 +7271,11 @@
-       {
- 	image_error ("Invalid image number `%s' in image `%s'",
- 		     image_number, img->spec);
-+#if GIFLIB_MAJOR < 5
- 	fn_DGifCloseFile (gif);
-+#else
-+	fn_DGifCloseFile (gif, NULL);
-+#endif
- 	return 0;
-       }
-   }
-@@ -7280,14 +7293,22 @@
-   if (!check_image_size (f, width, height))
-     {
-       image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
-+#if GIFLIB_MAJOR < 5
-       fn_DGifCloseFile (gif);
-+#else
-+      fn_DGifCloseFile (gif, NULL);
-+#endif
-       return 0;
-     }
- 
-   /* Create the X image and pixmap.  */
-   if (!x_create_x_image_and_pixmap (f, width, height, 0, &ximg, &img->pixmap))
-     {
-+#if GIFLIB_MAJOR < 5
-       fn_DGifCloseFile (gif);
-+#else
-+      fn_DGifCloseFile (gif, NULL);
-+#endif
-       return 0;
-     }
- 
-@@ -7463,7 +7484,11 @@
- 			    Fcons (make_number (gif->ImageCount),
- 				   img->lisp_data));
- 
-+#if GIFLIB_MAJOR < 5
-   fn_DGifCloseFile (gif);
-+#else
-+  fn_DGifCloseFile (gif, NULL);
-+#endif
- 
-   /* Maybe fill in the background field while we have ximg handy. */
-   if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
diff --git a/imagemagick7.patch b/imagemagick7.patch
new file mode 100644
index 0000000..3058401
--- /dev/null
+++ b/imagemagick7.patch
@@ -0,0 +1,27 @@
+--- emacs-25.1/configure.ac~	2016-07-25 09:08:36.000000000 +0200
++++ emacs-25.1/configure.ac	2016-12-25 13:00:06.594562908 +0100
+@@ -2413,7 +2413,7 @@
+   if test "${with_imagemagick}" != "no"; then
+     ## 6.3.5 is the earliest version known to work; see Bug#17339.
+     ## 6.8.2 makes Emacs crash; see Bug#13867.
+-    IMAGEMAGICK_MODULE="Wand >= 6.3.5 Wand != 6.8.2"
++    IMAGEMAGICK_MODULE="MagickWand >= 6.3.5 MagickWand != 6.8.2"
+     EMACS_CHECK_MODULES([IMAGEMAGICK], [$IMAGEMAGICK_MODULE])
+     AC_SUBST(IMAGEMAGICK_CFLAGS)
+     AC_SUBST(IMAGEMAGICK_LIBS)
+--- emacs-24.3/src/image.c~	2016-12-25 12:47:48.000000000 +0100
++++ emacs-24.3/src/image.c	2016-12-25 12:52:35.931084598 +0100
+@@ -7618,11 +7618,11 @@
+ /* The GIF library also defines DrawRectangle, but its never used in Emacs.
+    Therefore rename the function so it doesn't collide with ImageMagick.  */
+ #define DrawRectangle DrawRectangleGif
+-#include <wand/MagickWand.h>
++#include <MagickWand/MagickWand.h>
+ 
+ /* ImageMagick 6.5.3 through 6.6.5 hid PixelGetMagickColor for some reason.
+    Emacs seems to work fine with the hidden version, so unhide it.  */
+-#include <magick/version.h>
++#include <MagickCore/version.h>
+ #if 0x653 <= MagickLibVersion && MagickLibVersion <= 0x665
+ extern WandExport void PixelGetMagickColor (const PixelWand *,
+ 					    MagickPixelPacket *);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/emacs.git/commitdiff/da54247abe20d8a4f117e98fa98640c7eacdb629



More information about the pld-cvs-commit mailing list