diff options
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | 0001-respect-existence-of-distro-CFLAGS-and-CPPFLAGS.patch | 43 | ||||
-rw-r--r-- | 001-mingw-build.patch | 57 | ||||
-rw-r--r-- | PKGBUILD | 46 | ||||
-rw-r--r-- | giflib-5.0.4-include-stddef.patch | 11 | ||||
-rw-r--r-- | giflib-5.1.9-fix-missing-quantize-API-symbols.patch | 32 |
6 files changed, 171 insertions, 34 deletions
@@ -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) + @@ -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 + |