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?
Created attachment 19163 [details] booch_components-20030815.ebuild The ebuild.
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 ;).
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