diff --git a/giflib-visibility.patch b/giflib-visibility.patch new file mode 100644 index 0000000..6bdd494 --- /dev/null +++ b/giflib-visibility.patch @@ -0,0 +1,89 @@ +--- lib/gif_lib_private.h.orig ++++ lib/gif_lib_private.h +@@ -30,6 +30,8 @@ + #define IS_READABLE(Private) (Private->FileState & FILE_STATE_READ) + #define IS_WRITEABLE(Private) (Private->FileState & FILE_STATE_WRITE) + ++#pragma GCC visibility push(hidden) ++ + typedef struct GifFilePrivateType { + GifWord FileState, FileHandle, /* Where all this data goes to! */ + BitsPerPixel, /* Bits per pixel (Codes uses at least this + 1). */ +@@ -55,5 +57,5 @@ typedef struct GifFilePrivateType { + } GifFilePrivateType; + + extern int _GifError; +- ++#pragma GCC visibility pop + #endif /* _GIF_LIB_PRIVATE_H */ +--- lib/getarg.h.orig ++++ lib/getarg.h +@@ -16,6 +16,8 @@ + #define CMD_ERR_NumRead 4 /* Failed on reading number. */ + #define CMD_ERR_AllSatis 5 /* Fail to satisfy (must-'!') option. */ + ++#pragma GCC visibility push(hidden) ++ + #ifdef HAVE_STDARG_H + int GAGetArgs(int argc, char **argv, char *CtrlStr, ...); + #elif defined (HAVE_VARARGS_H) +@@ -25,4 +27,5 @@ int GAGetArgs(int va_alist, ...); + void GAPrintErrMsg(int Error); + void GAPrintHowTo(char *CtrlStr); + ++#pragma GCC visibility pop + #endif /* _GETARG_H */ +--- lib/gif_hash.h.orig ++++ lib/gif_hash.h +@@ -47,6 +47,8 @@ + #define HT_PUT_KEY(l) (l << 12) + #define HT_PUT_CODE(l) (l & 0x0FFF) + ++#pragma GCC visibility push(hidden) ++ + typedef struct GifHashTableType { + UINT32 HTable[HT_SIZE]; + } GifHashTableType; +@@ -56,4 +58,6 @@ void _ClearHashTable(GifHashTableType *H + void _InsertHashTable(GifHashTableType *HashTable, UINT32 Key, int Code); + int _ExistsHashTable(GifHashTableType *HashTable, UINT32 Key); + ++#pragma GCC visibility pop ++ + #endif /* _GIF_HASH_H_ */ +--- Makefile.am.orig ++++ Makefile.am +@@ -1,3 +1,4 @@ ++ACLOCAL_AMFLAGS = -I m4 + SUBDIRS = lib util doc pic + WINDOWS = $(top_srcdir)/windows/GifWin.cpp \ + $(top_srcdir)/windows/GifWin.h \ +--- configure.ac.orig ++++ configure.ac +@@ -3,11 +3,14 @@ AC_INIT(giflib, [4.1.6], [abadger1999@so + AC_CONFIG_SRCDIR([lib/dgif_lib.c]) + AM_INIT_AUTOMAKE([gnu check-news dist-bzip2 -Wall]) + AM_CONFIG_HEADER(config.h) ++AC_CONFIG_MACRO_DIR([m4]) + + dnl Checks for programs. +-AC_PROG_LIBTOOL +-AC_PROG_CC ++AC_PROG_CC_STDC ++AC_USE_SYSTEM_EXTENSIONS ++AC_SYS_LARGEFILE + AC_PROG_CPP ++LT_INIT([pic-only disable-static]) + AC_PROG_INSTALL + AC_PROG_LN_S + AC_PROG_MAKE_SET +--- lib/Makefile.am.orig ++++ lib/Makefile.am +@@ -21,6 +21,6 @@ libgif_la_SOURCES = dev2gif.c \ + quantize.c \ + gif_lib_private.h + +-libgif_la_LDFLAGS = -version-info 5:6:1 ++libgif_la_LDFLAGS = -no-undefined -version-info 5:6:1 + libgif_la_LIBADD = @DEVS@ + libgif_CFLAGS = $(X_CFLAGS) $(AM_CFLAGS) diff --git a/giflib.changes b/giflib.changes index 01f1d9f..3049e1c 100644 --- a/giflib.changes +++ b/giflib.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Oct 10 02:57:31 UTC 2011 - crrodriguez@opensuse.org + +- annotate functions from gif_lib_private.h with visibility + hidden so they are not exported. + +------------------------------------------------------------------- +Sat Oct 1 05:39:13 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to make the spec file more reliable + ------------------------------------------------------------------- Wed Sep 21 10:59:15 UTC 2011 - jengelh@medozas.de diff --git a/giflib.spec b/giflib.spec index 37661a2..6a012d1 100644 --- a/giflib.spec +++ b/giflib.spec @@ -20,15 +20,17 @@ Name: giflib %define lname libgif4 BuildRequires: xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXt-devel +BuildRequires: libtool License: MIT Group: System/Libraries -URL: http://sourceforge.net/projects/libungif +Url: http://sourceforge.net/projects/giflib Version: 4.1.6 Release: 23 Summary: A Library for Working with GIF Images Source: giflib-%{version}.tar.bz2 Source2: baselibs.conf BuildRoot: %{_tmppath}/%{name}-%{version}-build +Patch: giflib-visibility.patch %description This Library allows manipulating GIF Image files. Since the LZW patents @@ -84,6 +86,7 @@ have expired, giflib can again be used instead of libungif. %prep %setup -q +%patch %build # USE __TIMESTAMP__ instead of __DATE__ , __TIME__ @@ -96,7 +99,7 @@ for file in `find util -name "*.c"`; do rm -v $file.stamp done -autoreconf -fiv +mkdir m4;autoreconf -fiv %configure --disable-static --with-pic --x-libraries=%{_libdir} make %{?_smp_mflags} @@ -109,6 +112,7 @@ ln -sf libungif.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libungif.so #ln -sf libgif.a $RPM_BUILD_ROOT%{_libdir}/libungif.a rm -f %{buildroot}%{_libdir}/*.la find doc -name "Makefile*" -print -delete +nm -C -D %{buildroot}%{_libdir}/lib*.so %post -n %lname -p /sbin/ldconfig