mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
145
media-libs/fontconfig/fontconfig-2.13.96.recipe
Normal file
145
media-libs/fontconfig/fontconfig-2.13.96.recipe
Normal 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
|
||||
}
|
||||
47
media-libs/fontconfig/patches/fontconfig-2.13.96.patchset
Normal file
47
media-libs/fontconfig/patches/fontconfig-2.13.96.patchset
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user