164 lines
3.2 KiB
Plaintext
164 lines
3.2 KiB
Plaintext
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
|
# Contributor: Jan de Groot <jgc@archlinux.org>
|
|
|
|
pkgbase=harfbuzz
|
|
pkgname=(
|
|
harfbuzz
|
|
harfbuzz-cairo
|
|
harfbuzz-icu
|
|
harfbuzz-utils
|
|
harfbuzz-docs
|
|
)
|
|
pkgver=8.3.1
|
|
pkgrel=1
|
|
pkgdesc="OpenType text shaping engine"
|
|
url="https://www.freedesktop.org/wiki/Software/HarfBuzz"
|
|
arch=(x86_64)
|
|
license=(MIT)
|
|
makedepends=(
|
|
cairo
|
|
chafa
|
|
freetype2
|
|
git
|
|
glib2
|
|
gobject-introspection
|
|
graphite
|
|
gtk-doc
|
|
icu
|
|
meson
|
|
python
|
|
ragel
|
|
)
|
|
checkdepends=(
|
|
python-fonttools
|
|
python-setuptools
|
|
)
|
|
_commit=2b3631a866b3077d9d675caa4ec9010b342b5a7c # tags/8.3.1^0
|
|
source=("git+https://github.com/harfbuzz/harfbuzz#commit=$_commit")
|
|
b2sums=('a79c8cb843e80cf187d9313b55cd4163996c4989e357b16e3e61749609d8a0bc4366f8f5fdfdbc678658fbb9923d90894bd4d4766924ba5481af3033c4cd2e16')
|
|
|
|
pkgver() {
|
|
cd harfbuzz
|
|
git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
|
|
}
|
|
|
|
prepare() {
|
|
cd harfbuzz
|
|
}
|
|
|
|
build() {
|
|
local meson_options=(
|
|
-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=(
|
|
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=(
|
|
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=(
|
|
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:
|