Singularity-container: как реализовать значительные изменения в источнике в настройках? - PullRequest
0 голосов
/ 10 апреля 2019

Цель состоит в том, чтобы создать контейнер для сингулярности с Feynhiggs / Higgsbounds / HiggsSignal / 2HDMC / SusHi , работающими вместе мирно. Это мощная комбинация, но сложная в настройке. Я хотел бы быть в состоянии предложить этот контейнер для репликации моих результатов.

Для этого требуется несколько хаков. Например, 2HDMC обычно требует версию 5 Higgsbounds, но также использует одну унаследованную функцию из HiggsBounds версии 4, поэтому я вставлю устаревшую функцию в источник HiggsBounds 5 до компиляции HiggsBounds 5. 2HDMC больше не поддерживается, но все еще Единственная программа, которая делает то, что мне нужно. Это всего лишь один пример, почти все пакеты требуют изменений в исходном коде для взаимодействия, хотя все они предназначены для совместного использования.

В принципе, я мог бы записать все эти изменения в рецепт сингулярности как sed замены, но это, вероятно, создало бы совершенно нечитаемый файл рецепта. В качестве альтернативы я мог бы создать почтовый индекс всех файлов, которые нуждаются в изменениях, и просто заменить их на рецепт, я думаю, что это будет лучше, но я никогда не видел, чтобы это было сделано. Это также сделало бы это очевидным из рецепта, где есть изменения.

Существует ли стандартная практика взлома исходного кода перед компиляцией в единственном числе?

...