# Maintainer: David Runge <dvzrv@archlinux.org>

pkgbase=fltk
pkgname=('fltk' 'fltk-docs' 'fltk-examples')
pkgver=1.3.7
pkgrel=1
pkgdesc="Graphical user interface toolkit for X"
arch=('x86_64')
license=('custom' 'LGPL')
url="https://www.fltk.org/"
makedepends=('alsa-lib' 'cmake' 'doxygen' 'fontconfig' 'libglvnd'
'libjpeg-turbo' 'libpng' 'mesa' 'libx11' 'libxcursor' 'libxfixes' 'libxft'
'libxinerama' 'libxrender')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/${pkgbase}/${pkgbase}/archive/release-${pkgver}.tar.gz")
sha512sums=('aad131027e88fac3fe73d7e0abfc2602cdc195388f14b29b58d654cb49b780e6ff2ef4270935730b45cd3d366f9e8c8fa3c27a4f17b1f6e8c8fd1f9a0a73c308')
b2sums=('54934d7992f7bacf7a3561dd252839ea21b279d23559963665e398252ecc85dedea819a7db0572305d7266aec9b38997d89313ba98406ff120013ee8f2096594')

prepare() {
  mv -v "${pkgbase}-release-${pkgver}" "${pkgbase}-${pkgver}"
}

build() {
  cd "${pkgbase}-${pkgver}"
  cmake -DCMAKE_INSTALL_PREFIX='/usr' \
        -DFLTK_LIBDIR='/usr/lib' \
        -DCMAKE_BUILD_TYPE='None' \
        -DOPTION_CREATE_LINKS=ON \
        -DOPTION_BUILD_EXAMPLES=OFF \
        -DOPTION_BUILD_SHARED_LIBS=ON \
        -DOPTION_BUILD_HTML_DOCUMENTATION=ON \
        -DOPTION_INSTALL_HTML_DOCUMENTATION=ON \
        -Wno-dev \
        -B build \
        -S .
  make VERBOSE=1 -C build
  make -C build/documentation html
  cmake -DCMAKE_INSTALL_PREFIX='/usr' \
        -DFLTK_LIBDIR='/usr/lib' \
        -DCMAKE_BUILD_TYPE='None' \
        -DOPTION_BUILD_EXAMPLES=ON \
        -Wno-dev \
        -B build-examples \
        -S .
  make VERBOSE=1 -C build-examples
}

package_fltk() {
  depends=('gcc-libs' 'glibc' 'hicolor-icon-theme' 'libfontconfig.so'
  'libglvnd' 'libjpeg-turbo' 'libpng' 'libx11' 'libxcursor' 'libxext'
  'libxfixes' 'libxft' 'libxinerama' 'libxrender')
  provides=('libfltk_images.so' 'libfltk_gl.so' 'libfltk_forms.so' 'libfltk.so')
  options=('!docs' 'staticlibs')

  cd "${pkgbase}-${pkgver}"
  make DESTDIR="${pkgdir}/" install -C build
  install -vDm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}/"
  # removing man pages of examples
  rm -rvf "${pkgdir}/usr/share/man/man6"
}

package_fltk-docs() {
  pkgdesc+=" (documentation)"

  cd "${pkgbase}-${pkgver}"
  make DESTDIR="$pkgdir" install -C build/documentation html
  install -vDm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}/"
}

package_fltk-examples() {
  pkgdesc+=" (examples)"
  depends=('gcc-libs' 'glibc' 'hicolor-icon-theme' 'libasound.so'
  'libfontconfig.so' 'libjpeg-turbo' 'libpng' 'libx11' 'libxcursor' 'libxext'
  'libxfixes' 'libxft' 'libxinerama' 'libxrender')
  options=('!docs')

  cd "${pkgbase}-${pkgver}"
  make DESTDIR="$pkgdir" install -C build-examples
  # example apps and integration files, that are not covered by make install
  for app in {blocks,checkers,sudoku}; do
    install -vDm 755 "build-examples/bin/test/$app" -t "${pkgdir}/usr/bin/"
    install -vDm 644 "test/desktop/$app.desktop" \
      -t "${pkgdir}/usr/share/applications/"
    install -vDm 644 "test/desktop/$app-32.png" \
      "${pkgdir}/usr/share/icons/hicolor/32x32/apps/$app.png"
    install -vDm 644 "test/desktop/$app-128.png" \
      "${pkgdir}/usr/share/icons/hicolor/128x128/apps/$app.png"
  done
  install -vDm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}/"
  # removing any non-examples files
  rm -rfv "${pkgdir}/usr/bin/fltk-config" \
          "${pkgdir}/usr/include" \
          "${pkgdir}/usr/lib" \
          "${pkgdir}/usr/share/applications/fluid.desktop" \
          "${pkgdir}/usr/share/man/man"{1,3} \
          "${pkgdir}/usr/share/fltk" \
          "${pkgdir}/usr/share/icons/hicolor/"{48,64}* \
          "${pkgdir}/usr/share/mime"
  find "${pkgdir}" -type f -iname "*fluid*" -exec rm -rvf {} \;
}
