# Maintainer: David Runge <dvzrv@archlinux.org>

pkgbase=libtracefs
pkgname=(libtracefs libtracefs-docs)
pkgver=1.8.2
pkgrel=2
pkgdesc="Linux kernel trace file system library"
arch=(x86_64 aarch64)
url="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/about/"
license=(
  GPL-2.0-only
  LGPL-2.1-only
)
makedepends=(
  asciidoc
  libtraceevent
  xmlto
)
source=(
  https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/$pkgname-$pkgver.tar.gz
  $pkgname-1.2.0-docs_makefile.patch
  $pkgname-1.6.1-ldflags.patch
)
sha512sums=('a4437f40b97c700a643e4a232876b44415f91043b474787784e513d18eafa071a07c9b6431185914a97b258ea6ef89bab247e2feead0366144502e7c95b8c9fd'
            'a51e2c2cf488f1b588aeaec1c050faef1243493002b01cff4b21fbae30f009685a14f5e57294cb3d40bf2fea296ced4191d9d2d72f8bb6fa09ad79d83d9f844a'
            '3f83a85aa0be92ff4b1b5e9fe484f84305c149f0b4b7a2785aac25d3af098a2dbaaed72c470e65efe665be3eca4531ad5687f51688bc0ebb6b92f20da20b5d76')
b2sums=('6426d0968b94a28e2281e99d7986effffb9cd6527b0779dc5976e7f85c597697448e773d31ccf80df544ecea7f5726941c367833bd80876dd98a149f1a3a9cdb'
        'ce83fa47f4bc68bd658c7ea33a7474b2c6d74c160e15468f749cad18febf45f8840211d5d1ea0bc6a85e1ba7f1dac2e18f942c5d5526f209bc8c14e6127007fe'
        '2663392d56cf1d811fdc8d117a5455c32c4c5f5a18a8e3aa4ee44df7b350bdd91fd512d4753ca34286ee59c4e7f4b8309bfc62b9711b1a01e60d90de91995418')

_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
}

prepare() {
  patch -d $pkgname-$pkgver -Np 1 -i ../$pkgname-1.2.0-docs_makefile.patch
  patch -d $pkgname-$pkgver -Np 1 -i ../$pkgname-1.6.1-ldflags.patch
}

build() {
  make -C $pkgname-$pkgver
  make sqlhist -C $pkgname-$pkgver
  make doc -C $pkgname-$pkgver
}

package_libtracefs() {
  depends=(
    glibc
    libtraceevent libtraceevent.so
  )
  optdepends=('libtracefs-docs: for documentation')
  provides=(libtracefs.so)

  make libdir_relative=lib prefix=/usr DESTDIR="$pkgdir/" install -C $pkgname-$pkgver
  make libdir_relative=lib prefix=/usr DESTDIR="$pkgdir/" install -C $pkgname-$pkgver/Documentation
  install -vDm 755 $pkgname-$pkgver/bin/sqlhist -t "$pkgdir/usr/bin/"

  (
    cd "$pkgdir"
    _pick libtracefs-docs usr/share/doc
  )
}

package_libtracefs-docs() {
  pkgdesc+=" - documentation"

  mv -v $pkgname/* "$pkgdir"
}
