summaryrefslogtreecommitdiff
path: root/dev-util/pkgdev
diff options
context:
space:
mode:
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 5102883e05bd..878b8123d07b 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_{7,8,9,10} )
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 5102883e05bd..ab768a94b6d4 100644
--- a/dev-util/pkgdev/pkgdev-9999.ebuild
+++ b/dev-util/pkgdev/pkgdev-9999.ebuild
@@ -8,8 +8,6 @@ PYTHON_COMPAT=( python3_{7,8,9,10} )
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