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

ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"

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

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.10.1 compat >= 1
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libbz2$secondaryArchSuffix
	lib:libfreetype$secondaryArchSuffix
	lib:libxml2$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"

PROVIDES_devel="
	fontconfig${secondaryArchSuffix}_devel = $portVersion compat >= 2.1
	devel:libfontconfig$secondaryArchSuffix = 1.10.1 compat >= 1
	"
REQUIRES_devel="
	fontconfig$secondaryArchSuffix == $portVersion base
	devel:libfreetype$secondaryArchSuffix
	devel:libxml2$secondaryArchSuffix
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libbz2$secondaryArchSuffix
	devel:libfreetype$secondaryArchSuffix
	devel:libpng$secondaryArchSuffix
	devel:libxml2$secondaryArchSuffix
	devel:libz$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:aclocal
	cmd:autoconf
	cmd:automake
	cmd:gcc$secondaryArchSuffix
	cmd:gperf
	cmd:ld$secondaryArchSuffix
	cmd:libtoolize$secondaryArchSuffix
	cmd:make
	cmd:pkg_config$secondaryArchSuffix
	cmd:python
	"

BUILD()
{
	mkdir -p `finddir B_USER_CACHE_DIRECTORY`
	libtoolize --force --copy --install
	aclocal
	autoconf
	automake --add-missing
	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

	# Make symlinks relative
	for i in $settingsDir/fonts/conf.d/*.conf; do
		ln -f -r -s "`readlink "$i"`" "$i"
	done
}

TEST()
{
	make check
}
