There is a good Perl spec and script for the dependency resolution called cpanfile. Probably some code that can be reused...
http://search.cpan.org/~miyagawa/Module-CPANfile-1.0002/lib/cpanfile.pod On Thu, Nov 20, 2014, 9:50 AM Kenneth Hoste <[email protected]> wrote: > > On 20/11/14 15:42, Stijn De Weirdt wrote: > > hi all, > > > > afaik jens has a script to walk cpan and produce easyconfigs. if he's > > awake, he'll know where it is. > It doesn't generate easyconfigs, it generates entries for exts_list, in > the right order. > > There's an open PR for it, see > https://github.com/hpcugent/easybuild-framework/pull/897 . > > > regards, > > Kenneth > > > > > stijn > > > > On 11/20/2014 03:23 PM, Heywood, Todd wrote: > >> Hi, > >> > >> Good question. It could/should be expanded fro Perl to Python module > >> installation (e.g. Via “pip”) and R package installation. > >> > >> Todd > >> > >> From: tin h <[email protected]<mailto:[email protected]>> > >> Reply-To: "[email protected]<mailto:[email protected]>" > >> <[email protected]<mailto:[email protected]>> > >> Date: Wednesday, November 19, 2014 at 8:04 PM > >> To: "[email protected]<mailto:[email protected]>" > >> <[email protected]<mailto:[email protected]>> > >> Subject: [easybuild] Any easy way to get lots of CPAN modules for a > >> Perl installation? > >> > >> > >> Hello fellow easybuilder :) > >> > >> > >> On a traditional, OS-based Perl installation, one would use CPAN to > >> automatically fetch and install modules and libraries, including all > >> the dependencies. > >> > >> > >> > >> What easy (as in "lazy") way is there to accomplish the same thing > >> when using EasyBuild? > >> > >> > >> > >> I have a Perl.eb that looks like the one below. I understand that I > >> can list all the CPAN modules by listing them in the exts_list, but > >> this a very long and tedious process, as it does not take care of > >> dependencies. Things like BioPerl has a gigantic list of dependent > >> modules, and I rather not write out this list by hand. I did say I > >> wanted to be lazy, yes? :p > >> > >> > >> Thoughts? How the the Perl guru handling this? > >> > >> > >> Much thanks in advance, > >> > >> Tin > >> > >> > >> > >> > >> > >> > >> name = 'Perl' > >> > >> version = '5.20.0' > >> > >> toolchain = {'name': 'goolf', 'version': '1.5.14-NX'} > >> > >> source_urls = ['http://www.cpan.org/src/5.0'] > >> > >> sources = [SOURCELOWER_TAR_GZ] > >> > >> > >> exts_list = [ > >> > >> ('DBI', '1.631', { > >> > >> 'source_urls': > >> ['http://www.cpan.org/modules/by-module/DBI/TIMB/'], > >> > >> }), > >> > >> ('Module::Build', '0.4205', { > >> > >> 'source_tmpl': 'Module-Build-0.4205.tar.gz', > >> > >> 'source_urls': > >> ['http://www.cpan.org/modules/by-module/Module/LEONT/'], > >> > >> }), > >> > >> ('Devel::StackTrace', '1.32', { > >> > >> 'source_tmpl': 'Devel-StackTrace-1.32.tar.gz', > >> > >> 'source_urls': > >> ['http://www.cpan.org/modules/by-module/Devel/DROLSKY'], > >> > >> }), > >> > >> ('Class::Data::Inheritable', '0.08', { > >> > >> 'source_tmpl': 'Class-Data-Inheritable-0.08.tar.gz', > >> > >> 'source_urls': > >> ['http://www.cpan.org/modules/by-module/Class/TMTM'], > >> > >> }) > >> > >> ] > >> > >> moduleclass = 'lang' > >> > >> > >> > >

