mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
harfbuzz: add recipe for version 2.3.1.
This commit is contained in:
139
media-libs/harfbuzz/harfbuzz-2.3.1.recipe
Normal file
139
media-libs/harfbuzz/harfbuzz-2.3.1.recipe
Normal 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
|
||||
}
|
||||
64
media-libs/harfbuzz/patches/harfbuzz-2.3.1.patchset
Normal file
64
media-libs/harfbuzz/patches/harfbuzz-2.3.1.patchset
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user