summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Zamarin <arthurzam@gentoo.org>2022-10-15 18:38:30 +0300
committerArthur Zamarin <arthurzam@gentoo.org>2022-10-15 19:04:26 +0300
commit5dd0b3434fabac6e209a454a26ba2a0cc386a850 (patch)
tree04f280eaa23388128f42ad4cef9394407a6c007d /dev-util/pkgdev
parentsys-process/at: fix VariableScope (diff)
downloadgentoo-5dd0b3434fabac6e209a454a26ba2a0cc386a850.tar.gz
gentoo-5dd0b3434fabac6e209a454a26ba2a0cc386a850.tar.bz2
gentoo-5dd0b3434fabac6e209a454a26ba2a0cc386a850.zip
dev-util/pkgdev: fix docs generation
Closes: https://bugs.gentoo.org/877189 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'dev-util/pkgdev')
-rw-r--r--dev-util/pkgdev/files/pkgdev-0.2.3-docs-path.patch47
-rw-r--r--dev-util/pkgdev/pkgdev-0.2.3.ebuild12
-rw-r--r--dev-util/pkgdev/pkgdev-9999.ebuild8
3 files changed, 59 insertions, 8 deletions
diff --git a/dev-util/pkgdev/files/pkgdev-0.2.3-docs-path.patch b/dev-util/pkgdev/files/pkgdev-0.2.3-docs-path.patch
new file mode 100644
index 000000000000..3386c3e96cff
--- /dev/null
+++ b/dev-util/pkgdev/files/pkgdev-0.2.3-docs-path.patch
@@ -0,0 +1,47 @@
+https://github.com/pkgcore/pkgdev/commit/640c78d7
+
+doc: fix generating of code when built in PEP517 mode
+
+When in PEP517 mode, the source code is located in a different location,
+so use better relative fallback place. Also cleanup a little the code
+handling to use pathlib.
+
+Bug: https://bugs.gentoo.org/877189
+Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
+--- a/doc/conf.py
++++ b/doc/conf.py
+@@ -16,13 +16,17 @@
+ import os
+ import sys
+ from importlib import import_module
++from pathlib import Path
+
+ # If extensions (or modules to document with autodoc) are in another directory,
+ # add these directories to sys.path here. If the directory is relative to the
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
+-libdir = os.path.abspath(os.path.join('..', 'build', 'lib'))
+-if os.path.exists(libdir):
+- sys.path.insert(0, libdir)
++
++if (src_path := Path(__file__).parent.parent / 'src').is_dir():
++ sys.path.insert(0, str(src_path.resolve()))
++
++if (libdir := Path(__file__).parent.parent / 'build/lib').is_dir():
++ sys.path.insert(0, str(libdir.resolve()))
+
+ os.environ['PKGDIST_REPODIR'] = os.path.abspath('..')
+ from snakeoil.dist import distutils_extensions as pkgdist
+@@ -241,11 +245,9 @@
+
+ # -- Options for manual page output ---------------------------------------
+
+-bin_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'bin')
+-scripts = os.listdir(bin_path)
+-
+ generated_man_pages = [
+- (f"{project}.scripts.{s.replace('-', '_')}", s) for s in scripts
++ (f"{project}.scripts.{s.name.replace('-', '_')}", s.name)
++ for s in (Path(__file__).parent.parent / 'bin').iterdir()
+ ]
+
+ # One entry per manual page. List of tuples
diff --git a/dev-util/pkgdev/pkgdev-0.2.3.ebuild b/dev-util/pkgdev/pkgdev-0.2.3.ebuild
index 0599a544b7a9..242f46ae1906 100644
--- a/dev-util/pkgdev/pkgdev-0.2.3.ebuild
+++ b/dev-util/pkgdev/pkgdev-0.2.3.ebuild
@@ -8,8 +8,6 @@ PYTHON_COMPAT=( python3_{8..11} )
inherit distutils-r1
if [[ ${PV} == *9999 ]] ; then
- PKGDEV_DOCS_PREBUILT=0
-
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgdev.git
https://github.com/pkgcore/pkgdev.git"
inherit git-r3
@@ -48,8 +46,14 @@ RDEPEND+="dev-vcs/git"
distutils_enable_sphinx doc
distutils_enable_tests setup.py
+PATCHES=(
+ "${FILESDIR}/pkgdev-0.2.3-docs-path.patch"
+)
+
python_compile_all() {
- use doc && emake -C doc man
+ if use doc; then
+ "${EPYTHON}" setup.py build_man -f || die
+ fi
# HTML pages only
sphinx_compile_all
@@ -58,7 +62,7 @@ python_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/*
+ doman build/sphinx/man/*
elif [[ ${PV} != *9999 ]]; then
doman man/*.[0-8]
fi
diff --git a/dev-util/pkgdev/pkgdev-9999.ebuild b/dev-util/pkgdev/pkgdev-9999.ebuild
index 0599a544b7a9..f42159a4c268 100644
--- a/dev-util/pkgdev/pkgdev-9999.ebuild
+++ b/dev-util/pkgdev/pkgdev-9999.ebuild
@@ -8,8 +8,6 @@ PYTHON_COMPAT=( python3_{8..11} )
inherit distutils-r1
if [[ ${PV} == *9999 ]] ; then
- PKGDEV_DOCS_PREBUILT=0
-
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgdev.git
https://github.com/pkgcore/pkgdev.git"
inherit git-r3
@@ -49,7 +47,9 @@ distutils_enable_sphinx doc
distutils_enable_tests setup.py
python_compile_all() {
- use doc && emake -C doc man
+ if use doc; then
+ "${EPYTHON}" setup.py build_man -f || die
+ fi
# HTML pages only
sphinx_compile_all
@@ -58,7 +58,7 @@ python_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/*
+ doman build/sphinx/man/*
elif [[ ${PV} != *9999 ]]; then
doman man/*.[0-8]
fi