jobextra/harfbuzz/PKGBUILD

160 lines
3.9 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=harfbuzz
pkgname=(harfbuzz harfbuzz-cairo harfbuzz-icu harfbuzz-utils) # harfbuzz-docs)
pkgver=8.3.1
pkgrel=01
pkgdesc="OpenType text shaping engine"
url="https://www.freedesktop.org/wiki/Software/HarfBuzz"
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")
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"
## We added this to remove the harfbuzz-docs contents - remove if you are building the next section
rm -rvf hb-docs
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
#}
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(MIT)
b2sums=('a79c8cb843e80cf187d9313b55cd4163996c4989e357b16e3e61749609d8a0bc4366f8f5fdfdbc678658fbb9923d90894bd4d4766924ba5481af3033c4cd2e16')
sha256sums=(SKIP)
## 852fb06a906024edff01e528229b9bb9be8f1e128dc849dcbb96ee5e95dbd9bf harfbuzz-8.3.1-01-x86_64.pkg.tar.lz
## cea937e4eb8b7e2e2131b6db5f5170c64344e81a86021755a32a54d12e07b897 harfbuzz-cairo-8.3.1-01-x86_64.pkg.tar.lz
## fc36095fc38bc0f675b76ef3724530b18fa6b6052d5bee858efcd1c6392a8623 harfbuzz-icu-8.3.1-01-x86_64.pkg.tar.lz
## 3a2fe257fa90d9d12cf094d1c6a2addf8d2fa86846d88ccdcfb3c8122144ff89 harfbuzz-utils-8.3.1-01-x86_64.pkg.tar.lz