# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Maintainer: Carl Smedstad <carsme@archlinux.org>
# Contributor: Mihai Bişog <mihai.bisog@gmail.com>

pkgbase=fmt
pkgname=(
  fmt
  fmt-docs
)
pkgver=12.1.0
pkgrel=2
pkgdesc='Open-source formatting library for C++'
arch=(x86_64 aarch64)
url=https://fmt.dev
license=(MIT)
makedepends=(
  cmake
  doxygen
  git
  mkdocs
  mkdocs-material
  mkdocstrings
  ninja
  npm
  python-pymdown-extensions
  python-regex
)
source=(
  "git+https://github.com/fmtlib/fmt.git#tag=$pkgver"
  "$pkgbase-mkdocstrings-1.0-compat.patch"
)
b2sums=('75eb322bb23e10fc8d698fedf775fa1313e5699ab81a8a1193b7f1ec7e10b4ba92631ffffddeefe0c4390676e8412a684e98717a94bafdb662b25111cc0d8e00'
        '58e9e4733d780c260732d71613910d25cc0ddd8c4efc95a27e4f81405687c3a7c465f6bc68a1e345a1c6d843c7db16cf41f9065ad5adb3b59ffa6ef04c974a7e')

prepare() {
  patch -d $pkgbase -Np1 < $pkgbase-mkdocstrings-1.0-compat.patch
}

build() {
  cmake -S $pkgbase -B build -G Ninja \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -Wno-dev \
    -DBUILD_SHARED_LIBS=ON
  cmake --build build
  cmake --build build --target doc
}

check() {
  ctest --test-dir build --output-on-failure
}

package_fmt() {
  depends=(
    glibc
    libgcc
    libstdc++
  )
  provides=(libfmt.so)

  DESTDIR="$pkgdir" cmake --install build --component fmt_core
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" fmt/LICENSE
}

package_fmt-docs() {
  pkgdesc+=' (documentation)'

  DESTDIR="$pkgdir" cmake --install build --component fmt_doc
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" fmt/LICENSE
}
