]> git.pld-linux.org Git - packages/emacs.git/commitdiff
- rel 6; fix build with giflib 5
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 10 Jun 2014 21:51:15 +0000 (23:51 +0200)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 10 Jun 2014 21:51:15 +0000 (23:51 +0200)
emacs-giflib.patch [new file with mode: 0644]
emacs.spec

diff --git a/emacs-giflib.patch b/emacs-giflib.patch
new file mode 100644 (file)
index 0000000..9b9b206
--- /dev/null
@@ -0,0 +1,67 @@
+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,22 @@ 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 (GifFileType *, DGifOpen, (void *, InputFunc));
+ DEF_IMGLIB_FN (GifFileType *, DGifOpenFileName, (const char *));
++#else
++DEF_IMGLIB_FN (GifFileType *, DGifOpen, (void *, InputFunc, int *));
++DEF_IMGLIB_FN (GifFileType *, DGifOpenFileName, (const char *, int *));
++#endif
+ static bool
+ init_gif_functions (void)
+@@ -7316,7 +7324,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);
+@@ -7337,7 +7349,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);
index 3a46e3e058b9327a5e4887261d7518d22ef9da35..20be1cee5a0f33f306d28aa5b25491cd5521eb7a 100644 (file)
@@ -20,7 +20,7 @@ Summary(tr.UTF-8):    GNU Emacs
 Name:          emacs
 %define        ver     24.3
 Version:       %{ver}
-Release:       5
+Release:       6
 License:       GPL v3+
 Group:         Applications/Editors/Emacs
 Source0:       ftp://ftp.gnu.org/pub/gnu/emacs/%{name}-%{version}.tar.xz
@@ -35,6 +35,7 @@ Source7:      %{name}-gtk.desktop
 Source8:       %{name}-motif.desktop
 Source9:       %{name}-nox.desktop
 Patch0:                %{name}-fontconfig.patch
+Patch1:                %{name}-giflib.patch
 URL:           http://www.gnu.org/software/emacs/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -370,6 +371,7 @@ exit 1
 
 %setup -q -n %{name}-%{ver}
 %patch0 -p1
+%patch1 -p1
 
 %build
 cp -f /usr/share/automake/config.* .
This page took 0.080822 seconds and 4 git commands to generate.