diff --git a/multimedia/graphics/giflib/actions.py b/multimedia/graphics/giflib/actions.py index 5d314875a2..e0c3fb45f6 100644 --- a/multimedia/graphics/giflib/actions.py +++ b/multimedia/graphics/giflib/actions.py @@ -7,21 +7,34 @@ from pisi.actionsapi import autotools from pisi.actionsapi import pisitools from pisi.actionsapi import libtools +from pisi.actionsapi import shelltools from pisi.actionsapi import get -def setup(): - libtools.libtoolize("--force --install") - autotools.autoreconf("-fi") - - autotools.configure("--disable-static") - pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") +def setup(): + shelltools.copytree("../giflib-%s" % (get.srcVERSION().replace("_", "~")), "../giflib-%s-32" % get.srcVERSION()) + #libtools.libtoolize("--force --install") + #autotools.autoreconf("-fi") + + #autotools.configure("--disable-static") + + #pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") def build(): autotools.make("-j1") + shelltools.cd("../giflib-%s-32" % get.srcVERSION()) + shelltools.export("CC", "gcc -m32") + shelltools.export("CXX", "g++ -m32") + autotools.make("-j1") def install(): - autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + autotools.rawInstall("PREFIX=/usr DESTDIR=%s" % get.installDIR()) + shelltools.cd("../giflib-%s-32" % get.srcVERSION()) + autotools.rawInstall("PREFIX=/usr LIBDIR=/usr/lib32 BINDIR=/usr/emul32 DESTDIR=%s" % get.installDIR()) + + pisitools.removeDir("/usr/emul32") + pisitools.remove("/usr/lib/libgif.a") + pisitools.remove("/usr/lib32/libgif.a") pisitools.dohtml("doc/") - pisitools.dodoc("AUTHORS","BUGS","ChangeLog","NEWS","doc/*.txt") + pisitools.dodoc("ChangeLog","NEWS") diff --git a/multimedia/graphics/giflib/files/giflib-5.1.9-fix-missing-quantize-API-symbols.patch b/multimedia/graphics/giflib/files/giflib-5.1.9-fix-missing-quantize-API-symbols.patch new file mode 100644 index 0000000000..5948f45468 --- /dev/null +++ b/multimedia/graphics/giflib/files/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 +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 + diff --git a/multimedia/graphics/giflib/files/giflib-5.1.9-make-flags.patch b/multimedia/graphics/giflib/files/giflib-5.1.9-make-flags.patch new file mode 100644 index 0000000000..f50d58640c --- /dev/null +++ b/multimedia/graphics/giflib/files/giflib-5.1.9-make-flags.patch @@ -0,0 +1,43 @@ +From 788a52c399f4731ac1fb27a49db48626f3e140e1 Mon Sep 17 00:00:00 2001 +From: anthraxx +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 e4ded69..7fef84a 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 +@@ -68,13 +68,13 @@ all: libgif.so libgif.a libutil.so libutil.a $(UTILS) + $(UTILS):: libgif.a libutil.a + + libgif.so: $(OBJECTS) $(HEADERS) +- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(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) ++ $(CC) $(CFLAGS) $(CPPFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libutil.so.$(LIBMAJOR) -o libutil.so $(UOBJECTS) + + libutil.a: $(UOBJECTS) $(UHEADERS) + $(AR) rcs libutil.a $(UOBJECTS) +-- +2.21.0 + diff --git a/multimedia/graphics/giflib/pspec.xml b/multimedia/graphics/giflib/pspec.xml index 78f2f35cc0..a8099dcf9b 100644 --- a/multimedia/graphics/giflib/pspec.xml +++ b/multimedia/graphics/giflib/pspec.xml @@ -12,12 +12,16 @@ library Library to handle, display and manipulate GIF images The giflib package contains a shared library of functions for loading and saving GIF format image files. It is API and ABI compatible with libungif, the library which supported uncompressed GIFs while the Unisys LZW patent was in effect. - mirrors://sourceforge/giflib/giflib-5.1.4.tar.bz2 + mirrors://sourceforge/giflib/giflib-5.2.1.tar.gz + + giflib-5.1.9-fix-missing-quantize-API-symbols.patch + giflib-5.1.9-make-flags.patch + @@ -43,9 +47,9 @@ giflib-32bit - emul32 + 32-bit shared libraries for giflib - emul32 +