# Maintainer: Michael Hansen <zrax0111 gmail com>

_realname=libvncserver
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.9.11
pkgrel=2
pkgdesc="Cross-platform C libraries that allow you to easily implement VNC server or client functionality (mingw-w64)"
arch=('any')
url="https://libvnc.github.io/"
license=('GPL2')
depends=("${MINGW_PACKAGE_PREFIX}-libpng" "${MINGW_PACKAGE_PREFIX}-libjpeg"
         "${MINGW_PACKAGE_PREFIX}-gnutls" "${MINGW_PACKAGE_PREFIX}-libgcrypt"
         "${MINGW_PACKAGE_PREFIX}-openssl" "${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-pkg-config")
options=('strip' 'staticlibs')
source=("https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${pkgver}.tar.gz"
        001-no-undefined.patch)
sha256sums=('193d630372722a532136fd25c5326b2ca1a636cbb8bf9bb115ef869c804d2894'
            'a11d738a450eb457fd94e70e2ca852a1ddfcfd44b20929cd84a22a7ac4eb6bb9')
noextract=("LibVNCServer-${pkgver}.tar.gz")

prepare() {
  # bsdtar fails to extract libvncserver's tarball on Windows, because
  # it puts symlinks before the target.  Workaround: extract it twice!
  bsdtar xzf LibVNCServer-${pkgver}.tar.gz || true
  bsdtar xzf LibVNCServer-${pkgver}.tar.gz

  cd ${_realname}-LibVNCServer-${pkgver}
  patch -p1 -i ${srcdir}/001-no-undefined.patch
  autoreconf -fiv
}

build() {
  [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
  mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}
  ../${_realname}-LibVNCServer-${pkgver}/configure \
      --prefix=${MINGW_PREFIX} \
      --build=${MINGW_CHOST} \
      --host=${MINGW_CHOST} \
      --target=${MINGW_CHOST} \
      --enable-shared \
      --enable-static \
      --without-tightvnc-filetransfer

  make
}

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