# Maintainer (Arch): Thomas S Hatch <thatch45@gmail.com>
# Contributor (Arch): Geoffroy Carrier <geoffroy@archlinux.org>
# Contributor (Arch): Daniel J Griffiths <ghost1227@archlinux.us>

pkgbase=protobuf
pkgname=('protobuf' 'python2-protobuf' 'java-protobuf')
pkgver=2.4.1
pkgrel=2.1
pkgdesc="A way of encoding structured data in an efficient yet extensible format"
arch=('i686' 'x86_64' 'mips64el')
url="http://code.google.com/p/protobuf/"
license=('APACHE')
depends=('gcc-libs' 'zlib')
makedepends=('python2' 'python2-distribute' 'java-environment')
options=(!libtool)
source=(http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.bz2)
md5sums=('ed436802019c9e1f40cc750eaf78f318')

####

build() {
  build_protobuf
  build_python2-protobuf
  build_java-protobuf
}

check() {
  check_protobuf
  check_python2-protobuf
  check_java-protobuf
}

package() {
  package_protobuf
  package_python2-protobuf
  package_java-protobuf
}

####

build_protobuf() {
  cd $srcdir/$pkgname-$pkgver
  ./configure --prefix=/usr --disable-static
  make
}

check_protobuf() {
  cd $srcdir/$pkgname-$pkgver
  make check
}

package_protobuf() {
  cd $srcdir/$pkgname-$pkgver
  make DESTDIR=$pkgdir install
}

####

build_python2-protobuf() {
  cd $srcdir/$pkgname-$pkgver/python
  python2 setup.py build
}

check_python2-protobuf() {
  cd $srcdir/$pkgname-$pkgver/python
  python2 setup.py test
}

package_python2-protobuf() {
  pkgdesc="protobuf python2 API"
  replaces=('protobuf-python')
  provides=("protobuf-python=${pkgver}")
  depends=("python2" "protobuf=${pkgver}")

  cd $srcdir/protobuf-$pkgver/python
  python2 setup.py install --prefix=/usr --root $pkgdir
}

####

build_java-protobuf() {
  cd $srcdir/$pkgname-$pkgver/java
  mvn compile
}

check_java-protobuf() {
  cd $srcdir/$pkgname-$pkgver/java
  mvn test
}

package_java-protobuf() {
  pkgdesc="protobuf Java API"
  replaces=('protobuf-java')
  provides=("protobuf-java=${pkgver}")
  depends=("java-runtime" "protobuf=${pkgver}")

  cd $srcdir/$pkgname-$pkgver/java
  :
}