There was a request to support Boost in the ET. I suggest to add our Boost thorn, in the same way that we currently support PETSc.
Boost is a large library, and often is split into smaller packages. Which of these do you suggest to require if the thorn is given as requirement by another thorn? These would need to be tested for existence and usability by the thorn, and should be given as suggested packages for common OSs.
For a thorn called Boost, I want all of them. If you want only one of them, you should use a thorn Boost_Serialize.
How do you check for an installed version then? Testing just one feature isn't likely to get you the full picture.
Boost can (and is often) split up into several packages. I do have some of them installed, but don't have others, for example. Would the thorn Boost still build a full version of Boost, even though thorns might be happy with the library that is already installed? Should thorns then depend on what they actually need, something like Boost_Serialize instead of the full Boost?
If going that way, the logic would be something like this: Detect all existing Boost components (that Cactus cares about), see if any required components are missing, build the full Boost in that case (or just that component if easy and possible).
How could we do this using the existing build mechanism? This doesn't sound easy, or I am missing something.