Summary: Truetype font rasterizer
Summary(pl): Rasteryzer fontów Truetype
Name: freetype
-Version: 2.0.2
-Release: 2
-License: GPL
+Version: 2.0.4
+Release: 1
+License: GPL or FTL
Group: Libraries
Group(de): Libraries
+Group(es): Bibliotecas
Group(fr): Librairies
Group(pl): Biblioteki
-Source0: ftp://freetype.sourceforge.net/pub/freetype/%{name}2/%{name}-%{version}-test.tar.bz2
+Source0: ftp://freetype.sourceforge.net/pub/freetype/%{name}2/%{name}-%{version}.tar.bz2
+Source1: ftp://freetype.sourceforge.net/pub/freetype/%{name}2/ftdocs-%{version}.tar.bz2
Patch0: %{name}2-DESTDIR.patch
-Patch1: %{name}2-include-nowarn.patch
+Patch1: %{name}2-gsf-segv.patch
URL: http://www.freetype.org/
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Obsoletes: freetype2
Biblioteki statyczne freetype.
%prep
-%setup -q -n freetype-%{version}-test
+%setup -q -b1
%patch0 -p1
%patch1 -p1
%{__make} install \
DESTDIR="$RPM_BUILD_ROOT"
-gzip -9nf LICENSE.TXT
+gzip -9nf docs/{CHANGES,FTL.txt,PATENTS,license.txt,todo,cache.txt}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
-%doc *.gz docs/*.html
+%doc docs/*.gz
%attr(755,root,root) %{_libdir}/lib*so.*.*
%files devel
%defattr(644,root,root,755)
+%doc docs/*.html docs/{design,freetype2,glyphs,reference,tutorial}
%attr(755,root,root) %{_bindir}/*
%attr(755,root,root) %{_libdir}/lib*.so
%attr(755,root,root) %{_libdir}/lib*.la
--- /dev/null
+--- freetype-2.0.4/src/type1/t1load.c.orig Tue Jun 19 10:28:23 2001
++++ freetype-2.0.4/src/type1/t1load.c Sat Jun 30 00:00:25 2001
+@@ -73,7 +73,7 @@
+
+ #include <string.h> /* for strncmp(), strcmp() */
+ #include <ctype.h> /* for isalnum() */
+-
++#include <stdlib.h>
+
+ /*************************************************************************/
+ /* */
+@@ -1116,7 +1116,7 @@
+ for ( n = 0; n < loader->num_subrs; n++ )
+ {
+ FT_Int index, size;
+- FT_Byte* base;
++ FT_Byte* base, *temp;
+
+
+ /* If the next token isn't `dup', we are also done. This */
+@@ -1150,12 +1149,18 @@
+ /* */
+ if ( face->type1.private_dict.lenIV >= 0 )
+ {
+- psaux->t1_decrypt( base, size, 4330 );
++ /* decrypt writes to base - make temporary copy */
++ if ( (temp=malloc( size )) == NULL )
++ return;
++ MEM_Copy( temp, base, size );
++ psaux->t1_decrypt( temp, size, 4330 );
+ size -= face->type1.private_dict.lenIV;
+ base += face->type1.private_dict.lenIV;
++ error = T1_Add_Table( table, index, temp+4, size );
++ free( temp );
+ }
+-
++ else
+ error = T1_Add_Table( table, index, base, size );
+ if ( error )
+ goto Fail;
+ }
+@@ -1179,7 +1183,7 @@
+
+ PSAux_Interface* psaux = (PSAux_Interface*)face->psaux;
+
+- FT_Byte* cur;
++ FT_Byte* cur, *temp;
+ FT_Byte* limit = parser->root.limit;
+ FT_Int n;
+ FT_UInt notdef_index = 0;
+@@ -1282,12 +1286,18 @@
+
+ if ( face->type1.private_dict.lenIV >= 0 )
+ {
+- psaux->t1_decrypt( base, size, 4330 );
++ /* decrypt writes to base - make temporary copy */
++ if ( (temp = malloc( size )) == NULL )
++ return;
++ MEM_Copy( temp, base, size );
++ psaux->t1_decrypt( temp, size, 4330 );
+ size -= face->type1.private_dict.lenIV;
+ base += face->type1.private_dict.lenIV;
++ error = T1_Add_Table( code_table, n, temp+4, size );
++ free( temp );
+ }
+-
++ else
+ error = T1_Add_Table( code_table, n, base, size );
+ if ( error )
+ goto Fail;
+
+++ /dev/null
-diff -Nur freetype-2.0.2-test.orig/builds/unix/ft2unix.h freetype-2.0.2-test/builds/unix/ft2unix.h
---- freetype-2.0.2-test.orig/builds/unix/ft2unix.h Tue Dec 12 23:27:54 2000
-+++ freetype-2.0.2-test/builds/unix/ft2unix.h Tue Mar 27 15:54:43 2001
-@@ -30,11 +30,11 @@
- #ifndef __FT2_BUILD_UNIX_H__
- #define __FT2_BUILD_UNIX_H__
-
--#define FT2_PUBLIC_FILE( x ) <freetype2/freetype/ ## x ## >
--#define FT2_CONFIG_FILE( x ) <freetype2/freetype/config/ ## x ## >
--#define FT2_INTERNAL_FILE( x ) <freetype2/freetype/internal/ ## x ## >
-+#define FT2_H_PUBLIC_FILE( x ) <freetype2/freetype/ ## x ## >
-+#define FT2_H_CONFIG_FILE( x ) <freetype2/freetype/config/ ## x ## >
-+#define FT2_H_INTERNAL_FILE( x ) <freetype2/freetype/internal/ ## x ## >
-
--#include FT2_CONFIG_FILE( ft2build.h )
-+#include FT2_H_CONFIG_FILE( ft2build.h )
-
- #endif /* __FT2_BUILD_UNIX_H__ */
-