# $Id: PKGBUILD 143923 2015-10-13 16:09:01Z anatolik $
# Maintainer: Anatol Pomozov
# Contributor: Byron Clark <byron@theclarkfamily.name>

# This package contains only thrift compiler and C/C++ libraries
# for all the language binding one should use corresponding language-specific package manager:
# CPAN for perl, gem for ruby, pip for python etc... Or better to create arch packages that install
# the binding from the language specific managers python2-thrift, perl-thrift, ruby-thrift, ...

pkgname=thrift
pkgver=0.9.3
pkgrel=1
pkgdesc='Scalable cross-language services framework for IPC/RPC'
arch=(i686 x86_64)
url='http://thrift.apache.org/'
license=(APACHE)
depends=(gcc-libs openssl)
makedepends=(qt4 qt5-base boost libevent emacs-nox)
optdepends=(
  'qt4: TQTcpServer (Qt4) support'
  'qt5-base: TQTcpServer (Qt5) support'
)
source=(thrift-$pkgver.zip::https://github.com/apache/thrift/archive/$pkgver.zip)
sha1sums=('695f47647f776a939d3818f4bc0c8e1de84e735b')

build() {
  cd thrift-$pkgver

  ./bootstrap.sh
  ./configure --prefix=/usr \
              --with-cpp \
              --with-c_glib \
	      --with-qt4 \
              --with-qt5 \
              --with-libevent \
              --with-csharp \
              --without-haskell \
              --without-php \
              --without-ruby \
              --without-python \
              --without-erlang \
              --without-perl \
              --without-java \
              --without-c_sharp \
              --without-d \
              --without-php \
              --without-go \
              --without-lua \
              --without-nodejs
              
  make

  emacs -Q --batch -f batch-byte-compile contrib/thrift.el
}

check() {
  cd thrift-$pkgver
  make check
}

package() {
  cd thrift-$pkgver
  make DESTDIR="$pkgdir" install

  install -m0644 -D contrib/thrift.vim "$pkgdir"/usr/share/vim/vimfiles/syntax/thrift.vim
  install -m0644 -D contrib/thrift.el "$pkgdir"/usr/share/emacs/site-lisp/thrift.el
  install -m0644 -D contrib/thrift.elc "$pkgdir"/usr/share/emacs/site-lisp/thrift.elc
}
