Gentoo Archives: gentoo-dev

From: Michael Haubenwallner <haubi@g.o>
To: gentoo-dev@l.g.o
Cc: george@g.o
Subject: [gentoo-dev] Re: gnatbuild.eclass refactoring: new/transitory eclass?
Date: Tue, 27 Oct 2015 17:09:35
Message-Id: 562FAFB9.80000@gentoo.org
In Reply to: [gentoo-dev] gnatbuild.eclass refactoring: new/transitory eclass? by George Shapovalov
1 Hi George,
2
3 On 09/03/2015 04:00 PM, George Shapovalov wrote:
4 > I am about to start a long-overdue refactoring of the gnat (Ada compilers)
5 > build system, governed by the gnatbuild.eclass. Given that nature of the
6 > packages concerned and, for quite some time, I was the only person brave
7 > enough to even touch this beast this probably does not concern too many
8 > people. However, since I am likely to produce some observable effects, such as
9 > introduction of a (possibly transitory) new eclass, I am giving a requisite
10 > heads-up here.
11 >
12 > First a short but necessary introduction:
13 > gnatbuild.eclass is a complex and ancient beast controlling the build of the
14 > two Ada compilers we have in the tree - gnat-gcc (by FSF) and gnat-gpl (by
15 > AdaCore). It has been created some 10 years ago, following the toolchain.eclas
16 > of then, long before even functions like src_prepare were envisioned and the
17 > term pms existed only in medical terminology. Correspondingly, it is composed
18 > of big blocks of code, not very modular and can benefit greatly of new
19 > practices.
20 >
21 > The catch is that all the gnat-xxx ebuilds depend on it and replacing the
22 > eclass would require modifying all of the ebuilds at the same time. Given the
23 > typical adjustmentsto address gcc backend gets bumps and the differences
24 > between two implementations, doing a big, all-in-one change like that is a
25 > perfect recipe for disaster that would likely lead to total breakage of gnat
26 > build system and the project that is never complete at the same time.
27 > Therefore I am thinking to do it in a more usual and gradual manner:
28
29 Just wondering whether you are aware of https://bugs.gentoo.org/547358 already:
30
31 Although I'm not an Ada dev, as gcc upstream committer I've need to bootstrap
32 the Ada parts within gcc as well, but faced that neither AdaCore nor gnat-xxx
33 ebuilds provide a C,C++,Ada compiler. Given that AdaCore seems to not provide
34 anything up-to-date at all any more, my idea was to provide the recent FSF Ada
35 compiler via toolchain.eclass only.
36
37 Thanks!
38 /haubi/