# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Hans Janssen <janserv@gmail.com>
# Contributor: my64 <packages@obordes.com>
# Contributor: Colin Pitrat <colin.pitrat@gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - build v5/6/7 for GLES

pkgname=openscenegraph
pkgver=3.4.0
pkgrel=2
pkgdesc="An Open Source, high performance real-time graphics toolkit"
arch=('i686' 'x86_64')
license=('custom:OSGPL')
url="http://www.openscenegraph.org"
depends=('giflib' 'jasper' 'librsvg' 'xine-lib' 'curl' 'pth')
makedepends=('cmake' 'libvncserver' 'qt5-base' 'ffmpeg' 'mesa')
optdepends=('libvncserver' 'gdal' 'openexr' 'poppler-glib' 'qt5-base' 'ffmpeg')
conflicts=('openthreads')
provides=('openthreads')
source=(http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-$pkgver.zip openscenegraph-ffmpeg3.patch)
md5sums=('a5e762c64373a46932e444f6f7332496'
         'f8151db111ad492ea3bf93971f9a32a9')

prepare() {
  cd OpenSceneGraph-$pkgver
# Fix build with ffmpeg 3.0 (Debian)
  patch -p2 -i ../openscenegraph-ffmpeg3.patch
}

build() {
  cd OpenSceneGraph-$pkgver
#  CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
#  CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS"

  if [[ $CARCH != "aarch64" ]]; then
    GLES_ONLY=(
      -DOSG_GL1_AVAILABLE=OFF
      -DOSG_GL2_AVAILABLE=OFF
      -DOSG_GL3_AVAILABLE=OFF
      -DOSG_GLES1_AVAILABLE=OFF
      -DOSG_GLES2_AVAILABLE=ON
      -DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF
      -DSG_GL_MATRICES_AVAILABLE=OFF
      -DOSG_GL_VERTEX_FUNCS_AVAILABLE=OFF
      -DOSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE=OFF
      -DOSG_GL_FIXED_FUNCTION_AVAILABLE=OFF
      -DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF
      -DOPENGL_INCLUDE_DIR=/usr/include
      -DOPENGL_LIBRARY=/usr/lib/libGLESv2.so
      -DOPENGL_egl_LIBRARY=/usr/lib/libEGL.so
    )
  fi

  [ $NOEXTRACT -eq 1 ] || cmake . \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=Release \
    ${GLES_ONLY[@]}

#  sed -i 's|#include <curl/types.h>|//#include <curl/types.h>|' src/osgPlugins/curl/ReaderWriterCURL.cpp
  make
}

package() {
  cd OpenSceneGraph-$pkgver
  make DESTDIR="$pkgdir" install
  install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  [ -d "$pkgdir/usr/lib64" ] && mv "$pkgdir/usr/lib64" "$pkgdir/usr/lib" || true
}