# Copyright 2014-2021 mschiff, eroen EAPI=7 # setup.py disallows 30 31 32 # setup.py documents support 26 27 33 # dev-python/html5lib -34 # dev-python/itsdangerous -34 # dev-python/misaka -26 -33 -34 # dev-python/werkzeug -34 # dev-python/configparser -26 # dev-python/ipaddr -26 PYTHON_COMPAT=( python3_{9..10} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 if [[ $PV == *9999* ]]; then inherit git-r3 EGIT_REPO_URI=https://github.com/posativ/${PN}.git JS_REPO_URIS=( https://github.com/jrburke/almond.git https://github.com/jrburke/r.js.git https://github.com/requirejs/text.git ) VCS_DEPEND="dev-vcs/git[curl]" else inherit pypi fi DESCRIPTION="lightweight Disqus alternative" HOMEPAGE="http://posativ.org/isso/ https://pypi.python.org/pypi/isso/ https://github.com/posativ/isso/" # BSD: pbkdf2.js sha1.js crypto.py? LICENSE="MIT BSD" SLOT="0" KEYWORDS="~amd64" IUSE="" if [[ ${PV} == *9999* ]]; then IUSE+=" debug doc test" DOCS=( README.md CHANGES.rst docs/{contribute.rst,faq.rst} ) else DOCS=( ) fi LIBDEPEND=" dev-python/html5lib[${PYTHON_USEDEP}] dev-python/itsdangerous[${PYTHON_USEDEP}] dev-python/misaka[${PYTHON_USEDEP}] dev-python/bleach[${PYTHON_USEDEP}] dev-python/cffi[${PYTHON_USEDEP}] dev-python/flask[${PYTHON_USEDEP}] dev-python/ipaddr[${PYTHON_USEDEP}] dev-python/jinja[${PYTHON_USEDEP}] dev-python/werkzeug[${PYTHON_USEDEP}] " HDEP="dev-python/setuptools[${PYTHON_USEDEP}]" if [[ ${PV} == *9999* ]]; then HDEP+=" ${VCS_DEPEND} dev-ruby/sass net-libs/nodejs doc? ( dev-python/sphinx )" fi DEPEND="${HDEP}" if [[ ${PV} == *9999* ]]; then DEPEND+=" test? ( dev-python/nose[${PYTHON_USEDEP}] ${LIBDEPEND} )" fi RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] dev-db/sqlite acct-user/${PN} acct-group/${PN} ${LIBDEPEND}" src_fetch() { if [[ ${PV} == *9999* ]]; then git-r3_src_fetch for EGIT_REPO_URI in "${JS_REPO_URIS[@]}"; do ( unset ${PN}_LIVE_REPO git-r3_src_fetch ); done else default fi } src_unpack() { if [[ ${PV} == *9999* ]]; then git-r3_src_unpack for EGIT_REPO_URI in "${JS_REPO_URIS[@]}"; do ( unset ${PN}_LIVE_REPO; EGIT_CHECKOUT_DIR=${WORKDIR}/${EGIT_REPO_URI##*/} git-r3_src_unpack ); done mkdir -p "${S}"/isso/js/components/{requirejs-text,almond} cp "${WORKDIR}"/text.git/text.js "${S}"/isso/js/components/requirejs-text/ cp "${WORKDIR}"/almond.git/almond.js "${S}"/isso/js/components/almond/ else default fi } src_compile() { if [[ ${PV} == *9999* ]]; then # build r.js pushd "${WORKDIR}"/r.js.git 2>/dev/null node dist.js popd 2>/dev/null local RJS=${WORKDIR}/r.js.git/r.js # generate css scss isso/css/isso.scss isso/css/isso.css # generate js using r.js node "${RJS}" -o isso/js/build.embed.js node "${RJS}" -o isso/js/build.count.js if use debug; then node "${RJS}" -o isso/js/build.embed.js optimize="none" out="isso/js/embed.dev.js" node "${RJS}" -o isso/js/build.count.js optimize="none" out="isso/js/count.dev.js" fi fi distutils-r1_src_compile } python_compile_all() { if [[ ${PV} == *9999* ]]; then if use doc; then mkdir -p "${T}"/html pushd docs 2>/dev/null sphinx-build -E -b dirhtml -a . "${T}"/html popd 2>/dev/null mkdir -p "${T}"/html/_static/css scss docs/_static/css/site.scss "${T}"/html/_static/css/site.css fi fi } python_test() { if [[ ${PV} == *9999* ]]; then # doctests fail, require https://github.com/gnublade/doctest-ignore-unicode nosetests \ --with-coverage --cover-package=isso \ isso/ specs/ #nosetests --with-doctest --with-doctest-ignore-unicode \ # --with-coverage --cover-package=isso \ # isso/ specs/ fi } python_install_all() { distutils-r1_python_install_all insinto /etc #doins share/${PN}.conf if [[ ${PV} == *9999* ]]; then use doc && dodoc -r "${T}"/html fi newinitd "${FILESDIR}"/${PN}.initd ${PN} newconfd "${FILESDIR}"/${PN}.confd ${PN} }