# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Michal Krenek <mikos@sg1.cz>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - set boinc alternate platform to match their platforms:
#    https://boinc.berkeley.edu/trac/wiki/BoincPlatforms

pkgbase=boinc
pkgname=(boinc boinc-nox)
pkgver=7.8.4
_tag="client_release/7.8/$pkgver"
pkgrel=1
arch=('x86_64')
url="http://boinc.berkeley.edu/"
license=('LGPL')
makedepends=('libxslt' 'perl-xml-sax' 'libxss' 'libnotify' 'wxgtk3' 'webkit2gtk' 'sqlite3' 'curl'
             'inetutils' 'libxmu' 'freeglut' 'glu' 'mesa')
install=$pkgbase.install
options=('!staticlibs')
source=("$pkgbase-$pkgver.tar.gz::https://github.com/BOINC/boinc/archive/$_tag.tar.gz"
        https://github.com/BOINC/boinc/commit/e86f29e7fbc78faff6c9b9c8356ffe59049c116f.patch
        boinc.bash
        boinc.desktop
        boinc.service
        boinc.sysusers)
sha512sums=('d888f6c1586b57cdad7c4c783b2e58ae3bc3da8d0183eaacfe43f9798519e65129324222e6190a8ee1f00be2dfd31ee54fe2a88ef77950506e29552ce32de8aa'
            '565ac560d4ea1c82f238153c47d076d63eb2d839cba10de9fb7c86c8b89b9994f807347a564c3e05d75231019e259c3afc399b203eb0bd83ac2572db54c4e56f'
            'dec4bb6e571c2d99e1f57295149399eee03a8ec41b07ec3f7f197b910d246dcd6a5eb880301c9cd3a039d8c5aa6b07babf6ab4cae5f242c419c8cd71f56b90f5'
            'b3fcd703a6f683d246242543c2f7b5fcfe403cb95b7786f1418b24c3dfb7c54c6b8c4816c0e9ae56b5ee4e4cae63f153ec522b04bf02f4f835dd90ac0e0ae204'
            '395343369cc02da33a0d61bdc45fd8812f4f881a2efbb684b07f8d727d1896ef558c875d42e93e7743004e1efe6226361b53c0ea1cb1e8323ec605caa833774e'
            '85804d7e6b7e07f06e93e8c42507f5cd0b9415257d6ac7421603a2b6084699d847ae9720c1cf9e9793b750dfb768375116843b988b287ee7c66c1374e18f7934')

prepare() {
  mv boinc-client_release-*-$pkgver $pkgbase-$pkgver

  cd $pkgbase-$pkgver
  # https://github.com/BOINC/boinc/pull/2092
  patch -p1 -i ../e86f29e7fbc78faff6c9b9c8356ffe59049c116f.patch

  cp -r "$srcdir"/$pkgbase-$pkgver{,-nox}

  ./_autosetup

  # Prepare boinc-nox
  cd "$srcdir"/$pkgbase-$pkgver-nox
  # Don't force xss
  sed -i 's/^  enable_xss="yes"$/  enable_xss="no"/' configure.ac
  ./_autosetup
}

build() {
  if [[ $CARCH == "arm" ]]; then
    CONFIG="--with-boinc-alt-platform=arm-unknown-linux-gnueabisf"
  elif [[ $CARCH == "armv6h" || $CARCH == "armv7h" ]]; then
    CONFIG="--with-boinc-alt-platform=arm-unknown-linux-gnueabihf"
  fi

  cd "$srcdir"/$pkgbase-$pkgver
  LDFLAGS='-lX11' ./configure \
    --prefix=/usr \
    --enable-libraries \
    --enable-unicode \
    --enable-shared \
    --enable-dynamic-client-linkage \
    --enable-client \
    --enable-manager \
    --disable-static \
    --disable-server \
    --with-ssl \
    --with-x \
    --with-wxdir=/usr/lib \
    --with-wx-config=$(which wx-config-gtk3) \
    ${CONFIG}
  make

  # Build boinc-nox
  cd "$srcdir"/$pkgbase-$pkgver-nox
  PKG_CONFIG=/usr/bin/pkg-config ./configure \
    --prefix=/usr \
    --enable-libraries \
    --enable-unicode \
    --enable-shared \
    --enable-dynamic-client-linkage \
    --enable-client \
    --disable-server \
    --disable-static \
    --disable-manager \
    --with-ssl \
    --without-wxdir \
    --without-x \
    ${CONFIG}
  make
}

package_boinc() {
  pkgdesc="Berkeley Open Infrastructure for Network Computing for desktop"
  depends=("libxss" "libnotify" "wxgtk3" "webkit2gtk" "curl" "sqlite3")

  cd $pkgbase-$pkgver

  make DESTDIR="$pkgdir" install

  #install systemd unit
  install -Dm644 "${srcdir}/$pkgbase.service" "${pkgdir}/usr/lib/systemd/system/$pkgbase.service"

  #install sysusers conf
  install -Dm644 "${srcdir}/$pkgbase.sysusers" "${pkgdir}/usr/lib/sysusers.d/$pkgbase.conf"

  #install bash-completion
  install -Dm644 "${srcdir}/$pkgbase.bash" "${pkgdir}/usr/share/bash-completion/completions/$pkgbase"

  #install .desktop File
  install -Dm644 "${srcdir}/$pkgbase.desktop" "${pkgdir}/usr/share/applications/$pkgbase.desktop"

  #install icons
  install -Dm644 "${srcdir}/$pkgbase-$pkgver/packages/generic/sea/boincmgr.48x48.png" "${pkgdir}/usr/share/pixmaps/$pkgbase.png"

  #remove initscripts stuff
  rm -rf "$pkgdir/etc"
}

package_boinc-nox() {
  pkgdesc="Berkeley Open Infrastructure for Network Computing for desktop without Xorg dependencies"
  depends=("curl" "libjpeg-turbo")
  provides=("boinc")
  conflicts=("boinc")

  cd $pkgbase-$pkgver-nox

  make DESTDIR="$pkgdir" install

  #install systemd unit
  install -Dm644 "${srcdir}/$pkgbase.service" "${pkgdir}/usr/lib/systemd/system/$pkgbase.service"

  #install sysusers conf
  install -Dm644 "${srcdir}/$pkgbase.sysusers" "${pkgdir}/usr/lib/sysusers.d/$pkgbase.conf"

  #install bash-completion
  install -Dm644 "${srcdir}/$pkgbase.bash" "${pkgdir}/usr/share/bash-completion/completions/$pkgbase"

  #remove initscripts stuff
  rm -rf "$pkgdir/etc"
}