The aim is to create a singularity container with Feynhiggs/Higgsbounds/HiggsSignal/2HDMC/SusHi running together peacefully. They are a powerful combination, but fiddly to set up. I would like to be able to offer this container as a way to replicate my results.
In order to do this several hacks are required. For example, 2HDMC mostly requires Higgsbounds version 5, but also uses one legacy function from HiggsBounds version 4, so I will insert the legacy function into the source of HiggsBounds 5 before compiling HiggsBounds 5. 2HDMC is no longer maintained, but it is still the only program that does what I need. This is just one example, almost all packages require changes to source to co-operate although they are all intended to be used together.
In principle I could write all these changes into the singularity recipe as sed
substitutions, but that would probably create a completely unreadable recipe file. Alternatively I could construct a zip of all the files that need alterations and just have the recipe substitute them in, I think this would be neater, but I have never seen it done. It would also make it obvious from the recipe where the alterations are.
Is there a standard practice for hacking source before compiling in a singularity?