On 12/07/14 05:37, Michał Górny wrote:
If you're interested in testing it, 'layman -a mgorny' and enjoy. I'd
appreciate any bug reports, except for those covering things i've
already listed as missing :). Any further comments will be very helpful
in deciding on the way forward.
Removing the eclass is a bad idea:
0) This reduces code reusability. The eclass is used by
sys-devel/kgcc64 in the tree and (at least) the hardened-dev::musl
overlay outside.
1) Those version specific conditionals that you don't like give a
history/comparison of gcc versions. It is not cruft. It encodes what
versions allow what features. Moving to the ebuilds makes this history
much harder to read. Think of a diff -Naur when producing a patch. I
like the current eclass approach.
2) Getting this to work with hardened and cross compiling and
musl/uclibc is going to need re-writing far beyond the eclass. The gain
is in my opinion not worth it given what I suggest below:
If there is a real interest in my fork, I will probably move it to gx86
as sys-devel/gcc-mgorny.
I don't think we should proceed this way. The way I'd like to proceed
is to introduce a new toolchain-r1.eclass which addresses at least your
QA issues below. If I understood Ryan's plan with the eclass, it was to
simply refactor the phase functions to modernize things but keep
backwards compat. When toolchain-r1.eclass is mature, then we switch
the inherit. I'd like to keep gcc-2* and gcc-3* around. We could
consider cleaning up those ebuilds to work with EAPI=4 or 5 with the new
eclass or just leave them with the old eclass.
Also, no to the name sys-devel/gcc-mgorny. I very much appreciate the
excellent hard work you've done on eclasses, but the reason this is
happening is because of patches that toolchain lead is not accepting.
Anyhow, most of the work with gcc (in my opinion) is with the patches
against gcc itself which are housed in ~vapier, ~rhill and ~zorry. When
you don't accept my patches to gcc-mgorny, shall I add gcc-basile to the
tree?
I will also be happy to work on replacing
the new versions of original sys-devel/gcc completely. With QA process
against toolchain.eclass if necessary.
Let's get the list of QA issues so I at least can work towards a
toolchain-r1.eclass if you're not interested in going that way. Also, I
take the QA issues seriously, but threatening a QA intervention against
toolchain and then acting by forking is heavy handed. QA actions
against the current codebase is understandable.
So to sum, I'd like to see the QA issues (and others) address in the
current approache and toolchain.eclass. Since we can make mistakes and
since toolchain is fragile, I suggest a toolchain-r1.eclass where we can
test (just change the inheritance in gcc ebuilds for testing) and
finally, when we're happy, do the switcheroo.
--
Anthony G. Basile, Ph. D.
Chair of Information Technology
D'Youville College
Buffalo, NY 14201
(716) 829-8197