diff options
author | Sam James <sam@gentoo.org> | 2022-07-20 19:34:37 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-07-20 19:34:37 +0000 |
commit | 9f8bd86ea87a3fa7b4634a8eeb374a30876f184a (patch) | |
tree | 70d64678fb74325a2d21550f7f6679dfc013e27e /dev-util/pkgdev | |
parent | app-emulation/qemu: disable pre-generated man pages for 9999 (diff) | |
download | gentoo-9f8bd86ea87a3fa7b4634a8eeb374a30876f184a.tar.gz gentoo-9f8bd86ea87a3fa7b4634a8eeb374a30876f184a.tar.bz2 gentoo-9f8bd86ea87a3fa7b4634a8eeb374a30876f184a.zip |
dev-util/pkgdev: provide pre-generated man pages
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/pkgdev')
-rw-r--r-- | dev-util/pkgdev/Manifest | 1 | ||||
-rw-r--r-- | dev-util/pkgdev/pkgdev-0.2.1-r2.ebuild | 87 | ||||
-rw-r--r-- | dev-util/pkgdev/pkgdev-9999.ebuild | 36 |
3 files changed, 119 insertions, 5 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-0.2.1-r2.ebuild b/dev-util/pkgdev/pkgdev-0.2.1-r2.ebuild new file mode 100644 index 000000000000..f7d2c6919798 --- /dev/null +++ b/dev-util/pkgdev/pkgdev-0.2.1-r2.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +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 + +DESCRIPTION="Collection of tools for Gentoo development" +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=" + ~dev-python/snakeoil-9999[${PYTHON_USEDEP}] + ~dev-util/pkgcheck-9999[${PYTHON_USEDEP}] + ~sys-apps/pkgcore-9999[${PYTHON_USEDEP}] + " +else + # https://github.com/pkgcore/pkgdev/blob/main/requirements/install.txt + RDEPEND=" + >=dev-python/snakeoil-0.9.6[${PYTHON_USEDEP}] + >=dev-util/pkgcheck-0.10.0[${PYTHON_USEDEP}] + >=sys-apps/pkgcore-0.12.0[${PYTHON_USEDEP}] + " +fi + +# Uses pytest but we want to use the setup.py runner to get generated modules +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() { + use doc && emake -C doc man + + # HTML pages only + sphinx_compile_all +} + +python_install_all() { + # 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 } |