# Maintainer: Peter Budai <peterbudai at hotmail dot com>

_realname=libgd
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.2.5
pkgrel=1
pkgdesc="GD is an open source code library for the dynamic creation of images by programmers. (mingw-w64)"
arch=('any')
url="https://libgd.github.io/"
license=("GPLv2+")
depends=("${MINGW_PACKAGE_PREFIX}-libpng"
         "${MINGW_PACKAGE_PREFIX}-libiconv"
         "${MINGW_PACKAGE_PREFIX}-libjpeg"
         "${MINGW_PACKAGE_PREFIX}-libtiff"
         "${MINGW_PACKAGE_PREFIX}-freetype"
         "${MINGW_PACKAGE_PREFIX}-fontconfig"
         "${MINGW_PACKAGE_PREFIX}-libimagequant"
         "${MINGW_PACKAGE_PREFIX}-libwebp"
         "${MINGW_PACKAGE_PREFIX}-xpm-nox"
         "${MINGW_PACKAGE_PREFIX}-zlib")
replaces=("${MINGW_PACKAGE_PREFIX}-gd")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
             "${MINGW_PACKAGE_PREFIX}-cmake")
source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/libgd/libgd/releases/download/gd-${pkgver}/${_realname}-${pkgver}.tar.gz"
        "libgd-export-pkg-config-build-in-subdirs.patch")
sha256sums=('a66111c9b4a04e818e9e2a37d7ae8d4aae0939a100a36b0ffb52c706a09074b5'
            'b789f28169a44d46a592edf9bad513ec911dda23ac17194dbd7c3e1c6cbb1bfb')

prepare() {
    cd "${srcdir}/${_realname}-${pkgver}"
#This patch actually does more than simply export dirs into a subdir
#It also is responsible for creating the pkg_config file and now also
#the gdlib-config file that some build scripts seem to still require
#in spite of that mechanism being depreciated.
    patch -Nbp1 -i "${srcdir}/libgd-export-pkg-config-build-in-subdirs.patch"
}

build() {
  [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
  mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  ${MINGW_PREFIX}/bin/cmake.exe             \
    -G"MSYS Makefiles"                      \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX}  \
    -DBUILD_{SHARED,STATIC}_LIBS=ON         \
    -DENABLE_FONTCONFIG=ON                  \
    -DENABLE_PNG=ON                         \
    -DENABLE_JPEG=ON                        \
    -DENABLE_TIFF=ON                        \
    -DENABLE_ICONV=ON                       \
    -DENABLE_XPM=ON                         \
    -DENABLE_FREETYPE=ON                    \
    -DENABLE_WEBP=ON                        \
    -DENABLE_LIQ=ON                         \
    -DXPM_XPM_INCLUDE_DIR="${MINGW_PREFIX}/include/X11" \
    -DWEBP_INCLUDE_DIR="${MINGW_PREFIX}/include/webp/" \
    -DLIQ_INCLUDE_DIR="${MINGW_PREFIX}/include/libimagequant" \
    -DFREETYPE_INCLUDE_DIR_freetype2="${MINGW_PREFIX}/include/freetype2" \
    -DFREETYPE_INCLUDE_DIRS="${MINGW_PREFIX}/include/freetype2" \
    ../${_realname}-${pkgver}

  make
}

package() {
  cd "${srcdir}/build-${MINGW_CHOST}"
  make DESTDIR=${pkgdir} install

  local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
  files=( "/bin/gdlib-config" "/lib/pkgconfig/gdlib.pc" )
  for f in "${files[@]}"
  do
    sed -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i ${pkgdir}${MINGW_PREFIX}${f}
  done
}
