# Disables freetype 1 and 2 bytecode interpreter. Setting to 0 enables # the bytecode interpreter in both freetype 1 and 2. %define without_bytecode_interpreter 1 %define with_freetype1 1 %define ft1 freetype-pre1.4 %{!?with_xfree86:%define with_xfree86 1} Summary: A free and portable TrueType font rendering engine. Name: freetype Version: 2.1.7 Release: 1 License: BSD/GPL dual license Group: System Environment/Libraries URL: http://www.freetype.org Source: freetype-%{version}.tar.bz2 Source1: ftdocs-%{version}.tar.bz2 Source2: ft2demos-%{version}.tar.bz2 Source3: %{ft1}.tar.bz2 # Fix build of freetype-1.4 with gcc 3.3 Patch3: freetype-1.4-ac25.patch Patch4: freetype-1.4-gcc33.patch Patch20: freetype-2.1.3-enable-ft2-bci.patch Patch21: freetype-1.4-disable-ft1-bci.patch Buildroot: %{_tmppath}/%{name}-%{version}-root BuildRequires: automake14 autoconf >= 2.59 libtool symlinks %description The FreeType engine is a free and portable TrueType font rendering engine, developed to provide TrueType support for a variety of platforms and environments. FreeType is a library which can open and manages font files as well as efficiently load, hint and render individual glyphs. FreeType is not a font server or a complete text-rendering library. %if %{with_freetype1} %package utils Summary: A collection of FreeType utilities. Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description utils The FreeType engine is a free and portable TrueType font rendering engine, developed to provide TrueType support for a variety of platforms and environments. FreeType is a library which can open and manages font files as well as efficiently load, hint and render individual glyphs. FreeType is not a font server or a complete text-rendering library. %endif %package demos Summary: A collection of FreeType demos. Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description demos The FreeType engine is a free and portable TrueType font rendering engine, developed to provide TrueType support for a variety of platforms and environments. FreeType is a library which can open and manages font files as well as efficiently load, hint and render individual glyphs. FreeType is not a font server or a complete text-rendering library. %package devel Summary: FreeType development libraries and header files Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel The FreeType engine is a free and portable TrueType font rendering engine, developed to provide TrueType support for a variety of platforms and environments. FreeType is a library which can open and manages font files as well as efficiently load, hint and render individual glyphs. FreeType is not a font server or a complete text-rendering library. %prep %setup -q -b 1 -a 2 -a 3 %if %{with_freetype1} pushd %{ft1} %patch3 -p1 -b .ac25 %patch4 -p1 -b .gcc33 %if %{without_bytecode_interpreter} %patch21 -p1 -b .disable-ft1-bci %endif popd %endif %if ! %{without_bytecode_interpreter} %patch20 -p0 -b .enable-ft2-bci %endif # Need to update libtool to get deplibs right for x86_64 pushd builds/unix libtoolize --force aclocal-1.4 autoconf popd pushd %{ft1} libtoolize --force aclocal-1.4 autoconf popd %build # Build Freetype 2 { export CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" %configure make %{?_smp_mflags} } %if %{with_freetype1} # Build Freetype 1.4 { pushd %{ft1} %configure --disable-debug --enable-static --enable-shared \ --with-locale-dir=%{_datadir}/locale make X11_LIB=/usr/X11R6/%{_lib} # Absolute symlinks in the debug output break debuginfo, # so use 'symlinks' to relativize and shorten; takes # two passes because 'symlinks' is stupid. symlinks -r -c . > /dev/null symlinks -r -s -c . > /dev/null popd } %endif %if %{with_xfree86} # Build freetype 2 demos { pushd ft2demos-%{version} make X11_LIB=/usr/X11R6/%{_lib} X11_PATH="/usr/X11R6" TOP_DIR=".." popd } %endif %install rm -rf $RPM_BUILD_ROOT # Install Freetype 2 %makeinstall gnulocaledir=$RPM_BUILD_ROOT%{_datadir}/locale %if %{with_freetype1} # Install Freetype 1 { pushd %{ft1} %makeinstall gnulocaledir=$RPM_BUILD_ROOT%{_datadir}/locale libtool --finish $RPM_BUILD_ROOT%{_libdir} popd } %endif %if %{with_freetype1} mkdir -p $RPM_BUILD_ROOT/%{_includedir}/freetype1 mv $RPM_BUILD_ROOT/%{_includedir}/freetype $RPM_BUILD_ROOT/%{_includedir}/freetype1 %endif %if %{with_xfree86} # Install freetype 2 demos { for ftdemo in ftdump ftlint ftmemchk ftmulti ftstring fttimer ftview ;do libtool install -m 755 ft2demos-%{version}/bin/$ftdemo $RPM_BUILD_ROOT/%{_bindir} done } %endif %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT %triggerpostun -- freetype < 2.0.5-3 { # ttmkfdir updated - as of 2.0.5-3, on upgrades we need xfs to regenerate # things to get the iso10646-1 encoding listed. for I in %{_datadir}/fonts/*/TrueType /usr/X11R6/lib/X11/fonts/TrueType; do [ -d $I ] && [ -f $I/fonts.scale ] && [ -f $I/fonts.dir ] && touch $I/fonts.scale done exit 0 } %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files -f %{name}.lang %defattr(-,root,root) %{_libdir}/libfreetype.so.* %doc ChangeLog README %if %{with_freetype1} %{_libdir}/libttf.so.* %doc %{ft1}/README %{ft1}/announce docs %endif %if %{with_freetype1} %files utils %defattr(-,root,root) # 2.0.4 version included in demos package now #%{_bindir}/ftdump # 2.0.4 version included in demos package now #%{_bindir}/ftlint %{_bindir}/fterror %{_bindir}/ftmetric %{_bindir}/ftsbit %{_bindir}/ftstrpnm %endif %files demos %defattr(-,root,root) %{_bindir}/ftdump %{_bindir}/ftlint %if %{with_xfree86} %{_bindir}/ftmemchk %{_bindir}/ftmulti %{_bindir}/ftstring %{_bindir}/fttimer %{_bindir}/ftview %endif %files devel %defattr(-,root,root) %if %{with_freetype1} %dir %{_includedir}/freetype1 %{_includedir}/freetype1/* %endif %dir %{_includedir}/freetype2 %{_datadir}/aclocal/freetype2.m4 %{_includedir}/freetype2/* %{_includedir}/*.h %if %{with_freetype1} %{_libdir}/libttf.a %{_libdir}/libttf.la %{_libdir}/libttf.so %endif %{_libdir}/libfreetype.a %{_libdir}/libfreetype.la %{_libdir}/libfreetype.so %{_bindir}/freetype-config %{_libdir}/pkgconfig/ %changelog * Fri Jan 23 2004 Owen Taylor 2.1.7-1 - Upgrade to 2.1.7 * Tue Sep 23 2003 Florian La Roche - allow compiling without the demos as that requires XFree86 (this allows bootstrapping XFree86 on new archs) * Fri Aug 8 2003 Elliot Lee 2.1.4-4.1 - Rebuilt * Tue Jul 8 2003 Owen Taylor 2.1.4-4.0 - Bump for rebuild * Wed Jun 25 2003 Owen Taylor 2.1.4-3 - Fix crash with non-format-0 hdmx tables (found by David Woodhouse) * Mon Jun 9 2003 Owen Taylor 2.1.4-1 - Version 2.1.4 - Relibtoolize to get deplibs right for x86_64 - Use autoconf-2.5x for freetype-1.4 to fix libtool-1.5 compat problem (#91781) - Relativize absolute symlinks to fix the -debuginfo package (#83521, Mike Harris) * Wed Jun 04 2003 Elliot Lee - rebuilt * Thu May 22 2003 Jeremy Katz 2.1.3-9 - fix build with gcc 3.3 * Tue Feb 25 2003 Owen Taylor - Add a memleak fix for the gzip backend from Federic Crozat * Thu Feb 13 2003 Elliot Lee 2.1.3-7 - Run libtoolize/aclocal/autoconf so that libtool knows to generate shared libraries on ppc64. - Use _smp_mflags (for freetype 2.x only) * Tue Feb 4 2003 Owen Taylor - Switch to using %%configure (should fix #82330) * Wed Jan 22 2003 Tim Powers - rebuilt * Mon Jan 6 2003 Owen Taylor 2.1.3-4 - Make FreeType robust against corrupt fonts with recursive composite glyphs (#74782, James Antill) * Thu Jan 2 2003 Owen Taylor 2.1.3-3 - Add a patch to implement FT_LOAD_TARGET_LIGHT - Fix up freetype-1.4-libtool.patch * Sat Dec 12 2002 Mike A. Harris 2.1.3-2 - Update to freetype 2.1.3 - Removed ttmkfdir sources and patches, as they have been moved from the freetype packaging to XFree86 packaging, and now to the ttmkfdir package - Removed patches that are now included in 2.1.3: freetype-2.1.1-primaryhints.patch, freetype-2.1.2-slighthint.patch, freetype-2.1.2-bluefuzz.patch, freetype-2.1.2-stdw.patch, freetype-2.1.2-transform.patch, freetype-2.1.2-autohint.patch, freetype-2.1.2-leftright.patch - Conditionalized inclusion of freetype 1.4 library. * Wed Dec 04 2002 Florian La Roche - disable perl, it is not used at all * Tue Dec 03 2002 Elliot Lee 2.1.2-11 - Instead of removing unpackaged file, include it in the package. * Sat Nov 30 2002 Mike A. Harris 2.1.2-10 - Attempted to fix lib64 issue in freetype-demos build with X11_LINKLIBS - Cleaned up various _foodir macros throughtout specfile - Removed with_ttmkfdir build option as it is way obsolete * Fri Nov 29 2002 Tim Powers 2.1.2-8 - remove unpackaged files from the buildroot * Wed Aug 28 2002 Owen Taylor - Fix a bug with PCF metrics * Fri Aug 9 2002 Owen Taylor - Backport autohinter improvements from CVS * Tue Jul 23 2002 Owen Taylor - Fix from CVS for transformations (#68964) * Tue Jul 9 2002 Owen Taylor - Add another bugfix for the postscript hinter * Mon Jul 8 2002 Owen Taylor - Add support for BlueFuzz private dict value, fixing rendering glitch for Luxi Mono. * Wed Jul 3 2002 Owen Taylor - Add an experimental FT_Set_Hint_Flags() call * Mon Jul 1 2002 Owen Taylor - Update to 2.1.2 - Add a patch fixing freetype PS hinter bug * Fri Jun 21 2002 Mike A. Harris 2.1.1-2 - Added ft rpm build time conditionalizations upon user requests * Tue Jun 11 2002 Owen Taylor 2.1.1-1 - Version 2.1.1 * Mon Jun 10 2002 Owen Taylor - Add a fix for PCF character maps * Sun May 26 2002 Tim Powers - automated rebuild * Fri May 17 2002 Mike A. Harris 2.1.0-2 - Updated freetype to version 2.1.0 - Added libtool fix for freetype 1.4 (#64631) * Wed Mar 27 2002 Nalin Dahyabhai 2.0.9-2 - use "libtool install" instead of "install" to install some binaries (#62005) * Mon Mar 11 2002 Mike A. Harris 2.0.9-1 - Updated to freetype 2.0.9 * Sun Feb 24 2002 Mike A. Harris 2.0.8-4 - Added proper docs+demos source for 2.0.8. * Sat Feb 23 2002 Mike A. Harris 2.0.8-3 - Added compat patch so 2.x works more like 1.x - Rebuilt with new build toolchain * Fri Feb 22 2002 Mike A. Harris 2.0.8-2 - Updated to freetype 2.0.8, however docs and demos are stuck at 2.0.7 on the freetype website. Munged specfile to deal with the problem by using {oldversion} instead of version where appropriate. * Sat Feb 2 2002 Tim Powers 2.0.6-3 - bumping release so that we don't collide with another build of freetype, make sure to change the release requirement in the XFree86 package * Fri Feb 1 2002 Mike A. Harris 2.0.6-2 - Made ttmkfdir inclusion conditional, and set up a define to include ttmkfdir in RHL 7.x builds, since ttmkfdir is now moving to the new XFree86-font-utils package. * Wed Jan 16 2002 Mike A. Harris 2.0.6-1 - Updated freetype to version 2.0.6 * Wed Jan 09 2002 Tim Powers 2.0.5-4 - automated rebuild * Fri Nov 30 2001 Elliot Lee 2.0.5-3 - Fix bug #56901 (ttmkfdir needed to list Unicode encoding when generating font list). (ttmkfdir-iso10646.patch) - Use _smp_mflags macro everywhere relevant. (freetype-pre1.4-make.patch) - Undo fix for #24253, assume compiler was fixed. * Mon Nov 12 2001 Bernhard Rosenkraenzer 2.0.5-2 - Fix build with gcc 3.1 (#56079) * Sun Nov 11 2001 Mike A. Harris 2.0.5-1 - Updated freetype to version 2.0.5 * Sat Sep 22 2001 Mike A. Harris 2.0.4-2 - Added new subpackage freetype-demos, added demos to build - Disabled ftdump, ftlint in utils package favoring the newer utils in demos package. * Tue Sep 11 2001 Mike A. Harris 2.0.4-1 - Updated source to 2.0.4 - Added freetype demo's back into src.rpm, but not building yet. * Wed Aug 15 2001 Mike A. Harris 2.0.3-7 - Changed package to use {findlang} macro to fix bug (#50676) * Sun Jul 15 2001 Mike A. Harris 2.0.3-6 - Changed freetype-devel to group Development/Libraries (#47625) * Mon Jul 9 2001 Bernhard Rosenkraenzer 2.0.3-5 - Fix up FT1 headers to please Qt 3.0.0 beta 2 * Sun Jun 24 2001 Bernhard Rosenkraenzer 2.0.3-4 - Add ft2build.h to -devel package, since it's included by all other freetype headers, the package is useless without it * Thu Jun 21 2001 Nalin Dahyabhai 2.0.3-3 - Change "Requires: freetype = name/ver" to "freetype = version/release", and move the requirements to the subpackages. * Mon Jun 18 2001 Mike A. Harris 2.0.3-2 - Added "Requires: freetype = name/ver" * Tue Jun 12 2001 Mike A. Harris 2.0.3-1 - Updated to Freetype 2.0.3, minor specfile tweaks. - Freetype2 docs are is in a separate tarball now. Integrated it. - Built in new environment. * Fri Apr 27 2001 Bill Nottingham - rebuild for C++ exception handling on ia64 * Sat Jan 20 2001 Bernhard Rosenkraenzer - Build ttmkfdir with -O0, workaround for Bug #24253 * Fri Jan 19 2001 Nalin Dahyabhai - libtool is used to build libttf, so use libtool to link ttmkfdir with it - fixup a paths for a couple of missing docs * Thu Jan 11 2001 Bernhard Rosenkraenzer - Update ttmkfdir * Wed Dec 27 2000 Bernhard Rosenkraenzer - Update to 2.0.1 and 1.4 - Mark locale files as such * Wed Jul 12 2000 Prospector - automatic rebuild * Mon Jun 12 2000 Preston Brown - move .la file to devel pkg - FHS paths * Thu Feb 17 2000 Preston Brown - revert spaces patch, fix up some foundry names to match X ones * Mon Feb 07 2000 Nalin Dahyabhai - add defattr, ftmetric, ftsbit, ftstrtto per bug #9174 * Wed Feb 02 2000 Cristian Gafton - fix description and summary * Wed Jan 12 2000 Preston Brown - make ttmkfdir replace spaces in family names with underscores (#7613) * Tue Jan 11 2000 Bernhard Rosenkraenzer - 1.3.1 - handle RPM_OPT_FLAGS * Wed Nov 10 1999 Preston Brown - fix a path for ttmkfdir Makefile * Thu Aug 19 1999 Preston Brown - newer ttmkfdir that works better, moved ttmkfdir to /usr/bin from /usr/sbin - freetype utilities moved to subpkg, X dependency removed from main pkg - libttf.so symlink moved to devel pkg * Mon Mar 22 1999 Preston Brown - strip binaries * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 5) * Thu Mar 18 1999 Cristian Gafton - fixed the %doc file list * Wed Feb 24 1999 Preston Brown - Injected new description and group. * Mon Feb 15 1999 Preston Brown - added ttmkfdir * Tue Feb 02 1999 Preston Brown - update to 1.2 * Thu Jan 07 1999 Cristian Gafton - call libtoolize to sanitize config.sub and get ARM support - dispoze of the patch (not necessary anymore) * Wed Oct 21 1998 Preston Brown - post/postun sections for ldconfig action. * Tue Oct 20 1998 Preston Brown - initial RPM, includes normal and development packages.