# $Id: PKGBUILD 233855 2015-03-15 07:39:52Z 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.3
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=('a8c0f3901a42d2cd82d34cb83bf669ee98c9c4c3')

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

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

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

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 pylint/test/ -p *test_*.py || warning "Tests failed"

  cd ../${pkgbase}-${pkgver}-py3
  PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python -Wi -m unittest discover -s pylint/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"
}
