# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Renato Silva <br.renatosilva@gmail.com>

_realname=fontconfig
pkgbase=mingw-w64-jellyfin-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-jellyfin-${_realname}"
pkgver=2.17.0
pkgrel=1
pkgdesc="A library for configuring and customizing font access (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://wiki.freedesktop.org/www/Software/fontconfig/"
msys2_repository_url="https://gitlab.freedesktop.org/fontconfig/fontconfig"
license=("custom")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-meson"
             "${MINGW_PACKAGE_PREFIX}-gperf"
             "${MINGW_PACKAGE_PREFIX}-gettext-runtime")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
         "${MINGW_PACKAGE_PREFIX}-jellyfin-freetype"
         "${MINGW_PACKAGE_PREFIX}-jellyfin-libxml2"
         "${MINGW_PACKAGE_PREFIX}-jellyfin-libiconv")
options=('staticlibs' 'strip')
install=${_realname}-${MSYSTEM}.install
source=("https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/${pkgver}/fontconfig-${pkgver}.tar.gz"
        0011-conf-copy-instead-of-symlink.patch)
sha256sums=('741416e1cc5132f5df533a96070453c0e0fdd137de60e0adb684bb52d06f0e05'
            '73ed74a1f4624466084d219e2fbc0d5780da9f63763f1307629251e58cccf2cd')

export MINGW_TOOLCHAIN_PREFIX="${MINGW_PREFIX}"
export FF_MINGW_PREFIX="${MINGW_TOOLCHAIN_PREFIX}/ffbuild"

prepare() {
  cd "${_realname}-${pkgver}"

  patch -p1 -i ${srcdir}/0011-conf-copy-instead-of-symlink.patch
}

build() {
  export PKG_CONFIG_PATH="${FF_MINGW_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}"

  mkdir -p "build-${MSYSTEM}-static" && cd "build-${MSYSTEM}-static"

  MSYS2_ARG_CONV_EXCL="--prefix=" \
    meson setup \
      --default-library=static \
      --prefix="${FF_MINGW_PREFIX}" \
      --wrap-mode=nodownload \
      --auto-features=enabled \
      --buildtype=plain \
      -Dxml-backend=libxml2 \
      -Ddoc-man=disabled \
      -Ddoc-txt=disabled \
      -Ddoc-pdf=disabled \
      -Ddoc-html=disabled \
      -Dcache-build=disabled \
      ../"${_realname}-${pkgver}"

  meson compile
}

package() {
  cd "${srcdir}/build-${MSYSTEM}-static"
  DESTDIR="${pkgdir}" meson install

  install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${FF_MINGW_PREFIX}/share/licenses/${_realname}/COPYING"

  # Also install libintl lib
  cp "${MINGW_TOOLCHAIN_PREFIX}"/lib/libintl.a "${pkgdir}${FF_MINGW_PREFIX}/lib/"

  sed -i "s|${FF_MINGW_PREFIX}/etc$|\${prefix}/etc|g" "${pkgdir}${FF_MINGW_PREFIX}"/lib/pkgconfig/fontconfig.pc
  sed -i "s|${FF_MINGW_PREFIX}/etc/|\${sysconfdir}/|g" "${pkgdir}${FF_MINGW_PREFIX}"/lib/pkgconfig/fontconfig.pc
  sed -i "s|${FF_MINGW_PREFIX}/var|\${prefix}/var|g" "${pkgdir}${FF_MINGW_PREFIX}"/lib/pkgconfig/fontconfig.pc

  # Also statically link to libintl
  sed -s "s|-liconv|-liconv\ -lintl|g" -i "${pkgdir}"${FF_MINGW_PREFIX}/lib/pkgconfig/fontconfig.pc
}
