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 00/44] @PROVIDES for eclasses
Date: Thu, 02 Sep 2021 10:47:35
Message-Id: 20210902104724.1043118-1-mgorny@gentoo.org
1 Hi,
2
3 Here are proposed @PROVIDES value for eclasses.
4
5 @PROVIDES is the new eclassdoc key that indicates that the eclass
6 indirectly provides API of another eclasses, i.e. if X has @PROVIDES
7 on Y, then you don't have to inherit Y explicitly when using X.
8
9 For example, python-r1 eclasses all provide python-utils-r1 since you
10 never have to inherit it when using python-r1 eclasses, and distutils-r1
11 provides python-r1 or python-single-r1. @PROVIDES are processed
12 recursively, i.e. you don't need to list indirectly provided eclasses.
13
14 I've assembled the list by running `pkgcheck scan -c InheritsCheck`
15 until it didn't seem to list any obvious false positives. However,
16 eclass maintainers probably know better which eclasses should be
17 provided indirectly, so please review.
18
19
20 Michał Górny (44):
21 ant-tasks.eclass: Set @PROVIDES
22 apache-module.eclass: Set @PROVIDES
23 autotools.eclass: Set @PROVIDES
24 cmake.eclass: Set @PROVIDES
25 cmake-multilib.eclass: Set @PROVIDES
26 cmake-utils.eclass: Set @PROVIDES
27 distutils-r1.eclass: Set @PROVIDES
28 ecm.eclass: Set @PROVIDES
29 eutils.eclass: Set @PROVIDES
30 gnome2.eclass: Set @PROVIDES
31 gnome2-utils.eclass: Set @PROVIDES
32 gnustep-2.eclass: Set @PROVIDES
33 golang-build.eclass: Set @PROVIDES
34 golang-vcs-snapshot.eclass: Set @PROVIDES
35 go-module.eclass: Set @PROVIDES
36 gstreamer.eclass: Set @PROVIDES
37 gstreamer-meson.eclass: Set @PROVIDES
38 haskell-cabal.eclass: Set @PROVIDES
39 java-ant-2.eclass: Set @PROVIDES
40 java-osgi.eclass: Set @PROVIDES
41 java-pkg-2.eclass: Set @PROVIDES
42 java-pkg-opt-2.eclass: Set @PROVIDES
43 kernel-build.eclass: Set @PROVIDES
44 kernel-install.eclass: Set @PROVIDES
45 kodi-addon.eclass: Set @PROVIDES
46 linux-mod.eclass: Set @PROVIDES
47 lua.eclass: Set @PROVIDES
48 lua-single.eclass: Set @PROVIDES
49 meson.eclass: Set @PROVIDES
50 meson-multilib.eclass: Set @PROVIDES
51 multilib-build.eclass: Set @PROVIDES
52 multilib-minimal.eclass: Set @PROVIDES
53 perl-module.eclass: Set @PROVIDES
54 php-ext-pecl-r3.eclass: Set @PROVIDES
55 postgres-multi.eclass: Set @PROVIDES
56 python-any-r1.eclass: Set @PROVIDES
57 python-r1.eclass: Set @PROVIDES
58 python-single-r1.eclass: Set @PROVIDES
59 ros-catkin.eclass: Set @PROVIDES
60 ruby-fakegem.eclass: Set @PROVIDES
61 ruby-ng-gnome2.eclass: Set @PROVIDES
62 ruby-single.eclass: Set @PROVIDES
63 xdg.eclass: Set @PROVIDES
64 xorg-3.eclass: Set @PROVIDES
65
66 eclass/ant-tasks.eclass | 1 +
67 eclass/apache-module.eclass | 1 +
68 eclass/autotools.eclass | 1 +
69 eclass/cmake-multilib.eclass | 1 +
70 eclass/cmake-utils.eclass | 1 +
71 eclass/cmake.eclass | 1 +
72 eclass/distutils-r1.eclass | 1 +
73 eclass/ecm.eclass | 1 +
74 eclass/eutils.eclass | 1 +
75 eclass/gnome2-utils.eclass | 1 +
76 eclass/gnome2.eclass | 1 +
77 eclass/gnustep-2.eclass | 1 +
78 eclass/go-module.eclass | 3 ++-
79 eclass/golang-build.eclass | 1 +
80 eclass/golang-vcs-snapshot.eclass | 1 +
81 eclass/gstreamer-meson.eclass | 1 +
82 eclass/gstreamer.eclass | 1 +
83 eclass/haskell-cabal.eclass | 1 +
84 eclass/java-ant-2.eclass | 1 +
85 eclass/java-osgi.eclass | 1 +
86 eclass/java-pkg-2.eclass | 1 +
87 eclass/java-pkg-opt-2.eclass | 1 +
88 eclass/kernel-build.eclass | 1 +
89 eclass/kernel-install.eclass | 1 +
90 eclass/kodi-addon.eclass | 1 +
91 eclass/linux-mod.eclass | 1 +
92 eclass/lua-single.eclass | 1 +
93 eclass/lua.eclass | 1 +
94 eclass/meson-multilib.eclass | 1 +
95 eclass/meson.eclass | 1 +
96 eclass/multilib-build.eclass | 1 +
97 eclass/multilib-minimal.eclass | 1 +
98 eclass/perl-module.eclass | 1 +
99 eclass/php-ext-pecl-r3.eclass | 1 +
100 eclass/postgres-multi.eclass | 1 +
101 eclass/python-any-r1.eclass | 1 +
102 eclass/python-r1.eclass | 1 +
103 eclass/python-single-r1.eclass | 1 +
104 eclass/ros-catkin.eclass | 1 +
105 eclass/ruby-fakegem.eclass | 1 +
106 eclass/ruby-ng-gnome2.eclass | 1 +
107 eclass/ruby-single.eclass | 1 +
108 eclass/xdg.eclass | 1 +
109 eclass/xorg-3.eclass | 1 +
110 44 files changed, 45 insertions(+), 1 deletion(-)
111
112 --
113 2.33.0

Replies

Subject Author
[gentoo-dev] [PATCH 01/44] ant-tasks.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 02/44] apache-module.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 03/44] autotools.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 04/44] cmake.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 05/44] cmake-multilib.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 06/44] cmake-utils.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 07/44] distutils-r1.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 08/44] ecm.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 09/44] eutils.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 10/44] gnome2.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 11/44] gnome2-utils.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 12/44] gnustep-2.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 13/44] golang-build.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 14/44] golang-vcs-snapshot.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 15/44] go-module.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 16/44] gstreamer.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 17/44] gstreamer-meson.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 18/44] haskell-cabal.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 19/44] java-ant-2.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 20/44] java-osgi.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 21/44] java-pkg-2.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 22/44] java-pkg-opt-2.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 23/44] kernel-build.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 24/44] kernel-install.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 25/44] kodi-addon.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 26/44] linux-mod.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 27/44] lua.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 28/44] lua-single.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 29/44] meson.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 30/44] meson-multilib.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 31/44] multilib-build.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 32/44] multilib-minimal.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 33/44] perl-module.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 34/44] php-ext-pecl-r3.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 35/44] postgres-multi.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 36/44] python-any-r1.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 37/44] python-r1.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 38/44] python-single-r1.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 39/44] ros-catkin.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 40/44] ruby-fakegem.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 41/44] ruby-ng-gnome2.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 42/44] ruby-single.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 43/44] xdg.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
[gentoo-dev] [PATCH 44/44] xorg-3.eclass: Set @PROVIDES "Michał Górny" <mgorny@g.o>
Re: [gentoo-dev] [PATCH 00/44] @PROVIDES for eclasses Marek Szuba <marecki@g.o>