auto-import giflib-4.1.3-5 on branch devel from giflib-4.1.3-5.src.rpm
This commit is contained in:
parent
d730cf44cd
commit
cf272d3112
@ -0,0 +1 @@
|
||||
giflib-4.1.3.tar.bz2
|
96
giflib-hash64.patch
Normal file
96
giflib-hash64.patch
Normal 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
117
giflib.spec
Normal 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.
|
Loading…
Reference in New Issue
Block a user