From 5a69b5929cc8ea76cccf18c25eaf6f23a4b9d241ed06708f45f6d9cf7a094512 Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Thu, 13 Apr 2017 07:09:32 +0000 Subject: [PATCH] Accepting request 487537 from home:pgajdos - build with ImageMagick 7 [bsc#1033077] + emacs-25.2-ImageMagick7.patch OBS-URL: https://build.opensuse.org/request/show/487537 OBS-URL: https://build.opensuse.org/package/show/editors/emacs?expand=0&rev=224 --- emacs-25.2-ImageMagick7.patch | 53 +++++++++++++++++++++++++++++++++++ emacs.changes | 6 ++++ emacs.spec | 8 ++++++ 3 files changed, 67 insertions(+) create mode 100644 emacs-25.2-ImageMagick7.patch diff --git a/emacs-25.2-ImageMagick7.patch b/emacs-25.2-ImageMagick7.patch new file mode 100644 index 0000000..c10f7f5 --- /dev/null +++ b/emacs-25.2-ImageMagick7.patch @@ -0,0 +1,53 @@ +Index: emacs-25.2/configure.ac +=================================================================== +--- emacs-25.2.orig/configure.ac 2017-04-12 11:44:53.680930444 +0200 ++++ emacs-25.2/configure.ac 2017-04-12 11:44:53.692930606 +0200 +@@ -2406,7 +2406,7 @@ if test "${HAVE_X11}" = "yes" || test "$ + 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) +Index: emacs-25.2/src/image.c +=================================================================== +--- emacs-25.2.orig/src/image.c 2017-02-03 11:25:45.000000000 +0100 ++++ emacs-25.2/src/image.c 2017-04-12 12:01:48.298637854 +0200 +@@ -8402,7 +8402,11 @@ imagemagick_compute_animated_image (Magi + PixelWand **source, **dest; + size_t source_width, source_height; + ssize_t source_left, source_top; ++#if MagickLibVersion >= 0x700 ++ PixelInfo pixel; ++#else + MagickPixelPacket pixel; ++#endif + DisposeType dispose; + ptrdiff_t lines = 0; + +@@ -8467,7 +8471,11 @@ imagemagick_compute_animated_image (Magi + if (dispose == BackgroundDispose || PixelGetAlpha (source[x])) + { + PixelGetMagickColor (source[x], &pixel); ++#if MagickLibVersion >= 0x700 ++ PixelSetPixelColor (dest[x + source_left], &pixel); ++#else + PixelSetMagickColor (dest[x + source_left], &pixel); ++#endif + } + } + PixelSyncIterator (dest_iterator); +@@ -8512,7 +8520,11 @@ imagemagick_load_image (struct frame *f, + MagickWand *image_wand; + PixelIterator *iterator; + PixelWand **pixels, *bg_wand = NULL; ++#if MagickLibVersion >= 0x700 ++ PixelInfo pixel; ++#else + MagickPixelPacket pixel; ++#endif + Lisp_Object image; + Lisp_Object value; + Lisp_Object crop; diff --git a/emacs.changes b/emacs.changes index 66eb178..d8d8851 100644 --- a/emacs.changes +++ b/emacs.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Apr 12 09:25:13 UTC 2017 - pgajdos@suse.com + +- build with ImageMagick 7 [bsc#1033077] + + emacs-25.2-ImageMagick7.patch + ------------------------------------------------------------------- Mon Apr 3 06:34:49 UTC 2017 - werner@suse.de diff --git a/emacs.spec b/emacs.spec index 25f6b85..52287ce 100644 --- a/emacs.spec +++ b/emacs.spec @@ -17,6 +17,9 @@ %bcond_with autoconf +%if %{suse_version} >= 1330 +%bcond_without autoconf +%endif # Experimental, not for production (see https://www.gnu.org/software/emacs/news/NEWS.25.1) %bcond_with cairo @@ -121,6 +124,10 @@ Patch15: emacs-24.3-iconic.patch Patch16: emacs-24.4-flyspell.patch Patch22: emacs-24.1-bnc628268.patch Patch23: emacs-25.1-custom-fonts.patch +# this patch works with both ImageMagick-6 and ImageMagick-7 for us, +# but that is because we ship /usr/include/ImageMagick-7/wand compat +# symlink +Patch24: emacs-25.2-ImageMagick7.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %{expand: %%global include_info %(test -s /usr/share/info/info.info* && echo 0 || echo 1)} @@ -235,6 +242,7 @@ and most assembler-like syntaxes. %patch22 -p0 -b .obsolate %patch23 -p0 -b .custfnt %patch -p0 -b .0 +%patch24 -p1 %if %{without autoconf} # We don't want to run autoconf