# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>

pkgbase=gdk-pixbuf2
pkgname=(
  gdk-pixbuf2
  gdk-pixbuf2-docs
)
pkgver=2.44.6
pkgrel=2
pkgdesc="An image loading library"
url="https://gitlab.gnome.org/GNOME/gdk-pixbuf"
arch=(x86_64 aarch64)
license=(LGPL-2.0-or-later)
depends=(
  glib2
  glibc
  glycin
  shared-mime-info
)
makedepends=(
  gi-docgen
  git
  glib2-devel
  gobject-introspection
  meson
  python-docutils
)
source=(
  "git+https://gitlab.gnome.org/GNOME/gdk-pixbuf.git#tag=$pkgver"
  gdk-pixbuf-query-loaders.hook
)
b2sums=('e24fa06f587e81a4b5f5a265a1e449ab0c8d0ae75296cba1bfb8359ae72e3148b16c8b94767ae4ab20dd4017559e18133e43084a63557fa2af7f9deafec6cc28'
        '5a00d34888e207d70d02369015d029f4c0450fc5a02b4b257de8e5df04380dc550723f351433859224c96c3c6390896f2166673af65e8a09eb57024f5a34301b')

prepare() {
  cd gdk-pixbuf

  # Unbreak gdk_pixbuf_new_from_xpm_data
  # https://gitlab.archlinux.org/archlinux/packaging/packages/gdk-pixbuf2/-/work_items/13
  git cherry-pick -n 62b8f9fd0bb3b862823cd34afce4b389fbd27569
}

build() {
  local meson_options=(
    -D android=disabled
    -D builtin_loaders=all
    -D documentation=true
    -D gif=disabled
    -D glycin=enabled
    -D gtk_doc=true
    -D installed_tests=false
    -D introspection=enabled
    -D jpeg=disabled
    -D legacy_xpm=enabled
    -D man=true
    -D others=enabled
    -D png=disabled
    -D thumbnailer=disabled
    -D tiff=disabled
  )

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

package_gdk-pixbuf2() {
  optdepends=(
    "libheif: Load .avif, .heic and .heif"
    "libopenraw: Load .arw, .cr2, .crw, .dng, .erf, .mrw, .nef, .orf, .pef and .raf"
    "libwmf: Load .apm and .wmf"
  )
  provides=(libgdk_pixbuf-2.0.so)
  install=gdk-pixbuf2.install

  meson install -C build --destdir "$pkgdir"

  mkdir -p doc/usr/share
  mv {"$pkgdir",doc}/usr/share/doc

  install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook
}

package_gdk-pixbuf2-docs() {
  pkgdesc+=" (documentation)"
  depends=()

  mv doc/* "$pkgdir"
}

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