# Maintainer: Judd Vinet <jvinet@zeroflux.org>

pkgname=cryptsetup
pkgver=1.0.7
pkgrel=2
pkgdesc="Userspace setup tool for transparent encryption of block devices using the Linux 2.6 cryptoapi"
arch=('i686' 'x86_64')
license=('GPL')
url="http://code.google.com/p/cryptsetup/"
groups=('base')
depends=('device-mapper' 'libgcrypt' 'popt' 'e2fsprogs')
conflicts=('mkinitcpio<0.5.24.99')
options=('!libtool' '!emptydirs')
source=("http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2"
        'encrypt_hook'
	      'encrypt_install'
      	'luksOpen-status.patch')
md5sums=('5eea2a77391a8a1a651b31cbaef59e22'
         '6bdb1b83539453d403335aed1a579a5c'
         '24b76e9cb938bc3c8dcff396cbab28c7'
         'd4be8d2059d5427c057be4de4e948887')

build() {
  cd $srcdir/$pkgname-${pkgver}
  
  # suppress "Command successful" message on luksOpen
  patch -p1 -i $srcdir/luksOpen-status.patch || return 1

  # duplicate the build directory so we can build both dynamic and static binaries
  cd $srcdir || return 1
  cp -r $pkgname-$pkgver $pkgname-$pkgver-dynamic || return 1
  cp -r $pkgname-$pkgver $pkgname-$pkgver-static || return 1
  
  # build a standard dynamic binary
  cd $srcdir/$pkgname-${pkgver}-dynamic
  ./configure \
    --prefix=/usr \
    --disable-static || return 1
  make || return 1
  
  # build a static cryptsetup binary for initrd setups
  cd $srcdir/$pkgname-${pkgver}-static
  ./configure \
    --prefix=/usr \
    --enable-static || return 1
  make || return 1
}

package() {
  # first install the dynamic binaries
  cd $srcdir/$pkgname-${pkgver}-dynamic
  make DESTDIR=$pkgdir install || return 1

  # include a static cryptsetup binary for initrd setups
  cd $srcdir/$pkgname-${pkgver}-static || return 1
  install -Dm755 src/cryptsetup $pkgdir/sbin/cryptsetup.static || return 1
  
  # install hook
  install -Dm644 $srcdir/encrypt_hook $pkgdir/lib/initcpio/hooks/encrypt || return 1
  install -Dm644 $srcdir/encrypt_install $pkgdir/lib/initcpio/install/encrypt || return 1
}
# vim:set ts=2 sw=2 et:
