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="2010-2022 Google, Inc. 2015-2020 Ebrahim Byagowi 2019,2020 Facebook, Inc. 2012,2015 Mozilla Foundation 2011 Codethink Limited 2008,2010 Nokia Corporation and/or its subsidiary(-ies) 2009 Keith Stribley 2011 Martin Hosken and SIL International 2007 Chris Wilson 2005,2006,2020,2021,2022,2023 Behdad Esfahbod 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. 1998-2005 David Turner and Werner Lemberg 2016 Igalia S.L. 2022 Matthias Clasen 2018,2021 Khaled Hosny 2018,2019,2020 Adobe, Inc 2013-2015 Alexei Podtelezhnikov" LICENSE="MIT" REVISION="1" SOURCE_URI="https://github.com/harfbuzz/harfbuzz/releases/download/$portVersion/harfbuzz-$portVersion.tar.xz" CHECKSUM_SHA256="e7f3b8bac3fdcc529985be8e84fbd65c675ac47ee58512b15a5dd620c79ffe2a" PATCHES="harfbuzz-$portVersion.patchset" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" commandSuffix=$secondaryArchSuffix commandBinDir=$binDir if [ "$targetArchitecture" = x86_gcc2 ]; then commandSuffix= commandBinDir=$prefix/bin fi libVersion="0.61311.0" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" harfbuzz$secondaryArchSuffix = $portVersion compat >= 0.9 lib:libharfbuzz$secondaryArchSuffix = $libVersionCompat lib:libharfbuzz_icu$secondaryArchSuffix = $libVersionCompat lib:libharfbuzz_raster$secondaryArchSuffix = $libVersionCompat lib:libharfbuzz_subset$secondaryArchSuffix = $libVersionCompat lib:libharfbuzz_vector$secondaryArchSuffix = $libVersionCompat " REQUIRES=" haiku$secondaryArchSuffix lib:libfreetype$secondaryArchSuffix lib:libgraphite2$secondaryArchSuffix lib:libicuuc$secondaryArchSuffix lib:libpng16$secondaryArchSuffix lib:libz$secondaryArchSuffix " SUPPLEMENTS=" lib:libfreetype$secondaryArchSuffix " SUMMARY_glib="$SUMMARY (glib)" DESCRIPTION_glib="$DESCRIPTION (glib)" PROVIDES_glib=" harfbuzz${secondaryArchSuffix}_glib = $portVersion compat >= 0.9 lib:libharfbuzz_gobject$secondaryArchSuffix = $libVersionCompat devel:libharfbuzz_gobject$secondaryArchSuffix = $libVersionCompat " REQUIRES_glib=" haiku$secondaryArchSuffix harfbuzz$secondaryArchSuffix == $portVersion lib:libfreetype$secondaryArchSuffix lib:libglib_2.0$secondaryArchSuffix lib:libgobject_2.0$secondaryArchSuffix lib:libgraphite2$secondaryArchSuffix " PROVIDES_devel=" harfbuzz${secondaryArchSuffix}_devel = $portVersion compat >= 0.9 devel:libharfbuzz$secondaryArchSuffix = $libVersionCompat devel:libharfbuzz_icu$secondaryArchSuffix = $libVersionCompat devel:libharfbuzz_raster$secondaryArchSuffix = $libVersionCompat devel:libharfbuzz_subset$secondaryArchSuffix = $libVersionCompat devel:libharfbuzz_vector$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" harfbuzz$secondaryArchSuffix == $portVersion base devel:libfreetype$secondaryArchSuffix devel:libglib_2.0$secondaryArchSuffix devel:libgobject_2.0$secondaryArchSuffix devel:libgraphite2$secondaryArchSuffix devel:libicuuc$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libfreetype$secondaryArchSuffix devel:libgirepository_1.0$secondaryArchSuffix devel:libglib_2.0$secondaryArchSuffix devel:libgraphite2$secondaryArchSuffix devel:libgobject_2.0$secondaryArchSuffix devel:libicuuc$secondaryArchSuffix >= 74 " BUILD_PREREQUIRES=" cmd:cmake cmd:gcc$secondaryArchSuffix cmd:gtkdoc_scan cmd:ld$secondaryArchSuffix cmd:meson >= 0.55.0 cmd:ninja cmd:pkg_config$secondaryArchSuffix cmd:python3 pygments_python310 " defineDebugInfoPackage harfbuzz$secondaryArchSuffix \ "$libDir"/libharfbuzz.so.$libVersion \ "$libDir"/libharfbuzz-icu.so.$libVersion \ "$libDir"/libharfbuzz-subset.so.$libVersion BUILD() { meson \ --buildtype=debugoptimized \ --prefix=$prefix \ --libdir=$libDir \ --includedir=$includeDir \ --mandir=$manDir \ --infodir=$infoDir \ --datadir=$dataDir \ --bindir="$commandBinDir" \ -Dcairo=disabled \ -Dglib=disabled \ -Dicu=enabled \ -Dintrospection=enabled \ -Dgraphite2=enabled \ -Dgobject=enabled \ -Ddocs=enabled \ -Dtests=disabled \ -Dcpp_std=c++17 \ haiku_build ninja -C haiku_build $jobArgs } INSTALL() { ninja -C haiku_build install # remove libtool library files rm -f "$libDir"/libharfbuzz*.la # cleanup mkdir -p $docDir cp -R $prefix/share/* $docDir rm -rf $prefix/share prepareInstalledDevelLibs \ libharfbuzz \ libharfbuzz-gobject \ libharfbuzz-icu \ libharfbuzz-raster \ libharfbuzz-subset \ libharfbuzz-vector \ fixPkgconfig # glib package packageEntries glib \ "$dataDir" \ "$libDir"/girepository-1.0 \ "$libDir"/libharfbuzz-gobject.so* \ "$developLibDir"/pkgconfig/harfbuzz-gobject.pc \ "$developLibDir"/libharfbuzz-gobject.so* # devel package packageEntries devel \ "$documentationDir" \ "$developDir" \ "$libDir"/cmake } TEST() { ninja -C haiku_build test }