# $Id: PKGBUILD 229567 2015-01-19 05:17:07Z fyan $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Alexander Fehr <pizzapunk gmail com>

pkgbase=pylint
pkgname=('python2-pylint' 'python-pylint')
pkgver=1.4.1
pkgrel=1
pkgdesc="Analyzes Python code looking for bugs and signs of poor quality"
arch=('any')
url="http://pylint.org"
license=('GPL')
makedepends=('python2-astroid' 'python-astroid' 'python2-setuptools' 'python-setuptools' 'python2-six' 'python-six')
optdepends=('tk: Pylint GUI')
source=("http://pypi.python.org/packages/source/p/${pkgbase}/${pkgbase}-${pkgver}.tar.gz")
sha1sums=('8422341d4e02ad1516f4e6bc04931e6f480764bb')

prepare() {
  cp -a ${pkgbase}-${pkgver}{,-py3}

  cd ${pkgbase}-${pkgver}
  sed -i "s|/usr/bin/env python|/usr/bin/env python2|" epylint.py __main__.py test/input/noext

  cd ../${pkgbase}-${pkgver}-py3
  sed -i "s|/usr/bin/env python|/usr/bin/env python3|" epylint.py __main__.py test/input/noext
}

build() {
  cd ${pkgbase}-${pkgver}
  python2 setup.py build

  cd ../${pkgbase}-${pkgver}-py3
  python3 setup.py build
}

check() {
  cd ${pkgbase}-${pkgver}
  PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python2 -Wi -m unittest discover -s test/ -p *test_*.py

  cd ../${pkgbase}-${pkgver}-py3
  PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python -Wi -m unittest discover -s test/ -p *test_*.py || warning "Tests failed"
}

package_python2-pylint() {
  depends=('python2-astroid' 'python2-setuptools' 'python2-six')

  cd ${pkgbase}-${pkgver}

  python2 setup.py install --prefix=/usr --root="${pkgdir}" --skip-build --optimize=1

  install -d "${pkgdir}"/usr/share/man/man1
  install -m644 man/* "${pkgdir}/usr/share/man/man1"

  for i in epylint pylint pylint-gui pyreverse symilar; do
     mv "${pkgdir}"/usr/bin/${i}{,2}
     mv "${pkgdir}"/usr/share/man/man1/${i}{,2}.1
  done
}

package_python-pylint() {
  depends=('python-astroid' 'python-setuptools' 'python-six')

  cd ${pkgbase}-${pkgver}-py3

  python3 setup.py install --prefix=/usr --root="${pkgdir}" --skip-build --optimize=1

  install -d "${pkgdir}/usr/share/man/man1"
  install -m644 man/* "${pkgdir}/usr/share/man/man1"
}
