# $Id: PKGBUILD 87983 2013-04-09 20:48:46Z arodseth $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: d'Ronin <daronin@2600.com>
# Contributor: Hexchain Tong <richard0053@gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - compiler flags adjustment to build correctly
#  - --cpu in configure set to correct architectures, autodetect fails
#  - AArch64 patch

pkgname=botan
pkgver=1.11.18
pkgrel=1
pkgdesc='Crypto library written in C++'
license=('BSD')
arch=('x86_64' 'i686')
url='http://botan.randombit.net/'
depends=('gcc-libs' 'sh' 'asio')
makedepends=('python2' 'asio' 'git')
#source=("http://botan.randombit.net/releases/Botan-${pkgver}.tgz"{,.asc})
source=("git://github.com/randombit/botan.git#commit=8e19ecf11c"
        '0001-aarch64-support.patch')
md5sums=('SKIP'
         '37165d2a365dd2e9d779b89fa55ba77b')
# Botan Distribution Key. To import: gpg --import botan.key
#validpgpkeys=('621DAF6411E1851C4CF9A2E16211EBF1EFBADFBC')

prepare() {
  patch -p1 -d botan -i ../0001-aarch64-support.patch

  # Use python2 for the installation scripts
  find botan/src/scripts -name '*.py' -exec sed -i -e '1s,python$,python2,' {} +
}

build() {
  cd botan

  if [[ $CARCH == 'aarch64' ]]; then
    CPU='aarch64'
  elif [[ $CARCH == 'armv7h' ]]; then
    sed -i 's/lang_flags "/lang_flags "-mfpu=vfpv3-d16 -mfloat-abi=hard /' src/build-data/cc/gcc.txt
    CPU='arm/armv7-a'
  elif [[ $CARCH == 'armv6h' ]]; then
    sed -i 's/lang_flags "/lang_flags "-mfpu=vfp -mfloat-abi=hard /' src/build-data/cc/gcc.txt
    CPU='arm/armv6'
  elif [[ $CARCH == 'arm' ]]; then
    CPU='arm/armv5te'
  fi

  python2 configure.py --prefix=/usr --enable-modules=cvc --destdir="$pkgdir/usr" --cpu=$CPU
  make
}

package() {
  cd botan
  make DESTDIR="$pkgdir/usr" install
  find "$pkgdir/usr/share/doc" -type f -exec chmod 0644 {} \;
  install -Dm644 doc/license.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

# vim:set ts=2 sw=2 et: