# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python import os class Recipe(recipe.Recipe): name = 'fontconfig' version = '2.11.1' stype = SourceType.TARBALL url = 'http://www.freedesktop.org/software/fontconfig/release/fontconfig-%(version)s.tar.gz' licenses = [License.MIT] configure_options = '--disable-docs' deps = ['expat', 'freetype', 'zlib', 'bzip2'] autoreconf = True patches = ['fontconfig/0001-Ensure-we-use-our-installed-headers-instead-of-syste.patch', 'fontconfig/0002-Port-to-Android.patch', 'fontconfig/0003-configure-Allow-static-build.patch', 'fontconfig/0001-Do-not-build-tests-on-windows.patch', 'fontconfig/0001-Don-t-use-_mktemp_s-which-is-not-available-in-XP.patch', ] files_libs = ['libfontconfig'] files_etc = [ 'etc/fonts/conf.d', 'etc/fonts/fonts.conf', 'share/fontconfig' ] files_devel = ['lib/pkgconfig/fontconfig.pc', 'include/fontconfig'] autoreconf = True def prepare(self): if self.config.target_platform == Platform.WINDOWS: if self.config.target_arch == Architecture.X86_64: self.configure_options += ' --with-arch=x86_64 ' else: self.configure_options += ' --with-arch=i686 ' def post_install(self): # Create relative symlinks to prevent breakage during packaging if self.config.target_platform != Platform.WINDOWS: confddir = os.path.join(self.config.prefix, 'etc', 'fonts', 'conf.d') linksrc = os.path.join('..', '..', '..', 'share', 'fontconfig', 'conf.avail') for f in os.listdir(confddir): if not f.endswith('.conf'): continue os.remove(os.path.join(confddir, f)) os.symlink(os.path.join(linksrc, f), os.path.join(confddir, f))