# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy pypy3 )

inherit distutils-r1 bash-completion-r1 vcs-snapshot

MY_PN="Pygments"
MY_P="${MY_PN}-${PV}"

DESCRIPTION="Pygments is a syntax highlighting package written in Python"
HOMEPAGE="http://pygments.org/ https://pypi.org/project/Pygments/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="*"
IUSE="doc test"

RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
	test? (
		dev-python/nose[${PYTHON_USEDEP}]
		virtual/ttf-fonts )"
#		dev-texlive/texlive-latexrecommended
# Removing / commenting out this dep. I can find no mention of it in tests other than
# importing pygment's own tex module.  If it's there and I missed it just uncomment and re-add
# Tests pass without it

S="${WORKDIR}/${MY_P}"

PATCHES=(
	# fix generators for python3.7+
	"${FILESDIR}"/pygments-2.2.0-pep479.patch
)

python_compile_all() {
	use doc && emake -C doc html
}

python_test() {
	cp -r -l tests "${BUILD_DIR}"/ || die
	# With pypy3 there is 1 error out of 1556 tests when run as is and
	# (SKIP=8, errors=1, failures=1) when run with 2to3; meh
	nosetests --verbosity=3 -w "${BUILD_DIR}"/tests \
		|| die "Tests fail with ${EPYTHON}"
}

python_install_all() {
	use doc && local HTML_DOCS=( doc/_build/html/. )

	distutils-r1_python_install_all
	newbashcomp external/pygments.bashcomp pygmentize
}
