Fontconfig 2.13.96 (#6723)

* Fontconfig: bump

* Synced patch
This commit is contained in:
extrowerk
2022-09-04 11:19:20 +00:00
committed by GitHub
parent 68e3836315
commit c5c70d16d4
2 changed files with 192 additions and 0 deletions

View File

@@ -0,0 +1,145 @@
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="1"
SOURCE_URI="https://www.freedesktop.org/software/fontconfig/release/fontconfig-$portVersion.tar.xz"
CHECKSUM_SHA256="d816a920384aa91bc0ebf20c3b51c59c2153fdf65de0b5564bf9e8473443d637"
PATCHES="fontconfig-$portVersion.patchset"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="?x86_gcc2 x86"
libVersion="1.12.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
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_conflist$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 = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
fontconfig${secondaryArchSuffix}_devel = $portVersion compat >= 2.1
devel:libfontconfig$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
fontconfig$secondaryArchSuffix == $portVersion base
devel:libfreetype$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
"
defineDebugInfoPackage fontconfig$secondaryArchSuffix \
$libDir/libfontconfig.so.$libVersion
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbz2$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:autopoint
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:gperf
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3
"
BUILD()
{
mkdir -p `finddir B_USER_CACHE_DIRECTORY`
autoreconf -vfi
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
}

View File

@@ -0,0 +1,47 @@
From e56bbe61f812fc582e860f199af45613d80928bb Mon Sep 17 00:00:00 2001
From: begasus <begasus@gmail.com>
Date: Mon, 10 Jun 2019 19:04:18 +0200
Subject: Fix for gcc2 and test-bz106632
diff --git a/fc-cache/fc-cache.c b/fc-cache/fc-cache.c
index a99adba..8f5bc00 100644
--- a/fc-cache/fc-cache.c
+++ b/fc-cache/fc-cache.c
@@ -150,6 +150,7 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
FcBool was_valid, was_processed = FcFalse;
int i;
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ FcChar8 *rooted_dir = NULL;
/*
* Now scan all of the directories into separate databases
@@ -172,7 +173,6 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
continue;
}
- FcChar8 *rooted_dir = NULL;
if (sysroot)
{
rooted_dir = FcStrPlus(sysroot, dir);
diff --git a/src/fccfg.c b/src/fccfg.c
index eb174a4..c6f5a93 100644
--- a/src/fccfg.c
+++ b/src/fccfg.c
@@ -2769,11 +2769,12 @@ FcConfigRealFilename (FcConfig *config,
else if (!FcStrIsAbsoluteFilename (buf))
{
FcChar8 *dirname = FcStrDirname (n);
+ FcChar8 *path;
FcStrFree (n);
if (!dirname)
return NULL;
- FcChar8 *path = FcStrBuildFilename (dirname, buf, NULL);
+ path = FcStrBuildFilename (dirname, buf, NULL);
FcStrFree (dirname);
if (!path)
return NULL;
--
2.30.2