# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Thomas Weißschuh <thomas t-8ch.de>
# Contributor: George Brooke <george+arch.aur@george-brooke.co.uk>
# Contributor: Sebastian Wiesner <lunaryorn googlemail com>

pkgbase=python-tox
pkgname=(python-tox python2-tox)
pkgver=3.24.4
pkgrel=1
pkgdesc='Python virtualenv management and testing tool'
arch=('any')
url='https://tox.readthedocs.io'
license=('GPL2')
makedepends=('python-setuptools-scm' 'python2-setuptools-scm' 'python-py' 'python2-py' 'python-virtualenv'
             'python2-virtualenv' 'python-pluggy' 'python2-pluggy' 'python-toml' 'python2-toml'
             'python-filelock' 'python2-filelock' 'python-freezegun' 'python2-freezegun')
checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-pytest-mock'
              'python2-pytest-mock' 'python-flaky' 'python2-flaky' 'python2-pathlib2')
source=("https://pypi.io/packages/source/t/tox/tox-$pkgver.tar.gz")
sha512sums=('9fe2256276b83bf3bc55ec1876be41da2ff7217187f4bf8f4d728106f9c63fc59d146de5e424f7a90d28b938d312c175f7c815bfd3a17d329bec9ba4102139fc')

prepare() {
  find tox-$pkgver -name "*.pyc" -delete

  cp -a tox-$pkgver{,-py2}
}

build() {
  export LC_CTYPE=en_US.UTF-8

  cd "$srcdir"/tox-$pkgver
  python setup.py build

  cd "$srcdir"/tox-$pkgver-py2
  python2 setup.py build
}

check() {
  # Hack entry points

  (
    cd "$srcdir"/tox-$pkgver
    virtualenv "$srcdir/pyvenv" --system-site-packages
    . "$srcdir/pyvenv/bin/activate"
    python setup.py install
    python setup.py pytest
  )

  (
    cd "$srcdir"/tox-$pkgver-py2
    virtualenv2 "$srcdir/pyvenv-py2" --system-site-packages
    . "$srcdir/pyvenv-py2/bin/activate"
    python setup.py install
    python setup.py pytest
  )
}

package_python-tox() {
  depends=('python-py' 'python-virtualenv' 'python-packaging' 'python-pluggy' 'python-toml'
           'python-filelock' 'python-six')

  cd "$srcdir"/tox-$pkgver
  python setup.py install --root="$pkgdir" --optimize=1
  ln -s tox "$pkgdir"/usr/bin/tox3
}

package_python2-tox() {
  depends=('python2-py' 'python2-virtualenv' 'python2-packaging' 'python2-pluggy' 'python2-toml'
           'python2-filelock' 'python2-six' 'python2-importlib-metadata')

  cd "$srcdir"/tox-$pkgver-py2
  python2 setup.py install --root="$pkgdir" --optimize=1
  mv "$pkgdir"/usr/bin/tox{,2}
  mv "$pkgdir"/usr/bin/{tox-quickstart,tox2-quickstart}
}
