Hi Cedric, If you need to patch one or two things in a bunch of files, I would highly recommend the fileinput approach.
Doing that in the configure step makes sense to me, but you can also override the patch_step function. We rarely do that, but maybe we should try and use that consistently when patching sources during the EasyBuild run. K. Cédric LACZNY <[email protected]> wrote: >Hi Kenneth, >On 7 Dec 2012, at 08:41, Kenneth Hoste wrote: > >> Hi Cedric, >> >> On 07 Dec 2012, at 08:31, Cédric LACZNY wrote: >> >>> Hi, >>> >>> I wanted to build Cufflinks based on the easyblock and easyconfig of >>> https://github.com/fgeorgatos/easybuild.experimental/blob/master/users/claczny/bioinfo/. >>> However, I get now an error: >>> claczny@gaia-37:~/easybuild.experimental/users/claczny/bioinfo $ time eb >>> Cufflinks-2.0.2-goalf-1.1.0-no-OFED.eb --robot >> <snip> >>> File >>> "/home/clusterusers/claczny/easybuildEXP/lib/python2.7/site-packages/easybuild_framework-1.0.1-py2.7.egg/easybuild/framework/easyblock.py", >>> line 1069, in configure_step >>> raise NotImplementedError >>> >>> Probably I am missing something but I don't know what. >>> >>> Looking forward to your inputs. >> >> You're subclassing from the abstract easyblock class EasyBlock, which >> doesn't implement an yof the (major) step functions, it just raises a >> NotImplementedError. >> >> What you probably want it to derive from the ConfigureMake easyblock, which >> implements the configure-make-make install build procedure. >> >> You can import that easyblock with >> >> from easybuild.easyblocks.generic.configuremake import ConfigureMake >> >> >> That should help. >> >> BTW, the way you're patching files in the configure step is not ideal. You >> have two, much better, options: > >Thank you for the hints. > >i second that it is not ideal to work with sed in the configure_build step. In >this particular situation several files need that adjustment, so they would >all need to be patched. I don't know how to do a "one-for-all" patch and I >don't know if it is nice to have a patch-file for every individual file that >suffers from this error. That is why I decided to do the "patching" online >along the build-process with sed-command. > >> >> * create an actual patch file, using the 'diff' command (if you don't know >> how, tell us, we'll document it on the wiki) >> * using the fileinput and re Python packages, see for example >> https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/w/wrf.py >> > >I will check on those. Thank you. > >> Please try and use on of these approaches before contributing back the >> easyblock instead of using sed. >> > >In which step of the build process should this happen in your opinion? Is the >configure_step alright, only the fact that sed is use is discouraged? > >> >> regards, >> >> Kenneth > >Best, > >Cedric > >Cedric Laczny, >PhD Student > >UNIVERSITÉ DU LUXEMBOURG > >LUXEMBOURG CENTRE FOR SYSTEMS BIOMEDICINE >Campus Belval | House of Biomedicine >7, avenue des Hauts-Fourneaux >L-4362 Esch-sur-Alzette >T +352 46 66 44 6398 >F +352 46 66 44 6949 >[email protected] http://lcsb.uni.lu > > >----- >This message is confidential and may contain privileged information. It is >intended for the named recipient only. If you receive it in error please >notify me and permanently delete the original message and any copies. >----- > > >

