Add easyblock for libint2#236
Conversation
|
I just took a look at the easyblock, and it does seem a bit of overkill, although one could argue about that. Easyblocks are there to implement aspects of build procedures in code once, and then forget about it. If you need to remember to add some lines in an easyconfig file because otherwise the build doesn't work, then put it in an easyblock instead (however small the module ends up to be). This is kind of a corner case, since the Libint2 build itself works fine without this easyblock, and the problem only pops up when Libint2 is a dependency to something else. So for now, I'd agree with you this is overkill. The alternative is to add the following line to all Libint2 easyconfig files: modextrapaths = {'CPATH': "include/libint2"}Downside of this: if it's forgotten in one With an easyblock in place that only has this today, you can simply forget about this, as EasyBuild will make sure the job is always done (even if the line is missing in the easyconfig file). And also, who knows, maybe more stuff will be added in the That being said: up to you. |
|
Good. I'll try to add in some extra's. This may in the long run become a heavier easyblock because the libint2 library source code is generated by the libint2 program. Hence there are many different libint2 flavors with a rather non-standard build process. For now, I just picked the flavor I need, which can also be downloaded from sourceforge (instead of having to generate it). |
|
OK, sounds great. Do post another remark when you feel you're done (we don't get notifications for additional commits that are added). |
|
This should be fine now, unless there are other comments. |
|
It is fine now, tested in the process of testing all easyconfigs touched in easybuilders/easybuild-easyconfigs#385, so good to merge in! Thanks @tovrstra, great job. 👍 |
Second attempt ...
Original PR (which targeted
masterin error), was #235.This is a tiny easyblock. I've tested it on several occasions. A corresponding pull request for the easyconfigs was just created.
It seems a bit silly to make an easyblock for something minor like this. Would it not be better to allow for a bit extra functionality in the easyconfigs, such that this can be take care of with a more local solution? For example, I've wondered from the beginning why easyconfigs are not implemented as subclasses of easyblocks. That would (intentionally) blur the lines between what is an easyblock and what is an easyconfig.