Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 31017 - Booch components ebuild
Summary: Booch components ebuild
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: David Holm (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-13 01:22 UTC by George Shapovalov (RETIRED)
Modified: 2003-10-15 19:37 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
booch_components-20030815.ebuild (booch_components-20030815.ebuild,1.72 KB, application/octet-stream)
2003-10-13 01:23 UTC, George Shapovalov (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description George Shapovalov (RETIRED) gentoo-dev 2003-10-13 01:22:16 UTC
Hi David.

This is my first attempt at ada component ebuild.
It would be nice to hear what you think :).

Seems to work here, but I have few remarks/questions

1. Setting up environment:
The ebuild creates env file under /etc/env.d that defines ADA_OBJECTS_PATH and ADA_INCLUDE_PATH, which allows gnat to automatically find the library files. This is quite handy if you are outside of any fancy project handling environment, although I am not sure this is a universally good thing to do.

If you think it is (good), I think it would be useful to add such definitions to the rest of libraries under dev-ada.

2. I am not sure it makes sense to do any compilation in src_compile. gnat will create .0 and .ali files locally when library is used anyway (after all its pretty much everywhere generic). But it might be worth it at least for functionality checking.

3. I install files in -html package as well, although this might be made optional, depending on docs use flag. However the docs aren't that big and should be quite usefull.

George

PS
Non related question:
I was looking into adaSL library (not the AdaCL), as it looks quite interesting. However it also looks like it has been abandoned for some time now. Last update was in 2000, and I had problems building it :(. Is there an update I should look into or is it really off now?
Comment 1 George Shapovalov (RETIRED) gentoo-dev 2003-10-13 01:23:58 UTC
Created attachment 19163 [details]
booch_components-20030815.ebuild

The ebuild.
Comment 2 David Holm (RETIRED) gentoo-dev 2003-10-14 04:47:32 UTC
Hi,
I commited it after making a minor change to the ebuild (\$ instead of $
when writing the env.d file so that ADA_OBJECTS_PATH and ADA_INCLUDE_PATH
won't get expanded).
1. Adding env entries is probably a good idea, I've considered this myself.

2. I think you can pass gnat an option to make it look for precompiled files
in a separate dir, -aO<dir> or something like that. This should however have
the same effect as setting ADA_OBJECTS_PATH, is it still rebuilding the files
for you after sourcing the environment and compiling something that uses
bc?

3. I agree that the docs should be installed. BC is not as simple as STL
to use. But perhaps the examples and tests should go into /usr/share/booch_components/
?

I have not heard of any updates to AdaSL on comp.lang.ada, and I think there
are a couple of alternative libs providing similar features that are still
being maintained. There is one lib called Charles which seems to be rather
popular and is being actively maintained and advertised ;).
Comment 3 George Shapovalov (RETIRED) gentoo-dev 2003-10-15 19:37:56 UTC
Hi David.

Tested out Ok. Thanks for catching that unmasked $ - missed it without anything
defined in those vars previously :(.

>This should however have
>the same effect as setting ADA_OBJECTS_PATH, is it still rebuilding the
files

I thought so as well, but then I noticed it producing .o's and .ali's locally
(I copied few of the demos and built them). I was kind of puzzled by this,
but then I realised that bc's are all-generic, and for generic packages (according
to description) gnat produces only very basic .o's  and .ali's with dependence
information. Real compilation is performed with the unit that instantiates
these packages - at this point it can properly determine sizes of all involved
types as I understand. So, this is probably normal behavior.

>But perhaps the examples and tests should go into /usr/share/booch_components/
?
Hm, a good question. Personally I always considered examples to belong to
docs, but they are really a mixed substance and can be considered "an application
specific data" and thus go under /usr/share/${PN}. I think I saw this done
both ways for other packages, so its really up to you, where you would expect
to find them :).

George