# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: John Proctor <jproctor@prium.net>

pkgbase=libxml2
pkgname=(
  libxml2
  libxml2-docs
)
pkgver=2.15.2
pkgrel=1
pkgdesc="XML C parser and toolkit"
url="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
arch=(x86_64 aarch64)
license=(MIT)
depends=(
  bash
  glibc
  icu
  readline
  zlib
)
makedepends=(
  docbook-xsl
  doxygen
  git
  meson
  python
)
source=(
  "git+https://gitlab.gnome.org/GNOME/libxml2.git#tag=v$pkgver"
  https://www.w3.org/XML/Test/xmlts20130923.tar.gz
  0001-catalog-Free-xmlCatalogResolveCache-on-cleanup.patch
)
b2sums=('8863dbf18824aadef5fe0546e3a2d4781adaca5b1dd115f10fc8502e8ba3abaac7edd1b4fb14e9af7ce3163bc4d33c7c1df1e1cfac74318396dd9812bc4c38da'
        '63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be'
        '818b80be4caa4c1df6c731976389a69e6e763f6c4df79b642857d8f6cf7913cff3a6daa412e35ddd77dd310452d053e41d5249920b4f8f6f81ec48abd9ad03ab')

prepare() {
  cd libxml2

  # Fix tests
  git apply -3 ../0001-catalog-Free-xmlCatalogResolveCache-on-cleanup.patch

  # Use xmlconf from conformance test suite
  ln -s ../xmlconf
}

build() {
  local meson_options=(
    -D icu=enabled
    -D legacy=enabled
  )

  arch-meson libxml2 build "${meson_options[@]}"
  meson compile -C build
}

check() {
  meson test -C build --print-errorlogs
}

package_libxml2() {
  depends+=(libicuuc.so)
  optdepends=('python: Python bindings')
  provides=(libxml2.so)

  meson install -C build --destdir "$pkgdir"
  install -Dm644 libxml2/libxml.m4 -t "$pkgdir/usr/share/aclocal"

  # Split docs
  mkdir -p doc/usr/share
  mv "$pkgdir"/usr/share/doc -t doc/usr/share

  install -Dm644 libxml2/Copyright -t "$pkgdir/usr/share/licenses/$pkgname"
}

package_libxml2-docs() {
  pkgdesc+=" (documentation)"
  depends=()

  mv doc/* "$pkgdir"

  install -Dm644 libxml2/Copyright -t "$pkgdir/usr/share/licenses/$pkgname"
}

# vim:set sw=2 sts=-1 et:
