>> How would the decision which easyblock version to use be done properly? >> I'd somehow have to add support for WRF >= 3.8 without taking away >> support for earlier versions. Would that go via subclassing the EB_WRF >> class? If so, how would I ensure that EasyBuild automatically picks the >> correct easyblock depending on the version? > > You would insert a check like: > > if LooseVersion(self.version) >= LooseVersion('3.8'): > # new regexp > else: > # old regexp >> >> But maybe I should start working on the right regexp ... ;) > > Let me know if you nee help with this, because these can be daunting... > > The key is to include a 'named group' in the regex with the label 'nr', > which will indicate the actual number that would be used, as is also the > case now in the existing value for build_type_question with (?P<nr>[0-9]+) . > > You'll need to provide new definitions for build_type_option for the > newer WRF versions, based on the compiler family (see existing code), > and then construct build_type_question differently using both > build_type_option and bt (the build type being selected, e.g. dmpar). > > Taking a look at the way in which WRF 3.6 and earlier prints the list of > options would help a great deal probably. > > If you need help, maybe you should consider jumping into the #easybuild > IRC channel on the FreeNode IRC network...
Okay, it seems I have the regexp now. Now I need to fiddle with the patches ... but that should be okay. I'll submit a PR once I'm done. Cheers, Andreas. -- Dr. Andreas Hilboll Center for Marine Environmental Sciences (MARUM) - AND - Institute of Environmental Physics (IUP) University of Bremen U3145 Otto-Hahn-Allee 1 D-28359 Bremen Germany +49(0)421 218 62133 (phone) +49(0)421 218 98 62133 (fax) http://www.iup.uni-bremen.de/~hilboll