# vim: set syn=sh et ai sw=2 st=2 ts=2 tw=0:
#Packager: JRD <jrd@enialis.net>

pkgname=xdelta3
pkgver=3.0z
pkgrel=3rl
source=(http://${pkgname%%3}.googlecode.com/files/${pkgname%%3}${pkgver}.tar.gz)
sourcetemplate=http://people.salixos.org/jrd/salix/$pkgname/$pkgver-\$arch-$pkgrel/
docs=("readme" "install" "copying" "changelog" "authors" "news" "todo")
url=http://xdelta.org

slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"$pkgname (open-source binary diff)"
"Make and apply binary diff using the VCDIFF format (RFC 3284)."
"Works similarly as the diff/patch tools, but for binaries."
)


build() {
  cd $startdir/src/${pkgname%%3}${pkgver} || return 1
  pyver=$(python -V 2>&1|sed 's/Python \([0-9]\.[0-9]\).*/\1/')
  # Python and CFLAGS
  sed -i "s/PYVER = .*/PYVER = $pyver/; s/ -O3//; s:^CFLAGS=.*:\0 $CFLAGS:; s/ld -shared xdelta3.o xdelta3_wrap.o/\$(CC) -shared \$(CFLAGS) xdelta3.o xdelta3_wrap.o/; s/\([^=]\) -Wall -Wshadow/\1 \$(CFLAGS)/; s:/usr/lib:/usr/lib${LIBDIRSUFFIX}:g; s:--force:\0 --root $startdir/pkg/:" Makefile
  sed -i "s/-O3/$CFLAGS/" examples/Makefile
  CFLAGS2=$(echo $CFLAGS | sed "s/ /', '/g")
  sed -i "s/'-O3'/'$CFLAGS2'/" setup.py
  # XZ compression
  sed -i -e 's/{ "gzip",     "-cf",   "gzip",       "-dcf",   "G", "\\037\\213",     2, 0 },/\0\n  { "xz",       "-cf",   "xz",         "-dcf",   "Y", "\\xfd\\x37\\x7a\\x58\\x5a\\x00",     2, 0 },/' xdelta3-main.h
  # xdelta3 binary
  make xdelta3 pytgt swigtgt || return 1
  make xdelta3module.so || return 1
  install -m644 {xdelta3.py,xdelta3module.so} $startdir/pkg/usr/lib${LIBDIRSUFFIX}/python$pyver/site-packages/ || return 1
  install -D xdelta3 $startdir/pkg/usr/bin/xdelta3 || return 1
}