aboutsummaryrefslogtreecommitdiffhomepage
path: root/Manual.md
diff options
context:
space:
mode:
authorAndrew J. Hesford <ajh@sideband.org>2020-07-11 13:31:58 -0400
committerAndrew J. Hesford <ajh@sideband.org>2020-07-11 17:57:47 -0400
commitff61ec45aeba3b19ba25a782037bc80e5a6e2182 (patch)
tree6ad645ed29afb33a8c63fc91365e03f416c1d0ea /Manual.md
parentzeal: fix build w/ qt5-5.15.0 (diff)
xbps-src: Explain python module dependencies in Manual.md
Diffstat (limited to 'Manual.md')
-rw-r--r--Manual.md15
1 files changed, 12 insertions, 3 deletions
diff --git a/Manual.md b/Manual.md
index 10082b68da5..31babf14d6a 100644
--- a/Manual.md
+++ b/Manual.md
@@ -1444,9 +1444,18 @@ Python packages should be built with the `python{,2,3}-module` build style, if p
This sets some environment variables required to allow cross compilation. Support to allow
building a python module for multiple versions from a single template is also possible.
-To allow cross compilation, the `python-devel` package (for python 2.7) must be added
-to `hostmakedepends` and `makedepends`. If any other python version is also supported,
-for example python3.4, those must also be added as host and target build dependencies.
+Python packages that rely on `python3-setuptools` should generally map `setup_requires`
+dependencies in `setup.py` to `hostmakedepends` in the template and `install_requires`
+dependencies to `depends` in the template; include `python3` in `depends` if there are no other
+python dependencies. If the package includes a compiled extension, the `python3-devel` packages
+should be added to `makedepends`, as should any python packages that also provide native libraries
+against which the extension will be linked (even if that package is also included in
+`hostmakedepends` to satisfy `setuptools`).
+
+**NB**: Python `setuptools` will attempt to use `pip` or `EasyInstall` to fetch any missing
+dependencies at build time. If you notice warnings about `EasyInstall` deprecation or python eggs
+present in `${wrksrc}/.eggs` after building the package, then those packages should be added to
+`hostmakedepends`.
The following variables may influence how the python packages are built and configured
at post-install time: