auto-import giflib-4.1.3-5 on branch devel from giflib-4.1.3-5.src.rpm

This commit is contained in:
Warren Togami 2005-10-06 19:18:35 +00:00
parent d730cf44cd
commit cf272d3112
4 changed files with 215 additions and 0 deletions

View File

@ -0,0 +1 @@
giflib-4.1.3.tar.bz2

96
giflib-hash64.patch Normal file
View File

@ -0,0 +1,96 @@
--- giflib-4.1.3/lib/gif_hash.c.64 2005-09-20 13:39:32.000000000 -0700
+++ giflib-4.1.3/lib/gif_hash.c 2005-09-20 13:41:40.000000000 -0700
@@ -45,7 +45,7 @@
NumberOfMisses = 0;
#endif /* DEBUG_HIT_RATE */
-static int KeyItem(unsigned long Item);
+static int KeyItem(unsigned int Item);
/******************************************************************************
* Initialize HashTable - allocate the memory needed and clear it. *
@@ -69,17 +69,17 @@
******************************************************************************/
void _ClearHashTable(GifHashTableType *HashTable)
{
- memset(HashTable -> HTable, 0xFF, HT_SIZE * sizeof(long));
+ memset(HashTable -> HTable, 0xFF, HT_SIZE * sizeof(int));
}
/******************************************************************************
* Routine to insert a new Item into the HashTable. The data is assumed to be *
* new one. *
******************************************************************************/
-void _InsertHashTable(GifHashTableType *HashTable, unsigned long Key, int Code)
+void _InsertHashTable(GifHashTableType *HashTable, unsigned int Key, int Code)
{
int HKey = KeyItem(Key);
- unsigned long *HTable = HashTable -> HTable;
+ unsigned int *HTable = HashTable -> HTable;
#ifdef DEBUG_HIT_RATE
NumberOfTests++;
@@ -99,10 +99,10 @@
* Routine to test if given Key exists in HashTable and if so returns its code *
* Returns the Code if key was found, -1 if not. *
******************************************************************************/
-int _ExistsHashTable(GifHashTableType *HashTable, unsigned long Key)
+int _ExistsHashTable(GifHashTableType *HashTable, unsigned int Key)
{
int HKey = KeyItem(Key);
- unsigned long *HTable = HashTable -> HTable, HTKey;
+ unsigned int *HTable = HashTable -> HTable, HTKey;
#ifdef DEBUG_HIT_RATE
NumberOfTests++;
@@ -127,7 +127,7 @@
* Because the average hit ratio is only 2 (2 hash references per entry), *
* evaluating more complex keys (such as twin prime keys) does not worth it! *
******************************************************************************/
-static int KeyItem(unsigned long Item)
+static int KeyItem(unsigned int Item)
{
return ((Item >> 12) ^ Item) & HT_KEY_MASK;
}
--- giflib-4.1.3/lib/gif_hash.h.64 2005-09-20 13:39:42.000000000 -0700
+++ giflib-4.1.3/lib/gif_hash.h 2005-09-20 13:42:08.000000000 -0700
@@ -25,12 +25,12 @@
#define HT_PUT_CODE(l) (l & 0x0FFF)
typedef struct GifHashTableType {
- unsigned long HTable[HT_SIZE];
+ unsigned int HTable[HT_SIZE];
} GifHashTableType;
GifHashTableType *_InitHashTable(void);
void _ClearHashTable(GifHashTableType *HashTable);
-void _InsertHashTable(GifHashTableType *HashTable, unsigned long Key, int Code);
-int _ExistsHashTable(GifHashTableType *HashTable, unsigned long Key);
+void _InsertHashTable(GifHashTableType *HashTable, unsigned int Key, int Code);
+int _ExistsHashTable(GifHashTableType *HashTable, unsigned int Key);
#endif /* _GIF_HASH_H_ */
--- giflib-4.1.3/lib/egif_lib.c.64 2005-09-20 13:45:28.000000000 -0700
+++ giflib-4.1.3/lib/egif_lib.c 2005-09-20 13:43:39.000000000 -0700
@@ -188,6 +188,12 @@
_GifError = E_GIF_ERR_NOT_ENOUGH_MEM;
return NULL;
}
+ if ((Private->HashTable = _InitHashTable()) == NULL) {
+ free(GifFile);
+ free(Private);
+ _GifError = E_GIF_ERR_NOT_ENOUGH_MEM;
+ return NULL;
+ }
GifFile->Private = (VoidPtr) Private;
Private->FileHandle = 0;
@@ -832,7 +838,7 @@
/* Form a new unique key to search hash table for the code combines
* CrntCode as Prefix string with Pixel as postfix char.
*/
- NewKey = (((unsigned long) CrntCode) << 8) + Pixel;
+ NewKey = (((unsigned int) CrntCode) << 8) + Pixel;
if ((NewCode = _ExistsHashTable(HashTable, NewKey)) >= 0) {
/* This Key is already there, or the string is old one, so
* simple take new code as our CrntCode:

117
giflib.spec Normal file
View File

@ -0,0 +1,117 @@
Summary: Library for manipulating GIF format image files
Name: giflib
Version: 4.1.3
Release: 5
License: MIT
URL: http://www.sf.net/projects/libungif/
Source0: http://dl.sf.net/libungif/%{name}-%{version}.tar.bz2
Patch0: giflib-hash64.patch
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: xorg-x11-devel
Obsoletes: libungif <= %{version}-%{release}
Provides: libungif <= %{version}-%{release}
%description
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.
Install the giflib package if you need to write programs that use GIF files.
You should also install the giflib-utils package if you need some simple
utilities to manipulate GIFs.
%package devel
Summary: Development tools for programs which will use the libungif library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Provides: libungif-devel <= %{version}-%{release}
Obsoletes: libungif-devel <= %{version}-%{release}
%description devel
This package contains the static libraries, header files and
documentation necessary for development of programs that will use the
giflib library to load and save GIF format image files.
You should install this package if you need to develop programs which
will use giflib library functions. You'll also need to install the
giflib package.
%package utils
Summary: Programs for manipulating GIF format image files
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Obsoletes: libungif-progs <= %{version}-%{release}
%description utils
The giflib-utils package contains various programs for manipulating
GIF format image files.
Install this package if you need to manipulate GIF format image files.
You'll also need to install the giflib package.
%prep
%setup -q
%patch0 -p1 -b .amd64
%{__sed} -i 's/\r//' doc/lzgif.txt
%build
%configure
make %{?_smp_mflags} all
MAJOR=`echo '%{version}' | sed 's/\([0-9]\+\)\..*/\1/'`
%{__cc} $RPM_OPT_FLAGS -shared -Wl,-soname,libungif.so.$MAJOR -Llib/.libs -lgif -o libungif.so.%{version}
%install
rm -rf ${RPM_BUILD_ROOT}
make install DESTDIR=$RPM_BUILD_ROOT
install -m 0755 -p libungif.so.%{version} $RPM_BUILD_ROOT%{_libdir}
ln -sf libungif.so.%{version} ${RPM_BUILD_ROOT}%{_libdir}/libungif.so.4
ln -sf libungif.so.4 ${RPM_BUILD_ROOT}%{_libdir}/libungif.so
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
%clean
rm -rf ${RPM_BUILD_ROOT}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc COPYING README NEWS ONEWS
%doc ChangeLog TODO BUGS AUTHORS
%{_libdir}/lib*.so.*
%files devel
%defattr(-,root,root,-)
%doc doc/* util/giffiltr.c util/gifspnge.c
%{_libdir}/lib*.a
%{_libdir}/lib*.so
%{_includedir}/*.h
%files utils
%defattr(-,root,root,-)
%{_bindir}/*
%changelog
* Wed Sep 21 2005 Toshio Kuratomi <toshio@tiki-lounge.com> 4.1.3-5
- Merge an option on the empty library link line.
- Obsolete libungif progs package.
- Rename -progs to -utils as FC packages seem to have moved in this direction
for subpackages.
* Tue Sep 20 2005 Toshio Kuratomi <toshio@tiki-lounge.com> 4.1.3-4
- Modify the way we provide libungif compatibility by building an empty
library that requires libgif.
- Remove chmod in install. It doesn't seem to be necessary.
- Add a patch to fix a problem with long being 64 bit on x86_64 but the code
assuming it was 32 bit.
* Mon Sep 19 2005 Toshio Kuratomi <toshio@tiki-lounge.com> 4.1.3-1
- Port package from libungif to giflib.

View File

@ -0,0 +1 @@
22efc9599ccf91d288374dcf0679abf1 giflib-4.1.3.tar.bz2