app-admin/ansible: generate and install documentation using sphinx.
authorPatrice Clement <monsieurp@gentoo.org>
Tue, 22 May 2018 22:34:20 +0000 (00:34 +0200)
committerPatrice Clement <monsieurp@gentoo.org>
Tue, 22 May 2018 22:34:49 +0000 (00:34 +0200)
Documentation generation and installation is now available when enabling
the doc USE flag. Sphinx will generate the exact same website as the one
available on http://docs.ansible.com. As to the manual pages
installation, they are already installed automatically.

Closes: https://bugs.gentoo.org/652376
Package-Manager: Portage-2.3.24, Repoman-2.3.6

app-admin/ansible/ansible-2.5.3-r1.ebuild [new file with mode: 0644]
app-admin/ansible/ansible-9999.ebuild

diff --git a/app-admin/ansible/ansible-2.5.3-r1.ebuild b/app-admin/ansible/ansible-2.5.3-r1.ebuild
new file mode 100644 (file)
index 0000000..8f63e85
--- /dev/null
@@ -0,0 +1,66 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6} )
+
+inherit distutils-r1 eutils versionator
+
+DESCRIPTION="Model-driven deployment, config management, and command execution framework"
+HOMEPAGE="https://ansible.com/"
+SRC_URI="https://releases.ansible.com/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+IUSE="doc test"
+
+RDEPEND="
+       dev-python/paramiko[${PYTHON_USEDEP}]
+       dev-python/jinja[${PYTHON_USEDEP}]
+       dev-python/pyyaml[${PYTHON_USEDEP}]
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       dev-python/cryptography[${PYTHON_USEDEP}]
+       dev-python/httplib2[${PYTHON_USEDEP}]
+       dev-python/six[${PYTHON_USEDEP}]
+       dev-python/netaddr[${PYTHON_USEDEP}]
+       net-misc/sshpass
+       virtual/ssh
+"
+DEPEND="
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       >=dev-python/packaging-16.6[${PYTHON_USEDEP}]
+       doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+       test? (
+               ${RDEPEND}
+               dev-python/nose[${PYTHON_USEDEP}]
+               >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+               dev-python/passlib[${PYTHON_USEDEP}]
+               dev-python/coverage[${PYTHON_USEDEP}]
+               dev-python/unittest2[${PYTHON_USEDEP}]
+               dev-vcs/git
+       )"
+
+# not included in release tarball
+RESTRICT="test"
+
+python_compile_all() {
+       if use doc; then
+               cd docs/docsite || die
+               export CPUS=4
+               emake -f Makefile.sphinx html
+       fi
+}
+
+python_test() {
+       nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die
+}
+
+python_install_all() {
+       use doc && local HTML_DOCS=( docs/docsite/_build/html/. )
+       distutils-r1_python_install_all
+
+       doman docs/man/man1/*.1
+       dodoc -r examples
+}
index cbb8b37672816164c959394d36f10a00862df35e..0ca97a267cc6c65decd54fcbaa7eb03baa5ff54a 100644 (file)
@@ -15,7 +15,7 @@ EGIT_BRANCH="devel"
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS=""
-IUSE="test"
+IUSE="doc test"
 
 RDEPEND="
        dev-python/paramiko[${PYTHON_USEDEP}]
@@ -32,6 +32,7 @@ RDEPEND="
 DEPEND="
        dev-python/setuptools[${PYTHON_USEDEP}]
        >=dev-python/packaging-16.6[${PYTHON_USEDEP}]
+       doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
        test? (
                ${RDEPEND}
                dev-python/nose[${PYTHON_USEDEP}]
@@ -42,6 +43,14 @@ DEPEND="
                dev-vcs/git
        )"
 
+python_compile_all() {
+       if use doc; then
+               cd docs/docsite || die
+               export CPUS=4
+               emake -f Makefile.sphinx html
+       fi
+}
+
 python_prepare_all() {
        rm -fv MANIFEST.in || die
        distutils-r1_python_prepare_all
@@ -51,11 +60,8 @@ python_test() {
        nosetests -d -w test/units -v --with-coverage --cover-package=ansible --cover-branches || die
 }
 
-python_compile_all() {
-       emake -j1 docs
-}
-
 python_install_all() {
+       use doc && local HTML_DOCS=( docs/docsite/_build/html/. )
        distutils-r1_python_install_all
 
        doman docs/man/man1/*.1