# Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net>

pkgbase=libuv
pkgname=("${pkgbase}" "${pkgbase}-devel")
pkgver=1.23.0
pkgrel=1
pkgdesc="Multi-platform support library with a focus on asynchronous I/O"
arch=('i686' 'x86_64')
url="https://github.com/libuv/libuv"
license=('custom')
source=("https://github.com/libuv/libuv/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz"
        "libuv-1.15.0-msys.patch")
sha512sums=('d1622ea9c03661ce2dfa18e1725fc1bfdf3b16d7e40babc552dcc5b2f86d52f4dd81cac9bf89914024b11e4ed3671264dfcfba867cfa3b1a2206b89c59c95851'
            'da769c424602f136a6ed575527d97ce29bb18916673a2001bfbe9ab53a1667078e2d3103f6465c846a7b3966f766c52822a312ed7a867f16b85d7f2e69f8786f')

prepare() {
  cd "${srcdir}"/${pkgname}-${pkgver}
  patch -Nbp1 -i ${srcdir}/libuv-1.15.0-msys.patch
  ./autogen.sh
}

build() {
  cd "${srcdir}"/${pkgbase}-${pkgver}
  ./configure --host=${CHOST} \
              --build=${CHOST} \
              --prefix=/usr

  make
  make DESTDIR="${srcdir}/dest" install
}

check() {
  cd "${srcdir}"/${pkgbase}-${pkgver}
  # a few of these tests are known to fail.
  make check || true
}

package_libuv() {
  groups=('libraries')

  cd "${srcdir}"/${pkgbase}-${pkgver}
  install -Dm644 LICENSE \
    "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
  install -Dm644 AUTHORS \
    "${pkgdir}"/usr/share/doc/${pkgname}/AUTHORS
  install -Dm644 README.md \
    "${pkgdir}"/usr/share/doc/${pkgname}/README.md
  install -Dm644 ChangeLog \
    "${pkgdir}"/usr/share/doc/${pkgname}/ChangeLog
 
  cd "${srcdir}/dest"
  mkdir -p ${pkgdir}/usr/bin
  cp -f usr/bin/*.dll ${pkgdir}/usr/bin
}

package_libuv-devel() {
  pkgdesc="libuv headers and libraries"
  groups=('development')
  options=('staticlibs')
  depends=(${pkgbase}=${pkgver})

  cd "${srcdir}/dest"
  mkdir -p ${pkgdir}/usr/lib
  mkdir -p ${pkgdir}/usr/include

  cp -rf usr/lib/* ${pkgdir}/usr/lib
  cp -rf usr/include/* ${pkgdir}/usr/include
  #This is required for cmake.  
  cp "${srcdir}"/${pkgbase}-${pkgver}/include/uv/posix.h ${pkgdir}/usr/include/uv
}
