[am@mobile freetype]$ cat freetype.recipe # # Copyright (c) 2004-2007 rPath, Inc. # This file is distributed under the terms of the MIT License. # A copy is available at http://www.rpath.com/permanent/mit-license.html # loadSuperClass('rpmpackage') class Freetype(RPMPackageRecipe, AutoPackageRecipe): name = 'freetype' version = '2.3.2' buildRequires = [ 'libX11:devel', 'zlib:devel' ] rpmRelease = '1.fc7' rpmPatches = [ # Enable otvalid and gxvalid modules 'freetype-2.2.1-enable-valid.patch', # Fix multilib conflicts 'freetype-multilib.patch', # Fix crash https://bugs.freedesktop.org/show_bug.cgi?id=6841 'freetype-2.2.1-memcpy-fix.patch', ] # If you have a license from Apple, you can turn this on and rebuild with_bytecode_interp = False with_subpixel_rendering = False if with_bytecode_interp: rpmPatches.append('freetype-2.1.10-enable-ft2-bci.patch') if with_subpixel_rendering: rpmPatches.append('freetype-2.3.0-enable-spr.patch') def unpack(r): r.macros.site = 'mirror://sourceforge/%(name)s' r.addArchive('%(site)s/') r.addArchive('%(site)s/freetype-doc-%(version)s.tar.bz2') r.addArchive('%(site)s/ft2demos-%(version)s.tar.bz2', dir=r.theMainDir) r.addSource('ftconfig-multilib.h') for patch in r.rpmPatches: r.addPatch(patch, rpm=r.srpm) # Add -lm when linking X demos r.addPatch('ft2demos-2.1.9-mathlib.patch', dir='ft2demos-%(version)s', rpm=r.srpm) r.addPatch('http://aur.archlinux.org/packages/freetype2-cleartype/freetype2-cleartype/freetype-2.2.1-subpixel-disable-quantization.diff') def configure(r): r.Configure('--disable-static') def make(r): r.Make() # Make demos r.Make('TOP_DIR=".."', dir='ft2demos-%(version)s') def makeinstall(r): r.MakeInstall() # Install demos demos = ( # X11 'ftgamma', 'ftmulti', 'ftstring', 'fttimer', 'ftview', # Console 'ftbench', 'ftchkwd', 'ftdump', 'ftlint', 'ftmemchk', 'ftvalid', ) for ftdemo in demos: r.Run('builds/unix/libtool --mode=install install -m 755 ' 'ft2demos-%(version)s/bin/'+ftdemo+' %(destdir)s/%(bindir)s/') # Fix multilib issues r.macros.wordsize = '32' if Arch.x86_64: r.macros.wordsize = '64' r.Move('%(includedir)s/freetype2/freetype/config/ftconfig.h', '%(includedir)s/freetype2/freetype/config/ftconfig-%(wordsize)s.h') r.Install('ftconfig-multilib.h', '%(includedir)s/freetype2/freetype/config/ftconfig.h', component='devellib') ------------------------------------------ [am@mobile freetype]$ cat ../libXft/libXft.recipe # # Copyright (c) 2005-2006 rPath, Inc. # This file is distributed under the terms of the MIT License. # A copy is available at http://www.rpath.com/permanent/mit-license.html # loadSuperClass('xorgpackage.recipe') class LibXft(XorgPackageRecipe): name = 'libXft' version = '2.1.12' component = 'lib' buildRequires = [ 'fontconfig:devel', 'freetype:devel', 'libXrender:devel', 'zlib:devel', 'expat:devel' ] def unpack(r): r.addArchive('http://xorg.freedesktop.org/releases/individual/%(component)s/%(name)s-%(version)s.tar.bz2') r.addPatch('http://aur.archlinux.org/packages/libxft-cleartype/libxft-cleartype/libXft-2.1.10-lcd-cleartype.diff') def policy(r): for requirement in ('fontconfig:devel', 'freetype:devel', 'libXrender:devel', 'xproto:devel'): r.Requires(requirement, '%(libdir)s/pkgconfig/xft.pc') ----------------------------------------------------------- [am@mobile freetype]$ cat ../cairo/cairo.recipe # # Copyright (c) 2006-2007 rPath, Inc. # This file is distributed under the terms of the MIT License. # A copy is available at http://www.rpath.com/permanent/mit-license.html # class Cairo(AutoPackageRecipe): name = 'cairo' version = '1.4.0' buildRequires = [ 'fontconfig:devel', 'freetype:devel', 'libpng:devel', 'zlib:devel', 'gcc-c++:runtime', 'libXau:devel', 'libxml2:devel', 'libstdc++:devel', 'pkgconfig:devel', 'libX11:devel', 'libICE:devel','libSM:devel', 'libXdmcp:devel', 'libXrender:devel', 'pkgconfig:devel', 'expat:devel' ] def unpack(r): r.addArchive('http://cairographics.org/releases/') r.addPatch('http://aur.archlinux.org/packages/cairo-cleartype/cairo-cleartype/cairo-1.2.4-lcd-cleartype-like.diff') def configure(r): r.Configure('-enable-xlib=yes -enable-xlib-xrender=yes --enable-svg=yes') [am@mobile freetype]$