summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO16
-rw-r--r--0001-respect-existence-of-distro-CFLAGS-and-CPPFLAGS.patch43
-rw-r--r--001-mingw-build.patch57
-rw-r--r--PKGBUILD46
-rw-r--r--giflib-5.0.4-include-stddef.patch11
-rw-r--r--giflib-5.1.9-fix-missing-quantize-API-symbols.patch32
6 files changed, 171 insertions, 34 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5a532267e1b5..39cf77130419 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,6 @@
-# Generated by mksrcinfo v8
-# Wed Jun 22 19:47:24 UTC 2016
pkgbase = mingw-w64-giflib
pkgdesc = A library for reading and writing gif images (mingw-w64)
- pkgver = 5.1.4
+ pkgver = 5.2.1
pkgrel = 1
url = http://sourceforge.net/projects/giflib/
arch = any
@@ -14,10 +12,14 @@ pkgbase = mingw-w64-giflib
options = staticlibs
options = !strip
options = !buildflags
- source = http://downloads.sourceforge.net/sourceforge/giflib/giflib-5.1.4.tar.bz2
- source = giflib-5.0.4-include-stddef.patch
- md5sums = 2c171ced93c0e83bb09e6ccad8e3ba2b
- md5sums = e39b98822334f2bd2009469e5dea65c5
+ source = https://downloads.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz
+ source = giflib-5.1.9-fix-missing-quantize-API-symbols.patch
+ source = 001-mingw-build.patch
+ source = 0001-respect-existence-of-distro-CFLAGS-and-CPPFLAGS.patch
+ sha512sums = 4550e53c21cb1191a4581e363fc9d0610da53f7898ca8320f0d3ef6711e76bdda2609c2df15dc94c45e28bff8de441f1227ec2da7ea827cb3c0405af4faa4736
+ sha512sums = 5de1e8724f5221fa3637b4e6a482f650f7608673e2c9200233290018ec8a0bf1beea049b3979b5f57dbf2b2a5fda409324e636e9af10582fd01c71d92d4de3b3
+ sha512sums = 3b5d5937162d9a3c1076cdc58a803a8881b264c65aa8d33e9592c43dc1686724fce280e8b56ed2751a6bf8a5c75ed9d887c31a042bc9e0a15c1697ea0b2fedc9
+ sha512sums = 2b0eb1a5d1a3ff8270018f7cfbe87d902bca3e2105315c4169f4c7859dd37aac0c34dc27008ee2dc2acaa52375ffda260d5318a5c065b1ba51e7aed9f4ca3356
pkgname = mingw-w64-giflib
diff --git a/0001-respect-existence-of-distro-CFLAGS-and-CPPFLAGS.patch b/0001-respect-existence-of-distro-CFLAGS-and-CPPFLAGS.patch
new file mode 100644
index 000000000000..1414b6cf8641
--- /dev/null
+++ b/0001-respect-existence-of-distro-CFLAGS-and-CPPFLAGS.patch
@@ -0,0 +1,43 @@
+From 788a52c399f4731ac1fb27a49db48626f3e140e1 Mon Sep 17 00:00:00 2001
+From: anthraxx <levente@leventepolyak.net>
+Date: Tue, 2 Apr 2019 14:53:28 +0200
+Subject: [PATCH] respect existence of distro CFLAGS and CPPFLAGS
+
+- append CFLAGS instead of set to honor default distro CFLAGS
+- add CPPFLAGS that are defined by distros
+---
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8dffb43..74d5b61 100644
+--- a/Makefile
++++ b/Makefile
+@@ -8,7 +8,7 @@
+ #
+ OFLAGS = -O0 -g
+ OFLAGS = -O2
+-CFLAGS = -std=gnu99 -fPIC -Wall -Wno-format-truncation $(OFLAGS)
++CFLAGS += -std=gnu99 -fPIC -Wall -Wno-format-truncation $(OFLAGS)
+
+ SHELL = /bin/sh
+ TAR = tar
+@@ -67,13 +67,13 @@ all: libgif-$(LIBMAJOR).dll libgif.a libutil-$(LIBMAJOR).dll libutil.a $(UTILS)
+ $(UTILS):: libgif.a libutil.a
+
+ libgif-$(LIBMAJOR).dll: $(OBJECTS) $(HEADERS)
+- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,--out-implib,libgif.dll.a -o libgif-$(LIBMAJOR).dll $(OBJECTS)
++ $(CC) $(CFLAGS) $(CPPFLAGS) -shared $(LDFLAGS) -Wl,--out-implib,libgif.dll.a -o libgif-$(LIBMAJOR).dll $(OBJECTS)
+
+ libgif.a: $(OBJECTS) $(HEADERS)
+ $(AR) rcs libgif.a $(OBJECTS)
+
+ libutil-$(LIBMAJOR).dll: $(UOBJECTS) $(UHEADERS)
+- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,--out-implib,libutil.dll.a -o libutil-$(LIBMAJOR).dll $(UOBJECTS) -L. -lgif
++ $(CC) $(CFLAGS) $(CPPFLAGS) -shared $(LDFLAGS) -Wl,--out-implib,libutil.dll.a -o libutil-$(LIBMAJOR).dll $(UOBJECTS) -L. -lgif
+
+ libutil.a: $(UOBJECTS) $(UHEADERS)
+ $(AR) rcs libutil.a $(UOBJECTS)
+--
+2.22.0
+
diff --git a/001-mingw-build.patch b/001-mingw-build.patch
new file mode 100644
index 000000000000..412c4b4ce2b4
--- /dev/null
+++ b/001-mingw-build.patch
@@ -0,0 +1,57 @@
+--- giflib-5.1.9/Makefile.orig 2019-06-10 11:06:10.797407400 +0300
++++ giflib-5.1.9/Makefile 2019-06-10 11:10:11.917745000 +0300
+@@ -62,27 +62,25 @@
+
+ LDLIBS=libgif.a -lm
+
+-all: libgif.so libgif.a libutil.so libutil.a $(UTILS)
++all: libgif-$(LIBMAJOR).dll libgif.a libutil-$(LIBMAJOR).dll libutil.a $(UTILS)
+ $(MAKE) -C doc
+
+ $(UTILS):: libgif.a libutil.a
+
+-libgif.so: $(OBJECTS) $(HEADERS)
+- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS)
++libgif-$(LIBMAJOR).dll: $(OBJECTS) $(HEADERS)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,--out-implib,libgif.dll.a -o libgif-$(LIBMAJOR).dll $(OBJECTS)
+
+ libgif.a: $(OBJECTS) $(HEADERS)
+ $(AR) rcs libgif.a $(OBJECTS)
+
+-libutil.so: $(UOBJECTS) $(UHEADERS)
+- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libutil.so.$(LIBMAJOR) -o libutil.so $(UOBJECTS)
++libutil-$(LIBMAJOR).dll: $(UOBJECTS) $(UHEADERS)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,--out-implib,libutil.dll.a -o libutil-$(LIBMAJOR).dll $(UOBJECTS) -L. -lgif
+
+ libutil.a: $(UOBJECTS) $(UHEADERS)
+ $(AR) rcs libutil.a $(UOBJECTS)
+
+ clean:
+- rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a libgif.so libutil.a libutil.so *.o
+- rm -f libgif.so.$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT)
+- rm -f libgif.so.$(LIBMAJOR)
++ rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a libgif-$(LIBMAJOR).dll libgif.dll.a libutil.a libutil-$(LIBMAJOR).dll libutil.dll.a *.o
+ rm -fr doc/*.1 *.html doc/staging
+
+ check: all
+@@ -100,9 +98,8 @@
+ install-lib:
+ $(INSTALL) -d "$(DESTDIR)$(LIBDIR)"
+ $(INSTALL) -m 644 libgif.a "$(DESTDIR)$(LIBDIR)/libgif.a"
+- $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)"
+- ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)"
+- ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so"
++ $(INSTALL) -m 644 libgif.dll.a "$(DESTDIR)$(LIBDIR)/libgif.dll.a"
++ $(INSTALL) -m 755 libgif-$(LIBMAJOR).dll "$(DESTDIR)$(BINDIR)/libgif-$(LIBMAJOR).dll"
+ install-man:
+ $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1"
+ $(INSTALL) -m 644 doc/*.1 "$(DESTDIR)$(MANDIR)/man1"
+@@ -113,7 +110,7 @@
+ rm -f "$(DESTDIR)$(INCDIR)/gif_lib.h"
+ uninstall-lib:
+ cd "$(DESTDIR)$(LIBDIR)" && \
+- rm -f libgif.a libgif.so libgif.so.$(LIBMAJOR) libgif.so.$(LIBVER)
++ rm -f libgif.a libgif-$(LIBMAJOR).dll libgif.dll.a
+ uninstall-man:
+ cd "$(DESTDIR)$(MANDIR)/man1" && rm -f $(shell cd doc >/dev/null && echo *.1)
+
diff --git a/PKGBUILD b/PKGBUILD
index 234827644f17..b4dc9a15e9a8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,6 @@
+# Maintainer: drakkan <nicola.murino at gmail dot com>
pkgname=mingw-w64-giflib
-pkgver=5.1.4
+pkgver=5.2.1
pkgrel=1
pkgdesc="A library for reading and writing gif images (mingw-w64)"
arch=(any)
@@ -8,36 +9,49 @@ license=("MIT")
makedepends=(xmlto docbook-xsl mingw-w64-configure)
depends=(mingw-w64-crt)
options=(staticlibs !strip !buildflags)
-source=("http://downloads.sourceforge.net/sourceforge/giflib/${pkgname#mingw-w64-}-${pkgver}.tar.bz2"
-"giflib-5.0.4-include-stddef.patch")
-md5sums=('2c171ced93c0e83bb09e6ccad8e3ba2b'
- 'e39b98822334f2bd2009469e5dea65c5')
+source=("https://downloads.sourceforge.net/project/giflib/${pkgname#mingw-w64-}-${pkgver}.tar.gz"
+ "giflib-5.1.9-fix-missing-quantize-API-symbols.patch"
+ "001-mingw-build.patch"
+ "0001-respect-existence-of-distro-CFLAGS-and-CPPFLAGS.patch")
+sha512sums=('4550e53c21cb1191a4581e363fc9d0610da53f7898ca8320f0d3ef6711e76bdda2609c2df15dc94c45e28bff8de441f1227ec2da7ea827cb3c0405af4faa4736'
+ '5de1e8724f5221fa3637b4e6a482f650f7608673e2c9200233290018ec8a0bf1beea049b3979b5f57dbf2b2a5fda409324e636e9af10582fd01c71d92d4de3b3'
+ '3b5d5937162d9a3c1076cdc58a803a8881b264c65aa8d33e9592c43dc1686724fce280e8b56ed2751a6bf8a5c75ed9d887c31a042bc9e0a15c1697ea0b2fedc9'
+ '2b0eb1a5d1a3ff8270018f7cfbe87d902bca3e2105315c4169f4c7859dd37aac0c34dc27008ee2dc2acaa52375ffda260d5318a5c065b1ba51e7aed9f4ca3356')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
cd giflib-$pkgver
- patch -Np1 -i "$srcdir/giflib-5.0.4-include-stddef.patch"
+ patch -Np1 < ../giflib-5.1.9-fix-missing-quantize-API-symbols.patch
+ patch -Np1 < ../001-mingw-build.patch
+ patch -Np1 < ../0001-respect-existence-of-distro-CFLAGS-and-CPPFLAGS.patch
}
build() {
- cd giflib-${pkgver}
+ export CPPFLAGS="-D_FORTIFY_SOURCE=2"
+ export CFLAGS="-pipe -fno-plt -fexceptions --param=ssp-buffer-size=4"
+ export CXXFLAGS=${CFLAGS}
+ export LDFLAGS="-Wl,-O1,--sort-common,--as-needed"
+
for _arch in ${_architectures}; do
- unset LDFLAGS
- mkdir -p build-${_arch} && pushd build-${_arch}
- ${_arch}-configure
- make bin_PROGRAMS=''
+ [[ -d "build-${_arch}" ]] && rm -rf "build-${_arch}"
+ cp -rf "$srcdir/giflib-${pkgver}" "${srcdir}/build-${_arch}"
+
+ pushd build-${_arch}
+ make CC=${_arch}-gcc CXX=${_arch}-g++ AR=${_arch}-ar
popd
done
}
package() {
for _arch in ${_architectures}; do
- cd "${srcdir}/giflib-${pkgver}/build-${_arch}"
- make DESTDIR="$pkgdir" bin_PROGRAMS='' install
- find "$pkgdir/usr/${_arch}" -name '*.exe' -exec rm {} \;
- find "$pkgdir/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \;
- find "$pkgdir/usr/${_arch}" -name '*.a' -o -name '*.dll' | xargs ${_arch}-strip -g
+ cd "${srcdir}/build-${_arch}"
+ make CC=${_arch}-gcc CXX=${_arch}-g++ AR=${_arch}-ar DESTDIR="${pkgdir}" PREFIX="/usr/${_arch}" install INSTALLABLE="gif2rgb.exe gifbuild.exe giffix.exe giftext.exe giftool.exe gifclrmp.exe"
+ ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
+ ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a
+ ${_arch}-strip --strip-all "$pkgdir"/usr/${_arch}/bin/*.exe
rm -r "$pkgdir/usr/${_arch}/share"
done
}
+
+# vim: ts=2 sw=2 et:
diff --git a/giflib-5.0.4-include-stddef.patch b/giflib-5.0.4-include-stddef.patch
deleted file mode 100644
index d3ea73854f74..000000000000
--- a/giflib-5.0.4-include-stddef.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -rupN a/lib/gif_lib.h b/lib/gif_lib.h
---- a/lib/gif_lib.h 2013-01-06 07:29:57.000000000 +0100
-+++ b/lib/gif_lib.h 2013-07-30 10:52:47.611034000 +0200
-@@ -19,6 +19,7 @@ extern "C" {
- #define GIF_OK 1
-
- #include <stdbool.h>
-+#include <stddef.h>
-
- #define GIF_STAMP "GIFVER" /* First chars in file - GIF stamp. */
- #define GIF_STAMP_LEN sizeof(GIF_STAMP) - 1
diff --git a/giflib-5.1.9-fix-missing-quantize-API-symbols.patch b/giflib-5.1.9-fix-missing-quantize-API-symbols.patch
new file mode 100644
index 000000000000..5948f4546858
--- /dev/null
+++ b/giflib-5.1.9-fix-missing-quantize-API-symbols.patch
@@ -0,0 +1,32 @@
+From ff8d9a59e79b79657e64430730c35835a84db619 Mon Sep 17 00:00:00 2001
+From: anthraxx <levente@leventepolyak.net>
+Date: Tue, 2 Apr 2019 11:46:18 +0200
+Subject: [PATCH] fix missing quantize API symbols
+
+GifQuantizeBuffer is required by many libs and applications
+like mplayer, libgdiplus (mono) and others.
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index e4ded69..17d0a5c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,11 +29,11 @@ LIBPOINT=0
+ LIBVER=$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT)
+
+ SOURCES = dgif_lib.c egif_lib.c gifalloc.c gif_err.c gif_font.c \
+- gif_hash.c openbsd-reallocarray.c
++ gif_hash.c openbsd-reallocarray.c quantize.c
+ HEADERS = gif_hash.h gif_lib.h gif_lib_private.h
+ OBJECTS = $(SOURCES:.c=.o)
+
+-USOURCES = qprintf.c quantize.c getarg.c
++USOURCES = qprintf.c getarg.c
+ UHEADERS = getarg.h
+ UOBJECTS = $(USOURCES:.c=.o)
+
+--
+2.21.0
+