# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
# Contributor: chiku <chirantan.mitra@gmail.com>

pkgname=ucblogo
pkgver=6.0
pkgrel=10
pkgdesc='Interpreter for the Logo programming language'
url='https://www.cs.berkeley.edu/~bh/logo.html'
arch=(x86_64)
license=(GPL)
makedepends=(setconf svn)
depends=(libice libsm libx11 ncurses)
source=("https://www.cs.berkeley.edu/~bh/downloads/$pkgname.tar.gz"
        'https://people.eecs.berkeley.edu/~bh/logo-sample.html'
        no-wx.patch
        no-tex.patch
        logo.sh)
sha256sums=('c659e989e9284efc0f904ebd7de24b559c2d7434a98bb9c92c23e6c11b49cef3'
            'd3dfeb90e5dd6cae6bc12c8b272e1203a2b2693963670a408d2a190d1ba819ab'
            'e360ac71ac785fa8b00b89ff0c5bf8ed738114013143245d3bc0e62eb7d0333d'
            'e83fb9d656a9064685cde5ebc0ee36242ac848228380b0567fe683901435707c'
            'b14dfea1bfc5f04df254e4067d8d6301851d42af6920bdb800fdd8ad4443682b')

prepare() {
  cd $pkgname-$pkgver

  # Add missing includes
  for csrc in coms.c graphics.c; do
    sed -i '1s,^,#include <math.h>\n,' "$csrc"
  done

  # Various patching
  patch -Np2 -i "$srcdir/no-wx.patch"
  patch -Np2 -i "$srcdir/no-tex.patch"
  sed -i 's/define HAVE_MATHERR 1/undef HAVE_MATHERR/' config.h
  setconf svn.c 'char* SVN' '"(1)";'

  # The makefile does not respect CFLAGS, set it manually
  setconf makefile CFLAGS "$CFLAGS -w -fPIC"

  # Create an example logo file, to be placed in /usr/share/doc/ucblogo
  echo '#!/usr/bin/env logo' > "$srcdir/sample.logo"
  head -22 < "$srcdir/logo-sample.html" | grep -v '<' >> "$srcdir/sample.logo"
}

build() {
  make -C $pkgname-$pkgver
  rm -rf $pkgname-$pkgver/csls/CVS
}

package() {
  make -C $pkgname-$pkgver \
    INFODIR="$pkgdir/usr/share/info" \
    prefix="$pkgdir/usr" \
    install

  # Package executable and wrapper script
  mv "$pkgdir/usr/bin/logo" "$pkgdir/usr/bin/logo.elf"
  install -Dm755 logo.sh "$pkgdir/usr/bin/logo"

  # Package documentation
  install -d "$pkgdir/usr/share/doc"
  mv "$pkgdir/usr/lib/logo/docs" "$pkgdir/usr/share/doc/$pkgname"
  rm "$pkgdir/usr/share/doc/$pkgname/usermanual.ps"
  install -Dm755 sample.logo "$pkgdir/usr/share/doc/$pkgname/sample.logo"
}

# vim: ts=2 sw=2 et:
