Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH 1/3] dev-util/meson: install meson-array script
Date: Thu, 17 Dec 2020 21:14:41
Message-Id: 4f6bfc9910c010bb589443f6d727d97df7483926.camel@gentoo.org
In Reply to: Re: [gentoo-dev] [PATCH 1/3] dev-util/meson: install meson-array script by Mike Gilbert
1 On Thu, 2020-12-17 at 16:08 -0500, Mike Gilbert wrote:
2 > On Thu, Dec 17, 2020 at 3:50 PM Mike Gilbert <floppym@g.o>
3 > wrote:
4 > >
5 > > On Thu, Dec 17, 2020 at 3:38 PM William Hubbs <williamh@g.o>
6 > > wrote:
7 > > >
8 > > > On Sat, Dec 12, 2020 at 09:22:06PM -0500, Mike Gilbert wrote:
9 > > > > On Sat, Dec 12, 2020 at 9:09 PM William Hubbs
10 > > > > <williamh@g.o> wrote:
11 > > > > >
12 > > > > > On Sat, Dec 12, 2020 at 04:25:48PM -0500, Mike Gilbert wrote:
13 > > > > > > On Sat, Dec 12, 2020 at 3:48 PM William Hubbs
14 > > > > > > <williamh@g.o> wrote:
15 > > > > > > > If both /usr/bin/python and /usr/bin/python3 are going
16 > > > > > > > away, the best
17 > > > > > > > choice would be to add functionality to python-exec or
18 > > > > > > > eselect python to tell us
19 > > > > > > > the path to the default python interpretor. Once we know
20 > > > > > > > that we call it
21 > > > > > > > directly.
22 > > > > > >
23 > > > > > > I don't think they are "going away". There is a USE flag on
24 > > > > > > dev-lang/python-exec that makes them optional, and I think
25 > > > > > > it will be
26 > > > > > > forcibly enabled for the foreseeable future.
27 > > > > > >
28 > > > > > > > Please do not apply this patch to meson; I think we can
29 > > > > > > > figure something
30 > > > > > > > out that is better.
31 > > > > > >
32 > > > > > > I think installing a small script to help translate
33 > > > > > > arguments from one
34 > > > > > > format to another is a reasonable solution.
35 > > > > >
36 > > > > >  I think we should look at the eclass to see if we can
37 > > > > > provide functions
38 > > > > >  that can be used by consumers to handle this.
39 > > > >
40 > > > > I don't really understand what you mean by this. I am
41 > > > > converting one
42 > > > > internal bash function into an external script so that its
43 > > > > python
44 > > > > dependencies can be better defined and managed.
45 > > >
46 > > > What I mean is, ebuilds should not be calling _meson_env_array at
47 > > > all
48 > > > since it is defined and documented as an eclass internal
49 > > > function.
50 > > >
51 > > > I would like to know more about what the gallium-nine-standalone
52 > > > ebuild
53 > > > is doing and why it needs to call a meson.eclass internal
54 > > > function.
55 > > >
56 > > > On the other hand, if _meson_env_array is meant to be called by
57 > > > ebuilds,
58 > > > we need to rename it and improve the documentation for it in the
59 > > > eclass.
60 > >
61 > > I do not really care about gallium-nine-standalone and its abuse of
62 > > the private _meson_env_array function. That's an issue that should
63 > > be
64 > > separate from the change I am proposing. I am only touching the
65 > > ebuild
66 > > because my patch removes the _meson_env_array function and I want
67 > > to
68 > > avoid breaking the ebuild.
69 > >
70 > > > > > Also, I don't think your script will run if native-symlinks
71 > > > > > is disabled since in
72 > > > > > that setting /usr/bin/python would not exist.
73 > > > >
74 > > > > python_doscript updates the shebang before installing the
75 > > > > script.
76 > > >
77 > > >  Ok, I didn't know python_doscript does this, but couldn't we
78 > > > just
79 > > >  change line 129 in the eclass to "python3 -c ..."?
80 > >
81 > > No, that will not help in any way.
82 > >
83 > > > > > I question the value of the native-symlinks  use flag on
84 > > > > > python-exec
85 > > > > > unless there is a way to query the path of the default python
86 > > > > > interpretor.
87 > > > >
88 > > > > Regardless, I don't see how that makes my solution a bad thing.
89 > > > > It
90 > > > > ensures that the code will be executed by a
91 > > > > known/support/tested
92 > > > > version of python.
93 > > > >
94 > > >
95 > > > I'm not sure how useful the script is as a command, so I don't
96 > > > think it
97 > > > should be installed that way, but I do want to hear more about
98 > > > this,
99 > > > both from you and chewi. :-)
100 > >
101 > > I don't see any reasonable way to make it work otherwise. If you
102 > > have
103 > > no better suggestion, please refrain from further comments.
104 >
105 > I gave it a little more thought, and I suppose we could use "eselect
106 > python show" to get a valid python interpreter. I'll put together a
107 > patch for that.
108 >
109
110 Do you want all meson packages to depend on eselect-python?
111
112 --
113 Best regards,
114 Michał Górny