Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH 1/2] distutils-r1.eclass: Print buildsys package versions to aid debug
Date: Sun, 08 May 2022 18:29:23
Message-Id: 20220508182735.4191-1-mgorny@gentoo.org
1 Signed-off-by: Michał Górny <mgorny@g.o>
2 ---
3 eclass/distutils-r1.eclass | 92 ++++++++++++++++++++++++++++++++++++++
4 1 file changed, 92 insertions(+)
5
6 diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
7 index e9a28056e9cc..c2f5ab263cd5 100644
8 --- a/eclass/distutils-r1.eclass
9 +++ b/eclass/distutils-r1.eclass
10 @@ -851,6 +851,97 @@ _distutils-r1_check_all_phase_mismatch() {
11 fi
12 }
13
14 +# @FUNCTION: _distutils-r1_print_package_versions
15 +# @INTERNAL
16 +# @DESCRIPTION:
17 +# Print the version of the relevant build system packages to aid
18 +# debugging.
19 +_distutils-r1_print_package_versions() {
20 + local packages=()
21 +
22 + if [[ ${DISTUTILS_USE_PEP517} ]]; then
23 + packages+=(
24 + dev-python/gpep517
25 + dev-python/installer
26 + )
27 + case ${DISTUTILS_USE_PEP517} in
28 + flit)
29 + packages+=(
30 + dev-python/flit_core
31 + )
32 + ;;
33 + flit_scm)
34 + packages+=(
35 + dev-python/flit_core
36 + dev-python/flit_scm
37 + dev-python/setuptools_scm
38 + )
39 + ;;
40 + hatchling)
41 + packages+=(
42 + dev-python/hatchling
43 + )
44 + ;;
45 + jupyter)
46 + packages+=(
47 + dev-python/jupyter_packaging
48 + dev-python/setuptools
49 + dev-python/setuptools_scm
50 + dev-python/wheel
51 + )
52 + ;;
53 + maturin)
54 + packages+=(
55 + dev-util/maturin
56 + )
57 + ;;
58 + pbr)
59 + packages+=(
60 + dev-python/pbr
61 + dev-python/setuptools
62 + dev-python/wheel
63 + )
64 + ;;
65 + pdm)
66 + packages+=(
67 + dev-python/pdm-pep517
68 + dev-python/setuptools
69 + )
70 + ;;
71 + poetry)
72 + packages+=(
73 + dev-python/poetry-core
74 + )
75 + ;;
76 + setuptools)
77 + packages+=(
78 + dev-python/setuptools
79 + dev-python/setuptools_scm
80 + dev-python/wheel
81 + )
82 + ;;
83 + esac
84 + else
85 + case ${DISTUTILS_USE_SETUPTOOLS} in
86 + manual|no)
87 + return
88 + ;;
89 + *)
90 + packages+=(
91 + dev-python/setuptools
92 + )
93 + ;;
94 + esac
95 + fi
96 +
97 + local pkg
98 + einfo "Build system packages:"
99 + for pkg in "${packages[@]}"; do
100 + local installed=$(best_version "${pkg}")
101 + einfo " $(printf '%-30s' "${pkg}"): ${installed#${pkg}-}"
102 + done
103 +}
104 +
105 # @FUNCTION: distutils-r1_python_prepare_all
106 # @DESCRIPTION:
107 # The default python_prepare_all(). It applies the patches from PATCHES
108 @@ -894,6 +985,7 @@ distutils-r1_python_prepare_all() {
109 python_copy_sources
110 fi
111
112 + _distutils-r1_print_package_versions
113 _DISTUTILS_DEFAULT_CALLED=1
114 }
115
116 --
117 2.35.1

Replies