SUMMARY="A library for font customization and configuration"
DESCRIPTION="
Fontconfig is a library for font customization and configuration.
"
HOMEPAGE="http://www.freedesktop.org/wiki/Software/fontconfig" 
SOURCE_URI="http://www.freedesktop.org/software/fontconfig/release/fontconfig-$portVersion.tar.bz2"
CHECKSUM_SHA256="dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99"
LICENSE="MIT"
COPYRIGHT="2000-2005, 2006-2007 Keith Packard
	2005 Patrick Lam
	2009 Roozbeh Pournader
	2008-2009 Red Hat, Inc.
	2008 Danilo Segan
	2012 Google, Inc.
	"
REVISION="3"

ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"

PROVIDES="
	fontconfig$secondaryArchSuffix = $portVersion compat >= 2
	cmd:fc_cache$secondaryArchSuffix
	cmd:fc_cat$secondaryArchSuffix
	cmd:fc_list$secondaryArchSuffix
	cmd:fc_match$secondaryArchSuffix
	cmd:fc_pattern$secondaryArchSuffix
	cmd:fc_query$secondaryArchSuffix
	cmd:fc_scan$secondaryArchSuffix
	cmd:fc_validate$secondaryArchSuffix
	lib:libfontconfig$secondaryArchSuffix = 1.8.0 compat >= 1
	"

REQUIRES="
	haiku$secondaryArchSuffix
	lib:libfreetype$secondaryArchSuffix
	lib:libxml2$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	lib:libpng$secondaryArchSuffix
	lib:libbz2$secondaryArchSuffix
	"

BUILD_REQUIRES="
	devel:libfreetype$secondaryArchSuffix
	devel:libxml2$secondaryArchSuffix
	devel:libz$secondaryArchSuffix
	devel:libpng$secondaryArchSuffix
	devel:libbz2$secondaryArchSuffix
	"

BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel
	cmd:libtool
	cmd:aclocal
	cmd:autoconf
	cmd:automake
	cmd:gcc$secondaryArchSuffix
	cmd:gperf
	cmd:ld$secondaryArchSuffix
	cmd:make
	cmd:pkg_config$secondaryArchSuffix
	"

PATCHES="fontconfig-2.11.1.patchset"

GLOBAL_WRITABLE_FILES="
	settings/fonts/conf.d directory keep-old
	settings/fonts/fonts.conf auto-merge
	"

BUILD()
{
	mkdir -p `finddir B_USER_CACHE_DIRECTORY`
	libtoolize --force --copy --install
	aclocal
	autoconf
	automake
	FONTS_DIR=`finddir B_SYSTEM_FONTS_DIRECTORY`
	FONTS_DIR2=`finddir B_SYSTEM_NONPACKAGED_FONTS_DIRECTORY`
	FONTS_DIR3=`finddir B_USER_FONTS_DIRECTORY`
	FONTS_DIR4=`finddir B_USER_NONPACKAGED_FONTS_DIRECTORY`
	CACHE_DIR=`finddir B_USER_CACHE_DIRECTORY`
	runConfigure ./configure \
		--enable-libxml2 \
		--with-default-fonts=${FONTS_DIR} \
		--with-add-fonts=${FONTS_DIR2},${FONTS_DIR3},${FONTS_DIR4} \
		--with-cache-dir=${CACHE_DIR}
	make $jobArgs
}

INSTALL()
{
	make install RUN_FC_CACHE_TEST=false
	
	rm $libDir/*.la
	
	prepareInstalledDevelLibs \
		libfontconfig
	fixPkgconfig
	
	# The pkgconfig file reference other libraries using the wrong paths, which
	# creates a lot of confusion. Fix them so correct paths are used.
	local develPackageName="${portName}_devel-$portFullVersion"
	local packageLinksDir=$(dirname $portPackageLinksDir)
	local linksDir="$packageLinksDir/${develPackageName}/devel~libfreetype$secondaryArchSuffix/$relativeDevelopLibDir"
	sed -i -e "s,^\(Libs.private.*\)-L.* \(-lfreetype.*\)$,\1-L$linksDir \2," \
		$developLibDir/pkgconfig/fontconfig.pc
	linksDir="$packageLinksDir/${develPackageName}/devel~libxml2$secondaryArchSuffix/$relativeDevelopLibDir"
	sed -i -e "s,^\(Libs.private.*-lfreetype.*\) -L.* \(-lxml2.*\)$,\1-L$linksDir \2," \
		$developLibDir/pkgconfig/fontconfig.pc
	linksDir="$packageLinksDir/${develPackageName}/devel~libfreetype$secondaryArchSuffix/$relativeIncludeDir"
	sed -i -e "s,^\(Cflags.*\)-I/packages.*\(/freetype2.*\)$,\1-I$linksDir\2," \
		$developLibDir/pkgconfig/fontconfig.pc
	linksDir="$packageLinksDir/${develPackageName}/devel~libxml2$secondaryArchSuffix/$relativeIncludeDir"
	sed -i -e "s,^\(Cflags.*freetype2.*\)-I/packages.*\(/libxml2.*\)$,\1-I$linksDir\2," \
		$developLibDir/pkgconfig/fontconfig.pc	
	
	packageEntries devel \
		$developDir \
		$manDir \
		$docDir
}

PROVIDES_devel="
	fontconfig${secondaryArchSuffix}_devel = $portVersion compat >= 2.1
	devel:libfontconfig$secondaryArchSuffix = 1.8.0 compat >= 1
	"

REQUIRES_devel="
	fontconfig$secondaryArchSuffix == $portVersion base
	devel:libfreetype$secondaryArchSuffix
	devel:libxml2$secondaryArchSuffix
	"
