# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor: Jason Stryker <inbox at jasonstryker dot com>

pkgname=('wine-nine')
pkgver=0.8
pkgrel=1
pkgdesc="Gallium Nine Standalone"
arch=('x86_64')
url="https://github.com/iXit/wine-nine-standalone"
license=('LGPL2')
makedepends=('git' 'lib32-mesa' 'wine' 'meson')
source=("${url}/archive/v${pkgver}.tar.gz")
sha512sums=('3f339f909c6d65a2e5b5c912785aaa6f297e95549c868ab679dfb8e99d67db9906b6e75e3679a4e3e003f512a54ceb9953f941a4129f488973c16e1a3ac7267c')

build() {
  cd wine-nine-standalone-${pkgver}
    
  ./bootstrap.sh

  meson \
    --cross-file "tools/cross-wine64" \
    --buildtype "release" \
    --prefix "/" \
    --bindir bin \
    --libdir lib \
    "build64"
  ninja -C "build64"
  DESTDIR="${srcdir}/fakeinstall" ninja -C build64 install

  meson \
    --cross-file "tools/cross-wine32" \
    --buildtype "release" \
    --prefix "/" \
    --bindir bin32 \
    --libdir lib32 \
    "build32"
  ninja -C "build32"
  DESTDIR="${srcdir}/fakeinstall" ninja -C build32 install
}

package() {
  depends=('lib32-mesa' 'wine')

  install -m 755 -d "${pkgdir}"/usr/lib{,32}/wine/fakedlls

  install -m 755 "${srcdir}/fakeinstall"/bin/ninewinecfg.exe.so "${pkgdir}"/usr/lib/wine/ninewinecfg.exe.so
  install -m 755 "${srcdir}/fakeinstall"/bin/ninewinecfg.exe.fake "${pkgdir}"/usr/lib/wine/fakedlls/ninewinecfg.exe

  install -m 755 "${srcdir}/fakeinstall"/bin32/ninewinecfg.exe.so "${pkgdir}"/usr/lib32/wine/ninewinecfg.exe.so
  install -m 755 "${srcdir}/fakeinstall"/bin32/ninewinecfg.exe.fake "${pkgdir}"/usr/lib32/wine/fakedlls/ninewinecfg.exe

  install -m 755 "${srcdir}/fakeinstall"/lib/d3d9-nine.dll.so "${pkgdir}"/usr/lib/wine/d3d9-nine.dll.so
  install -m 755 "${srcdir}/fakeinstall"/lib/d3d9-nine.dll.fake "${pkgdir}"/usr/lib/wine/fakedlls/d3d9-nine.dll

  install -m 755 "${srcdir}/fakeinstall"/lib32/d3d9-nine.dll.so "${pkgdir}"/usr/lib32/wine/d3d9-nine.dll.so
  install -m 755 "${srcdir}/fakeinstall"/lib32/d3d9-nine.dll.fake "${pkgdir}"/usr/lib32/wine/fakedlls/d3d9-nine.dll
}
