jobextra/harfbuzz/PKGBUILD

158 lines
3.8 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.0
pkgrel=02
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=894a1f72ee93a1fd8dc1d9218cb3fd8f048be29a # tags/8.3.0^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)
sha256sums=(SKIP)
## 77407c71f99bd119273cb50de35340b2c2b2bd18be533d082aa0bf6db023266c harfbuzz-8.3.0-02-x86_64.pkg.tar.lz
## 511c9e445720d10a2b70cf569ef492a172efab08eefe023df1f9779a894109cb harfbuzz-cairo-8.3.0-02-x86_64.pkg.tar.lz
## 5af7759b0a204813dcdeab5bca7126e2dc160a854e7b7393dfb6879c98770e87 harfbuzz-icu-8.3.0-02-x86_64.pkg.tar.lz
## 41f6378b9589bf3c347f590b209b7c01fd461edfec1d9ff0cc1104563c536588 harfbuzz-utils-8.3.0-02-x86_64.pkg.tar.lz