commit:     9f8bd86ea87a3fa7b4634a8eeb374a30876f184a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 20 19:34:37 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 20 19:34:37 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f8bd86e

dev-util/pkgdev: provide pre-generated man pages

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/pkgdev/Manifest                           |  1 +
 .../{pkgdev-9999.ebuild => pkgdev-0.2.1-r2.ebuild} | 36 +++++++++++++++++++---
 dev-util/pkgdev/pkgdev-9999.ebuild                 | 36 +++++++++++++++++++---
 3 files changed, 63 insertions(+), 10 deletions(-)

diff --git a/dev-util/pkgdev/Manifest b/dev-util/pkgdev/Manifest
index 9b5323837292..01d0350811ea 100644
--- a/dev-util/pkgdev/Manifest
+++ b/dev-util/pkgdev/Manifest
@@ -1 +1,2 @@
+DIST pkgdev-0.2.1-docs.tar.xz 4156 BLAKE2B 
d0cae24586dd24d03ae0378205ebf164957a15a85fec06d4a44d24c448aa22732aec7ae4a98b630b4943949f8108b146e1997379f2c23a660fec325f10e5eddb
 SHA512 
0e4d2906ff3ded58884b419a2c3bc771f70051d1c06fd500f0908e50512b49505c19057c4e63a04d81e418193d50c210672ff4dad3c06693e2e6e966c68dac45
 DIST pkgdev-0.2.1.tar.gz 66455 BLAKE2B 
6f89b1601813adcb1263a044a096d187d7fa926f116a09dc2b1cec083f8d82da54ae00577c36d64ece5733d8952f8dc5f4dff94aeb695e851f340a30f04b203e
 SHA512 
8277f74f3d9902da295c5436a46302627bdc1cb2a63f29b0603bf9bfa2c8bb812b26f12a54630cbbcba1e2bbac7352146f6ab59fc04cd8b89b46df1fe7c9f8dd

diff --git a/dev-util/pkgdev/pkgdev-9999.ebuild 
b/dev-util/pkgdev/pkgdev-0.2.1-r2.ebuild
similarity index 57%
copy from dev-util/pkgdev/pkgdev-9999.ebuild
copy to dev-util/pkgdev/pkgdev-0.2.1-r2.ebuild
index 7453376035da..f7d2c6919798 100644
--- a/dev-util/pkgdev/pkgdev-9999.ebuild
+++ b/dev-util/pkgdev/pkgdev-0.2.1-r2.ebuild
@@ -3,15 +3,31 @@
 
 EAPI=8
 
+# Generate using 
https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pkgdev-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+PKGDEV_DOCS_PREBUILT=${PKGDEV_DOCS_PREBUILT:-1}
+PKGDEV_DOCS_PREBUILT_DEV=sam
+PKGDEV_DOCS_VERSION=$(ver_cut 1-3)
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+PKGDEV_DOCS_USEFLAG="+doc"
+
 PYTHON_COMPAT=( python3_{8..10} )
 DISTUTILS_IN_SOURCE_BUILD=1
 inherit distutils-r1
 
 if [[ ${PV} == *9999 ]] ; then
+       PKGDEV_DOCS_PREBUILT=0
+
        EGIT_REPO_URI="https://github.com/pkgcore/pkgdev.git";
        inherit git-r3
 else
        SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+       if [[ ${PKGDEV_DOCS_PREBUILT} == 1 ]] ; then
+               SRC_URI+=" !doc? ( 
https://dev.gentoo.org/~${PKGDEV_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PKGDEV_DOCS_VERSION}-docs.tar.xz
 )"
+       fi
+
        KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc 
~x86 ~x64-macos"
 fi
 
@@ -21,6 +37,10 @@ HOMEPAGE="https://github.com/pkgcore/pkgdev";
 LICENSE="BSD MIT"
 SLOT="0"
 
+[[ ${PKGDEV_DOCS_PREBUILT} == 1 ]] && PKGDEV_DOCS_USEFLAG="doc"
+
+IUSE="${PKGDEV_DOCS_USEFLAG}"
+
 if [[ ${PV} == *9999 ]] ; then
        # https://github.com/pkgcore/pkgdev/blob/main/requirements/dev.txt
        RDEPEND="
@@ -41,14 +61,14 @@ fi
 BDEPEND+="test? ( dev-python/pytest )"
 RDEPEND+="dev-vcs/git"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-fix-signoff-example.patch
+)
+
 distutils_enable_sphinx doc
 distutils_enable_tests setup.py
 
 python_compile_all() {
-       # We'll generate man pages ourselves
-       # Revisit when a release is made
-       # to pregenerate them, making USE=doc
-       # for generating the real HTML docs only.
        use doc && emake -C doc man
 
        # HTML pages only
@@ -56,6 +76,12 @@ python_compile_all() {
 }
 
 python_install_all() {
-       use doc && doman doc/_build/man/*
+       # If USE=doc, there'll be newly generated docs which we install instead.
+       if use doc ; then
+               doman doc/_build/man/*
+       elif ! use doc && [[ ${PKGDEV_DOCS_PREBUILT} == 1 ]] ; then
+               doman "${WORKDIR}"/${PN}-${PKGDEV_DOCS_VERSION}-docs/man/*.[0-8]
+       fi
+
        distutils-r1_python_install_all
 }

diff --git a/dev-util/pkgdev/pkgdev-9999.ebuild 
b/dev-util/pkgdev/pkgdev-9999.ebuild
index 7453376035da..f7d2c6919798 100644
--- a/dev-util/pkgdev/pkgdev-9999.ebuild
+++ b/dev-util/pkgdev/pkgdev-9999.ebuild
@@ -3,15 +3,31 @@
 
 EAPI=8
 
+# Generate using 
https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pkgdev-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+PKGDEV_DOCS_PREBUILT=${PKGDEV_DOCS_PREBUILT:-1}
+PKGDEV_DOCS_PREBUILT_DEV=sam
+PKGDEV_DOCS_VERSION=$(ver_cut 1-3)
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+PKGDEV_DOCS_USEFLAG="+doc"
+
 PYTHON_COMPAT=( python3_{8..10} )
 DISTUTILS_IN_SOURCE_BUILD=1
 inherit distutils-r1
 
 if [[ ${PV} == *9999 ]] ; then
+       PKGDEV_DOCS_PREBUILT=0
+
        EGIT_REPO_URI="https://github.com/pkgcore/pkgdev.git";
        inherit git-r3
 else
        SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+       if [[ ${PKGDEV_DOCS_PREBUILT} == 1 ]] ; then
+               SRC_URI+=" !doc? ( 
https://dev.gentoo.org/~${PKGDEV_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PKGDEV_DOCS_VERSION}-docs.tar.xz
 )"
+       fi
+
        KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc 
~x86 ~x64-macos"
 fi
 
@@ -21,6 +37,10 @@ HOMEPAGE="https://github.com/pkgcore/pkgdev";
 LICENSE="BSD MIT"
 SLOT="0"
 
+[[ ${PKGDEV_DOCS_PREBUILT} == 1 ]] && PKGDEV_DOCS_USEFLAG="doc"
+
+IUSE="${PKGDEV_DOCS_USEFLAG}"
+
 if [[ ${PV} == *9999 ]] ; then
        # https://github.com/pkgcore/pkgdev/blob/main/requirements/dev.txt
        RDEPEND="
@@ -41,14 +61,14 @@ fi
 BDEPEND+="test? ( dev-python/pytest )"
 RDEPEND+="dev-vcs/git"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-fix-signoff-example.patch
+)
+
 distutils_enable_sphinx doc
 distutils_enable_tests setup.py
 
 python_compile_all() {
-       # We'll generate man pages ourselves
-       # Revisit when a release is made
-       # to pregenerate them, making USE=doc
-       # for generating the real HTML docs only.
        use doc && emake -C doc man
 
        # HTML pages only
@@ -56,6 +76,12 @@ python_compile_all() {
 }
 
 python_install_all() {
-       use doc && doman doc/_build/man/*
+       # If USE=doc, there'll be newly generated docs which we install instead.
+       if use doc ; then
+               doman doc/_build/man/*
+       elif ! use doc && [[ ${PKGDEV_DOCS_PREBUILT} == 1 ]] ; then
+               doman "${WORKDIR}"/${PN}-${PKGDEV_DOCS_VERSION}-docs/man/*.[0-8]
+       fi
+
        distutils-r1_python_install_all
 }

Reply via email to