Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: python@g.o, "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH v2 00/20] python-r2 suite
Date: Thu, 05 Mar 2020 15:10:57
Message-Id: 20200305151024.125834-1-mgorny@gentoo.org
1 Hi,
2
3 Here's the second iteration of python-r2 proposal. This time I've
4 decided to follow purely the approach of lint-safe changes. Most
5 of the conversions would be doable via script, the remaining
6 incompatibilities would be detectable via script.
7
8 A wip version of the script is at [1]. Right now it just detects use
9 of deprecated EAPIs (including python.eclass leftovers), I will add API
10 update support later on. FWICS it has two false positives right now
11 but I think that's good enough. To do better, we'd have to employ
12 a proper bash parser.
13
14
15 Differences from patch v1:
16
17 - rebased on cleaned up python-r1 suite (so changes applicable to -r1
18 were merged there)
19
20 - lowered DISTUTILS_USE_SETUPTOOLS warnings to non-fatal again, as this
21 is something that can be detected only at runtime
22
23
24 Overall changes from python-r1 suite:
25
26 - the following deprecated API were removed:
27 - EXAMPLES -- they were banned in EAPI 7 already yet people kept
28 failing to remove them anyway
29 - distutils-r2_python_{prepare,configure} -- no-op defaults
30 - python_gen_usedep -- deprecated in favor of python_gen_cond_dep
31
32 - the following functions were made private:
33 - python_wrapper_setup (part of python_setup)
34 - python_is_installed (internal since inception)
35 - python_export (in favor of python_get*)
36
37 - PYTHON_MULTI_USEDEP was renamed back to PYTHON_USEDEP for consistency
38 between eclasses (but still needs python_gen_cond_dep in p-s-r1)
39
40 - python-r1 becomes python-multi-r2
41
42 - distutils-r2 now passes --skip-build to install target -- this is
43 the only potentially breaking change but the potential is really
44 minimal, so we should catch it via testing the eclasses
45
46
47 [1] https://github.com/mgorny/pymighelper
48
49
50 Michał Górny (20):
51 eclass: Copy python-r1 suite to python-r2
52 distutils-r2.eclass: Remove EXAMPLES
53 distutils-r2.eclass: Remove no-op subphase defaults
54 distutils-r2.eclass: Remove distutils.eclass checks
55 python-r2.eclass: Remove python_gen_usedep
56 python-utils-r2.eclass: Remove python.eclass checks
57 python-utils-r2.eclass: Mark python_wrapper_setup private
58 python-utils-r2.eclass: Mark python_is_installed private
59 python-utils-r2.eclass: Fix obsolete docs on python_export_best
60 python-utils-r2.eclass: Mark python_export private
61 python-utils-r2.eclass: Remove PYTHON_SITEDIR export
62 python-utils-r2.eclass: Remove PYTHON_INCLUDEDIR export
63 python-utils-r2.eclass: Remove PYTHON_LIBPATH export
64 python-utils-r2.eclass: Remove PYTHON_CFLAGS export
65 python-utils-r2.eclass: Remove PYTHON_LIBS export
66 python-utils-r2.eclass: Remove PYTHON_CONFIG export
67 python-utils-r2.eclass: Remove PYTHON_SCRIPTDIR export
68 python-single-r2.eclass: PYTHON_MULTI_USEDEP → PYTHON_USEDEP
69 distutils-r2.eclass: Pass --skip-build to install
70 eclass: python-r2.eclass → python-multi-r2.eclass
71
72 eclass/distutils-r2.eclass | 1109 +++++++++++++++++++++++++++++
73 eclass/python-any-r2.eclass | 363 ++++++++++
74 eclass/python-multi-r2.eclass | 786 ++++++++++++++++++++
75 eclass/python-single-r2.eclass | 512 ++++++++++++++
76 eclass/python-utils-r2.eclass | 1180 +++++++++++++++++++++++++++++++
77 eclass/tests/distutils-r2.sh | 98 +++
78 eclass/tests/python-utils-r2.sh | 250 +++++++
79 7 files changed, 4298 insertions(+)
80 create mode 100644 eclass/distutils-r2.eclass
81 create mode 100644 eclass/python-any-r2.eclass
82 create mode 100644 eclass/python-multi-r2.eclass
83 create mode 100644 eclass/python-single-r2.eclass
84 create mode 100644 eclass/python-utils-r2.eclass
85 create mode 100755 eclass/tests/distutils-r2.sh
86 create mode 100755 eclass/tests/python-utils-r2.sh
87
88 --
89 2.25.1

Replies

Subject Author
[gentoo-dev] [PATCH v2 01/20] eclass: Copy python-r1 suite to python-r2 "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 02/20] distutils-r2.eclass: Remove EXAMPLES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 03/20] distutils-r2.eclass: Remove no-op subphase defaults "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 04/20] distutils-r2.eclass: Remove distutils.eclass checks "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 05/20] python-r2.eclass: Remove python_gen_usedep "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 06/20] python-utils-r2.eclass: Remove python.eclass checks "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 07/20] python-utils-r2.eclass: Mark python_wrapper_setup private "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 08/20] python-utils-r2.eclass: Mark python_is_installed private "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 10/20] python-utils-r2.eclass: Mark python_export private "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 09/20] python-utils-r2.eclass: Fix obsolete docs on python_export_best "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 11/20] python-utils-r2.eclass: Remove PYTHON_SITEDIR export "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 12/20] python-utils-r2.eclass: Remove PYTHON_INCLUDEDIR export "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 13/20] python-utils-r2.eclass: Remove PYTHON_LIBPATH export "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 14/20] python-utils-r2.eclass: Remove PYTHON_CFLAGS export "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 15/20] python-utils-r2.eclass: Remove PYTHON_LIBS export "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 16/20] python-utils-r2.eclass: Remove PYTHON_CONFIG export "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 17/20] python-utils-r2.eclass: Remove PYTHON_SCRIPTDIR export "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 18/20] python-single-r2.eclass: PYTHON_MULTI_USEDEP → PYTHON_USEDEP "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 19/20] distutils-r2.eclass: Pass --skip-build to install "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH v2 20/20] eclass: python-r2.eclass → python-multi-r2.eclass "Michał Górny" <mgorny@g.o>