packages/harfbuzz/PKGBUILD

185 lines
3.8 KiB
Bash

# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Maintainer: Caleb Maclennan <caleb@alerque.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgbase=harfbuzz
pkgname=(
harfbuzz
harfbuzz-cairo
harfbuzz-icu
harfbuzz-utils
harfbuzz-docs
)
pkgver=10.1.0
pkgrel=1
pkgdesc="OpenType text shaping engine"
url="https://harfbuzz.github.io/"
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
license=(MIT)
depends=(
freetype2
glib2
glibc
graphite
)
makedepends=(
cairo
chafa
git
glib2-devel
gobject-introspection
gtk-doc
icu
meson
python
ragel
)
checkdepends=(
python-fonttools
python-setuptools
)
source=("git+https://github.com/harfbuzz/harfbuzz?signed#tag=$pkgver")
b2sums=('cc92db8557e992bc512cf874bf35978ca90845e55753b9177fb8631d40df395725ee4a6aa4776790c898d1dd0878f4f5cb401975e81686cc39609aca2f00df1f')
validpgpkeys=(
053D20F17CCCA9651B2C6FCB9AB24930C0B997A2 # Khaled Hosny <khaled@aliftype.com> (@khaledhosny)
9F377DDB6D3153A48EB3EB1E63CC496475267693 # Caleb Maclennan <caleb@alerque.com> (@alerque)
2277650A4E8BDFE4B7F6BE419FEE04E5D3531115 # Ebrahim Byagowi <ebrahim@gnu.org> (@ebraminio)
EACF64F53455E2771BA661A4803B21859F015E4E # Behdad Esfahbod <behdad@behdad.org> (@behdad)
)
prepare() {
cd harfbuzz
}
build() {
local meson_options=(
-D cpp_std=c++17
-D graphite2=enabled
)
# Harfbuzz wants no exceptions
CFLAGS="${CFLAGS/-fexceptions/}"
CXXFLAGS="${CXXFLAGS/-fexceptions/}"
arch-meson harfbuzz build "${meson_options[@]}"
meson compile -C build
}
check() {
mkdir -p tmp
TMPDIR="$PWD/tmp" meson test -C build --print-errorlogs
rm -r tmp
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
package_harfbuzz() {
depends+=(
libfreetype.so
libgraphite2.so
libg{lib,object}-2.0.so
)
optdepends=('harfbuzz-utils: utilities')
provides=(libharfbuzz{,-subset,-gobject}.so)
meson install -C build --destdir "$pkgdir"
( cd "$pkgdir"
_pick hb-cairo usr/lib/libharfbuzz-cairo*
_pick hb-cairo usr/lib/pkgconfig/harfbuzz-cairo.pc
_pick hb-cairo usr/include/harfbuzz/hb-cairo.h
_pick hb-icu usr/lib/libharfbuzz-icu*
_pick hb-icu usr/lib/pkgconfig/harfbuzz-icu.pc
_pick hb-icu usr/include/harfbuzz/hb-icu.h
_pick hb-utils usr/bin
_pick hb-docs usr/share/gtk-doc
)
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING
}
package_harfbuzz-cairo() {
pkgdesc+=" - Cairo integration"
depends=(
cairo
freetype2
glib2
glibc
graphite
harfbuzz
libcairo.so
libharfbuzz.so
)
provides=(libharfbuzz-cairo.so)
mv hb-cairo/* "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING
}
package_harfbuzz-icu() {
pkgdesc+=" - ICU integration"
depends=(
glibc
harfbuzz
icu
libharfbuzz.so
libicuuc.so
)
provides=(libharfbuzz-icu.so)
mv hb-icu/* "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING
}
package_harfbuzz-utils() {
pkgdesc+=" - Utilities"
depends=(
cairo
chafa
freetype2
glib2
glibc
harfbuzz
harfbuzz-cairo
libcairo.so
libchafa.so
libfreetype.so
libglib-2.0.so
libgobject-2.0.so
libharfbuzz-cairo.so
libharfbuzz-gobject.so
libharfbuzz-subset.so
libharfbuzz.so
)
mv hb-utils/* "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING
}
package_harfbuzz-docs() {
pkgdesc+=" - Documentation"
depends=()
mv hb-docs/* "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING
}
# vim:set sw=2 sts=-1 et: