harfbuzz: add recipe for version 2.3.1.

This commit is contained in:
Jerome Duval
2019-03-22 19:52:15 +01:00
parent aba51f52d1
commit ea636659a0
2 changed files with 203 additions and 0 deletions

View File

@@ -0,0 +1,139 @@
SUMMARY="An OpenType text shaping engine"
DESCRIPTION="HarfBuzz is an OpenType text shaping engine. It is used to \
layout complex text such as the Indic and Arabic alphabets."
HOMEPAGE="https://www.freedesktop.org/wiki/Software/HarfBuzz/"
COPYRIGHT="2004-2018 Behdad Esfahbod
2000-2005 Owen Taylor
2013, 2015-2017 Khaled Hosny
2010,2011,2012 Google, Inc.
2012 Mozilla Foundation
2011 Codethink Limited
2008,2010 Nokia Corporation and/or its subsidiary(-ies)
2009 Keith Stribley
2009 Martin Hosken and SIL International
2007 Chris Wilson
2005 David Turner
2004,2007,2008,2009,2010 Red Hat, Inc.
1998-2004 David Turner and Werner Lemberg"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$portVersion.tar.bz2"
CHECKSUM_SHA256="f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468"
PATCHES="harfbuzz-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
libVersion="0.20301.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
harfbuzz$secondaryArchSuffix = $portVersion compat >= 0.9
cmd:hb_ot_shape_closure$commandSuffix
cmd:hb_shape$commandSuffix
cmd:hb_subset$commandSuffix
lib:libharfbuzz$secondaryArchSuffix = $libVersionCompat
lib:libharfbuzz_icu$secondaryArchSuffix = $libVersionCompat
lib:libharfbuzz_subset$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgraphite2$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
harfbuzz${secondaryArchSuffix}_devel = $portVersion compat >= 0.9
devel:libharfbuzz$secondaryArchSuffix = $libVersionCompat
devel:libharfbuzz_icu$secondaryArchSuffix = $libVersionCompat
devel:libharfbuzz_subset$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
harfbuzz$secondaryArchSuffix == $portVersion base
devel:libglib_2.0$secondaryArchSuffix
devel:libgraphite2$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbz2$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgraphite2$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python
cmd:ragel$secondaryArchSuffix
cmd:sed
cmd:which
"
defineDebugInfoPackage harfbuzz$secondaryArchSuffix \
"$commandBinDir"/hb-ot-shape-closure \
"$commandBinDir"/hb-shape \
"$commandBinDir"/hb-subset \
"$libDir"/libharfbuzz.so.$libVersion \
"$libDir"/libharfbuzz-icu.so.$libVersion \
"$libDir"/libharfbuzz-subset.so.$libVersion
BUILD()
{
autoreconf -fi
runConfigure --omit-dirs binDir ./configure --bindir="$commandBinDir" \
--with-graphite2=yes --with-icu
make $jobArgs
}
INSTALL()
{
make install
# remove libtool library files
rm -f "$libDir"/libharfbuzz*.la
prepareInstalledDevelLibs \
libharfbuzz \
libharfbuzz-icu \
libharfbuzz-subset \
fixPkgconfig
# devel package
packageEntries devel \
"$dataDir" \
"$developDir" \
"$libDir"/cmake
}
TEST()
{
make check
}

View File

@@ -0,0 +1,64 @@
From cd059ecb349a848e670418a347c5f7c51e041ba4 Mon Sep 17 00:00:00 2001
From: fbrosson <fbrosson@localhost>
Date: Wed, 6 Jun 2018 20:38:08 +0000
Subject: Fix script in the test suite to better filter the output of nm.
src/check-symbols.sh compares the list of symbols in libharfbuzz.so against
a known list, $IGNORED_SYMBOLS, but Haiku has 2 symbols which are missing
in this list: _gSharedObjectHaiku{ABI,Version}.
diff --git a/src/check-symbols.sh b/src/check-symbols.sh
index cea8684..538291e 100755
--- a/src/check-symbols.sh
+++ b/src/check-symbols.sh
@@ -7,7 +7,7 @@ test -z "$srcdir" && srcdir=.
test -z "$libs" && libs=.libs
stat=0
-IGNORED_SYMBOLS='_fini\|_init\|_fdata\|_ftext\|_fbss\|__bss_start\|__bss_start__\|__bss_end__\|_edata\|_end\|_bss_end__\|__end__\|__gcov_flush\|llvm_.*'
+IGNORED_SYMBOLS='_fini\|_init\|_fdata\|_ftext\|_fbss\|__bss_start\|__bss_start__\|__bss_end__\|_edata\|_end\|_bss_end__\|__end__\|__gcov_flush\|_gSharedObjectHaikuABI\|_gSharedObjectHaikuVersion\|llvm_.*'
if which nm 2>/dev/null >/dev/null; then
:
--
2.17.1
From dd78e507d3f667f7aa2027fe719bb11735882e4f Mon Sep 17 00:00:00 2001
From: fbrosson <fbrosson@localhost>
Date: Wed, 6 Jun 2018 20:39:08 +0000
Subject: Patch src/check-libstdc++.sh to use objdump instead of ldd.
diff --git a/src/check-libstdc++.sh b/src/check-libstdc++.sh
index ce0bdab..ccfb420 100755
--- a/src/check-libstdc++.sh
+++ b/src/check-libstdc++.sh
@@ -10,10 +10,15 @@ stat=0
if which ldd 2>/dev/null >/dev/null; then
LDD=ldd
+ GREP_NEEDED=cat
else
# macOS specific tool
if which otool 2>/dev/null >/dev/null; then
LDD="otool -L"
+ GREP_NEEDED=cat
+ elif which objdump 2>/dev/null >/dev/null; then
+ LDD="objdump -x"
+ GREP_NEEDED="grep NEEDED"
else
echo "check-libstdc++.sh: 'ldd' not found; skipping test"
exit 77
@@ -29,7 +34,7 @@ for soname in harfbuzz harfbuzz-gobject; do
if ! test -f "$so"; then continue; fi
echo "Checking that we are not linking to libstdc++ or libc++ in $so"
- if $LDD $so | grep 'libstdc[+][+]\|libc[+][+]'; then
+ if $LDD $so | $GREP_NEEDED | grep 'libstdc[+][+]\|libc[+][+]'; then
echo "Ouch, linked to libstdc++ or libc++"
stat=1
fi
--
2.17.1