Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 11204
Alias:
Product:
Component:
Status: RESOLVED
Resolution: WONTFIX
Assigned To: George Shapovalov <george@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Mikko Ala-Fossi <maf@iki.fi>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
gcc-3.2-r4.ebuild.patch Patch for gcc-3.2-r4.ebuild patch Mikko Ala-Fossi 2002-11-25 09:54 0000 3.98 KB Details | Diff
digest-gcc-3.2-r4.patch Patch to add MD5 sum of the bootstrap compiler file patch Mikko Ala-Fossi 2002-11-25 10:04 0000 353 bytes Details | Diff
gcc-3.2-bootstrap-gnat-x86.tar.bz2.part1 Part 1 of the gcc-3.2 Ada bootstrap compiler binaries application/octet-stream Mikko Ala-Fossi 2002-11-25 10:45 0000 1000.00 KB Details
gcc-3.2-bootstrap-gnat-x86.tar.bz2.part2 Part2 application/octet-stream Mikko Ala-Fossi 2002-11-25 10:46 0000 1000.00 KB Details
gcc-3.2-bootstrap-gnat-x86.tar.bz2.part3 Part3 application/octet-stream Mikko Ala-Fossi 2002-11-25 10:49 0000 1000.00 KB Details
gcc-3.2-bootstrap-gnat-x86.tar.bz2.part4 Part4 application/octet-stream Mikko Ala-Fossi 2002-11-25 10:51 0000 1000.00 KB Details
gcc-3.2-bootstrap-gnat-x86.tar.bz2.part5 Part5 application/octet-stream Mikko Ala-Fossi 2002-11-25 10:52 0000 1000.00 KB Details
gcc-3.2-bootstrap-gnat-x86.tar.bz2.part6 Part6 application/octet-stream Mikko Ala-Fossi 2002-11-25 10:53 0000 43.42 KB Details
ada.eclass ada.eclass text/plain Mikko Ala-Fossi 2002-12-11 00:49 0000 690 bytes Details
gcc-3.2.1.ebuild.patch Patch for gcc-3.2.1.ebuild patch Mikko Ala-Fossi 2002-12-11 04:19 0000 3.86 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 11204 depends on: Show dependency tree
Bug 11204 blocks: 11290 11292 11961 12288 25065
Votes: 1    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2002-11-25 09:52 0000
Hi!

I added Ada language support to the gcc-3.2-r4.ebuild.

The attached files contain:
  o  patch to the gcc-3.2-r4.ebuild
  o  bootstrap ada compiler binaries for the x86 architecture
     (bootstrap compiler is a stripped down version of the i386
     gcc-3.2 binaries with ada support from redhat rpm)
  o  digest file for the distfiles

I know that the gcc-3.2-r4.ebuild is not the latest development
ebuild available, but I applied the changes to the latest stable
release. I can, however, recreate a patch against newer ebuild file
if someone can point me to the correct version (perhaps the 3.2.1-r5).

In order to compile Ada support to the GCC-3.2, one should add
"ada" to the USE flags, and emerge the patched gcc-3.2-r4.
Ebuilds can then depend on "virtual/gnat", if gnat Ada compiler is
required for them.

Steps to test the Ada language support:
 1. Apply the patch to the /usr/portage/sys-devel/gcc/gcc-3.2-r4.ebuild
 2. Copy bootstrap compiler package to /usr/portage/distfiles/
 3. Copy digest file to the /usr/portage/sys-devel/gcc/files/
 4. Add "ada" to USE flags
 5. "emerge gcc" if the gcc-3.2-r4 is the latest one

Cheers,
  Mikko Ala-Fossi

------- Comment #1 From Mikko Ala-Fossi 2002-11-25 09:54:28 0000 -------
Created an attachment (id=5941) [details]
Patch for gcc-3.2-r4.ebuild

Adds Ada language support to the gcc-3.2-r4.ebuild

------- Comment #2 From Mikko Ala-Fossi 2002-11-25 10:04:21 0000 -------
Created an attachment (id=5942) [details]
Patch to add MD5 sum of the bootstrap compiler file

------- Comment #3 From Mikko Ala-Fossi 2002-11-25 10:45:16 0000 -------
Created an attachment (id=5943) [details]
Part 1 of the gcc-3.2 Ada bootstrap compiler binaries

Sorry, about multiple parts but I do not currently have any better place for
the package.

------- Comment #4 From Mikko Ala-Fossi 2002-11-25 10:46:55 0000 -------
Created an attachment (id=5944) [details]
Part2

------- Comment #5 From Mikko Ala-Fossi 2002-11-25 10:49:28 0000 -------
Created an attachment (id=5945) [details]
Part3

------- Comment #6 From Mikko Ala-Fossi 2002-11-25 10:51:07 0000 -------
Created an attachment (id=5946) [details]
Part4

------- Comment #7 From Mikko Ala-Fossi 2002-11-25 10:52:44 0000 -------
Created an attachment (id=5947) [details]
Part5

------- Comment #8 From Mikko Ala-Fossi 2002-11-25 10:53:17 0000 -------
Created an attachment (id=5948) [details]
Part6

------- Comment #9 From Mikko Ala-Fossi 2002-11-25 10:55:48 0000 -------
To create bootstrap compiler binaries package file:

cat part1 part2 part3 part4 part5 part6 > gcc-3.2-bootstrap-gnat-x86.tar.bz2

------- Comment #10 From Mikko Ala-Fossi 2002-12-11 00:49:29 0000 -------
Created an attachment (id=6394) [details]
ada.eclass

eclass file to define necessary variables for Ada language
ebuilds

------- Comment #11 From Mikko Ala-Fossi 2002-12-11 04:19:11 0000 -------
Created an attachment (id=6396) [details]
Patch for gcc-3.2.1.ebuild

Patch to add Ada language support to the gcc-3.2.1.ebuild

------- Comment #12 From Matthew Kennedy (RETIRED) 2002-12-14 00:10:53 0000 -------
assigned

------- Comment #13 From Matthew Kennedy (RETIRED) 2002-12-14 00:59:19 0000 -------
azarah, looks like major change to the gcc ebuild

------- Comment #14 From Martin Schlemmer (RETIRED) 2002-12-14 14:40:29 0000 -------
I dont know how the wranglers end up assigning bugs sometimes :P

Ill look into this later on .. btw Mikko, did you see we bumped 3.2.1 to stable ?

------- Comment #15 From Mikko Ala-Fossi 2002-12-17 02:03:42 0000 -------
Yes, I did notice the versiom bump. There is
gcc-3.2.1.ebuild that corresponds to the new version.

------- Comment #16 From Mark Gawler 2002-12-22 05:07:48 0000 -------
I note that the ebuild uses parallel makes to do the bootstrap of gcc, this
failed on my system so I changed to using make rather than emake. The error I
got was something like:
  'interfac.ads needs to be recompiled as system.ads has changed'

The gcc Ada build instructions does acknowledge this limitation, although its
not obvious it applies to both the bootstrap and the build of gnatlib_and_tools

I did not use the ebuild in this bug report to build gcc with Ada, but I used a
method very similar (a less thorough hack).

------- Comment #17 From Mikko Ala-Fossi 2002-12-23 08:52:51 0000 -------
Yes, I noted that too. That is why the patch for gcc-3.2.1.ebuild sets
"-j 1" option to make command for both bootstrap and tools when "ada"
use flag is set.

------- Comment #18 From David Holm (RETIRED) 2003-05-01 14:56:13 0000 -------
I suggest checking out this ebuild I wrote:
http://bugs.gentoo.org/attachment.cgi?id=11363&action=view

It will install gnat 3.15p. The version of Ada in gcc 3.X is terribly broken
and will probably stay that way for some time. Ada is geared towards real-time
systems so this is unacceptable. 3.15p is validated and stable.

------- Comment #19 From David Holm (RETIRED) 2003-05-03 16:43:43 0000 -------
To make things a bit more clear. This is ACT's official statement regarding Ada
in GCC:
"The current distribution of the public version of GNAT is 3.15p. This version
is based on GCC 2.8.1. It should not be confused with the version of GNAT
available with GCC 3.2, which is an alpha version of the integration of GNAT
with recent versions of the GCC code generator, and does not correspond to any
specific GNAT release." - http://libre.act-europe.fr/GNAT/main.html

Don't do the same mistake as Debian did and use the gcc version instead of
ACT's. One of the biggest reasons I switched over to gentoo was that it didn't
have any Ada packages so I was hoping I would be the first to submit proper
ones (which sadly, I wasn't).

I would gladly maintain the Ada packages for you, at least for a period. I'm an
Ada freak myself so I know what is the right way to do things and what is the
wrong way.
IMHO, if you want the gcc version of Ada installed you should create a separate
package which installs ONLY gcc (not the gnat* tools) and installs it as
adagcc-3.2 or something like that (with a clear warning sign) and let the GNAT
3.15p package and gcc version be the default. Since you can tell gnatmake to
use any gcc compiler through the --GCC switch this would be a viable solution.

But please, don't make this yet another distro with a broken Ada compiler =(.
This is an important language for important applications, it should not be
taken lightly (as the people on comp.lang.ada has pointed out so many times ;).

------- Comment #20 From Mikko Ala-Fossi 2003-05-04 06:06:53 0000 -------
The original idea of the ada.eclass file in this gcc-3.2 ada support was that
the similar file would be also present with the official gnat compiler packages, and
the user could decide which ada compiler to use. The ada.eclass file would then
specify which compiler binaries to use for building ada packages.

I personally think that both compilers should be available to the user, and
I agree that the official gnat compiler should be the preferred compiler for production use.
However, this alpha-grade ada support should also be present in order to help
gcc3 get better ada support. So naming this package as adagcc-3.xx or something could be a reasonable option.

I think that the question what we should really be considering is that, whether we shall aim to provide full gnae http://cert.uni-stuttgart.de/projects/ada/gnae.php support in Gentoo or something else? (with both ada compilers, the preferred official gnat and gcc3 with ada support).

------- Comment #21 From David Holm (RETIRED) 2003-05-04 08:00:29 0000 -------
The possibility to switch between compilers using .eclass sounds great.
GNAE seems pretty good, one question arises though, would libraries compiled with GNAT 3.15 (gcc 2.8.1) link with libraries compiled with GCC 3 (Ada)? This is something I never tried.

I don't think that the main gcc package should install support for Ada but rather we should have a separate adagcc (as you suggested). Another interesting point is that ACT has opened parts of their CVS to the public, including GNAT. It might be more appropriate to provide a GNAT5-CVS ebuild instead of using the code in gcc, at least until the gcc 3 backend is working properly.

IMHO, the most important packages to add are gnat, glade, assis, florist, gdb (as gnatgdb), GtkAda 1.2 (as that is what gvd uses (the visual debugger)) and gvd since these packages make up the cornerstone of the gnat environment.

I have already written a gnat ebuild which supports both native and fsu threads (important!, fsu is required for Annex D support in linux) and I'm going to prepare a glade ebuild asap. I hope they won't be forgotten, this is what happened to me when I wrote a ton of Ada-related ports for FreeBSD, noone was interested and they were never imported into ports.

------- Comment #22 From Mikko Ala-Fossi 2003-05-04 12:40:41 0000 -------
Proposal for important Ada packages with some dependencies:
-----------------------------------------------------------

dev-ada/gccada-3.2.2 : sys-devel/gcc-3.2.2 (bootstrap compiler)

dev-ada/gnat-3.XX : (bootstrap compiler)

virtual/gnat : dev-ada/gccada-3.2.2 | dev-ada/gnat-3.XX

dev-ada/florist-3.XX : virtual/gnat

dev-ada/asis-3.XX : virtual/gnat

dev-ada/garlic-3.XX (same as glade but renamed because of name conflict) : virtual/gnat

dev-ada/gnade-3.XX : virtual/gnat

dev-ada/gtkada-2.X.X (slot2) : virtual/gnat x11-libs/gtk+-2.X.X

dev-ada/gtkada-1.2.X (slot1) : virtual/gnat x11-libs/gtk+-1.2.X

dev-ada/gnae-0.5 : sys-devel/make virtual/gnat dev-ada/florist dev-ada/asis dev-ada/garlic >=sys-libs/ncurses-5.3

dev-ada/xmlada-X.X : virtual/gnat

dev-ada/gvd-X.X : >=dev-ada/gtkada-1.2

dev-ada/gnatgdb-X.X (the new gdb has Ada support in CVS so this may not be necessary) : 

------- Comment #23 From David Holm (RETIRED) 2003-05-04 13:00:51 0000 -------
virtual/gnat : dev-ada/gnat-3.XX
Do NOT use gcc 3 as the default Ada compiler, that would be like using gcc 3.4 as the main C/C++ compiler (closer to the truth than most would expect, since floats are broken in C in 3.4 as well ;).

dev-ada/gtkada-2.X.X (slot2) : dev-ada/gccada-3.2.2 x11-libs/gtk+-2.X.X
IIRC gtkada 2 requires GNAT 5 for some reason... gtkada 1.2 seems to still be the standard though... so maybe it makes sense

dev-ada/gnat-glade-3.XX : virtual/gnat  (until ACT officially renames it)

dev-ada/gnatgdb-4.17 (the official gdb for gnat 3.15p)

I suggest that instead of gccada-3.2.2 we should add gnat-cvs and gnatgdb-cvs since ACT only randomly submits patches to gcc, and noone at FSF seems extremely interested in Ada anyway, besides from the fact they think it's cool to support yet another language.

I agree on the other packages... BTW, the gnat-3.15p ebuild now installs gcc and gcov as gnatgcc and gnatgcov to make it clear where it comes from.

------- Comment #24 From Matthew Kennedy (RETIRED) 2003-05-04 23:13:59 0000 -------
please re-route this bug to someone with ada experience

------- Comment #25 From Seemant Kulleen (RETIRED) 2003-06-08 01:20:36 0000 -------
David, Mikko,

Please both of you come to irc.freenode.net channel #gentoo and have a chat with avenj and myself (our /nicks are avenj and seemant, respectively)

------- Comment #26 From Seemant Kulleen (RETIRED) 2003-06-09 08:24:24 0000 -------
*** Bug 20357 has been marked as a duplicate of this bug. ***

------- Comment #27 From George Shapovalov 2003-06-14 01:08:48 0000 -------
I will take on this one as well for a while until I determine how this can play
together with gcc. I might be able to finish it up eventually, or if not, will
reassign back, so gcc maintainer can close this bug.

For the reference (to keep track of things and since listing it as a dependency
isn't really appropriate), #13113 contains the ebuilds for gnat.

I will start with gnat support and then we can decide how to go about
modifications to gcc ebuilds.

George

------- Comment #28 From George Shapovalov 2003-06-17 15:48:20 0000 -------
Ok, #13113 has been processed and gnat is already in portage!

Having read through this thread now carefully I see that there is no more talk about adjusting gcc ebuilds, but instead the idea is to provide separate packages - adagcc and/or adagcc-cvs? In such case I think I may be able to process this bug as well (and I am a fan of ada myself, though I am very early in learning stage ;)).
David: I am counting on your help in getting ada in gentoo sorted out properly ;). Would you be willing to become an "official" developer maintaining dev-ada (and ada related ebuilds under dev-lang)? There is some stuff to get accostumed with first though. So I will probably take care of this bug with your help, and then will let you proceed with the apps, populating dev-ada (though I'll be overseeing your submissions for some time..)

Back to this submission.

I see two packages were mentioned wrt ada support in gcc:
1. create adagcc ebuild, which will contain necessary modifications and effectively install updated version of gcc.

2. adagcc-cvs - I think that would be a proper name for it. Should install tested cvs snapshot (portage can handle "live-cvs" ebuilds, but these will never get unmasked and are not really welcome even in ~arch profile - most often they are eternally package.mask'ed. While cvs snapshot can get pretty high in stability/useability ranking).

Common remark: if possible, this should only install add-on files, may be except few necessary back-end ones that contain ada specific additions. In general, the less is overwritten, the better. dev-lang/gpc is an example of such ebuild (though quite outdated as of now. I still cannot get around to completing gcc-3 based version. Well, gpc devs are usually behind one minor version, so its also hard to pick a "proper time").

So, should we go along with either or both of those? If you guys would feel better, we can initiate thread on gentoo-dev@g.o to solicit comments on what people would like to see and who at all cares..

eclass:
Usually eclasses are sed to rpovide common parts of closely related packages. kde is perheaps the brightest example. Compiler selection was generally done by providing xxx-config (like) utility, as is with gcc-config or java-config. The utility is supposed to "activate" selected compiler [version] and do other necessary handling. Taking similar route this might be something with the usage along the lines of:
ada-config --set-adac gnat[-$PV]
emerge pkgname
ada-config --set-adac adagcc[-$PV]
...

> IMHO, the most important packages to add are gnat, glade, assis, florist, 
> gdb (as gnatgdb), GtkAda 1.2 (as that is what gvd uses (the visual debugger)) > and gvd since these packages make up the cornerstone of the gnat environment.
6 total (in addition to gnat, which is in dev-lang) in this list. I think this warrants new category dev-ada. Once we have these ebuilds in bugzilla (or once David accumulates at least 5 of them) I/he will submit a request about new category creation to gentoo-dev (this is relatively major change and requires approval) and then we can start populating it.

Ok, this seems to be it for now. If I'll recall anything else later I will add more.

George


------- Comment #29 From David Holm (RETIRED) 2003-06-17 16:41:53 0000 -------
I will do my best in bringing as many Ada-related packages to gentoo as soon as
possible.
I have a couple in my local portdir but not all of them are working yet. I will
 mail them as soon as they work-for-me<tm> and lintool approves of them. I am
doing my best to adapt to the GNAE standard as it seems to be the best way to
collect code. FreeBSD has a tendency to put ada-stuff in either local or X11R6
in a subdir in either lib or include, so it is a mess =(. GNAE handles it in a
cleaner way although some parts of it seems strange, such as their adainstall
and adaconfig scripts (these are better handled with ebuild and eclasses imho).
They mention debian as a distro which follows this standard which is hillarious
since debian for instance only carries gnat 3.14p even though it is extremely
old now. (Older than GNAE to my knowledge)
The specification is here: http://cert.uni-stuttgart.de/projects/ada/gnae.php

At the moment I have the following packages in my local portdir:
AdaBindX (binding to X11 and Motif): working, but I'm converting it to GNAE
standard.
ASIS: not finished yet
CBIND (which is an extremely useful application to create bindings from
C-headers with, although it could use some improvement as it is getting dated,
the maintainer was rational which has now been bought by IBM): finished
florist: submitted by Mikko Ala-Fossi, still not working for me, I get a
constraint error during compilation, investigating this...
GtkAda-2.0.0: submitted by Mikko Ala-Fossi, I cleaned it up a bit, finished
xmlada-0.7.1: submitted by Alexis Muller, I'm currently converting this to GNAE

I also have the following packages on my todo-list:
AdaOpenGL: OpenGL binding that I have created myself since everyone is using an
extremely old binding which hasn't been updated in years (the distribution ftp
has been down for a long long time), it is available here
http://adaopengl.sf.net/ ;D... I'm in the process of releasing a new version of
it

AUnit: Unit testing for Ada

AdaSDL: Binding to SDL, hasn't been updated in a long time but it is well
written and still useful

gnat-cvs: this one still does not compile, but I'm testing it at regular
intervals, I suggest a snapshots instead of a cvs-ebuild though

gvd, gnatgdb

glade/garlic: official Annex E implementation

jgnat: will make java applets from your ada code, it only compiles with gnat
3.14p though =(

adabrowse and adadoc: two different document-generation tools (like doxygen but
less advanced)

and a ton of component libraries: Booch Components, Charles, AdaSL, SGL etc

It might be easier to follow an Ada-related thread if it was created in one of
the forums though.
The idea of an ada-config script is interesting, I considered writing one but
as I stumbled onto more and more bugs in the gnat ebuild I forgot about it. It
might still be interesting to switch between gnat 3.14p and 3.15p as there are
some unsupported software available that won't compile with 3.15p. And when 5.0
is released it would be even more interesting as I'm guessing even more
software will stop compiling by then.

------- Comment #30 From George Shapovalov 2003-08-17 15:33:20 0000 -------
Ok, since final decision seems to be to add a snapshot of gnat-5.0 and not to
add ada support to gcc I am closing this bug.

George

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug