Skip Menu |

This queue is for tickets about the App-Provision-Tiny CPAN distribution.

Report information
The Basics
Id: 129110
Status: resolved
Worked: 45 min
Priority: 0/
Queue: App-Provision-Tiny

People
Owner: gene [...] cpan.org
Requestors: DBAURAIN [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.0402
Fixed in: (no value)



Subject: update brew install command and support for linux machines?
Hi Gene, I have recently played with your distribution and I find it very convenient to deploy Perl modules relying on external binaries. As an illustration, I attach an example of a subclass taking advantage of your approach. However, the class installing brew itself does not work anymore due to a change in the download URL. Therefore, would it be possible to update the install command? Moreover, it would be great to also support Linux systems, as homebrew works perfectly well on them too. https://brew.sh/ https://stackoverflow.com/questions/33353618/can-i-use-homebrew-on-ubuntu If you don't have the time to do that, I am willing to do the required changes myself, but I would need you to accept the patches on CPAN. Best regards, Denis -- Prof. Denis BAURAIN Head of the Dept of Life Sciences University of Liège InBioS - PhytoSYSTEMS, Eukaryotic Phylogenomics Sart Tilman, Quartier Vallée 1 Chemin de la Vallée 4, Bât. B22 4000 Liège Belgium
Subject: Hmmer.pm
package Bio::MUST::Provision::Hmmer; # ABSTRACT: Internal class for app provisioning system # AUTOGENERATED CODE! DO NOT MODIFY THIS FILE! use Modern::Perl '2011'; use Carp; use parent qw(App::Provision::Tiny); sub deps { qw(brew) } sub condition { my $self = shift; my $condition = qx{which hmmsearch} =~ m/hmmsearch$/xms; carp 'Note: HMMER executable not found; installing with HomeBrew...' unless $condition; return $condition ? 1 : 0; } sub meet { my $self = shift; $self->recipe( ['brew tap brewsci/bio'], ['brew install hmmer'], ); } 1;
Subject: build_provis.pl
#!/usr/bin/env perl use Modern::Perl '2011'; use autodie; use Template; use Path::Class qw(file dir); # TODO: better handle taps (some are in homebrew/core and tap is useless) my @provisions = ( { 'class' => 'Blast', 'app' => 'NCBI-BLAST+', 'pgm' => 'blastp', 'form' => 'blast', # homebrew/core }, { 'class' => 'Cap3', 'app' => 'CAP3', 'pgm' => 'cap3', 'form' => 'cap3', # brewsci/bio }, { 'class' => 'CdHit', 'app' => 'CD-HIT', 'pgm' => 'cd-hit', 'form' => 'cd-hit', # brewsci/bio }, { 'class' => 'ClustalO', 'app' => 'Clustal Omega', 'pgm' => 'clustalo', 'form' => 'clustal-omega', # brewsci/bio }, { 'class' => 'Exonerate', 'app' => 'Exonerate', 'pgm' => 'exonerate', 'form' => 'exonerate', # brewsci/bio }, { 'class' => 'Hmmer', 'app' => 'HMMER', 'pgm' => 'hmmsearch', 'form' => 'hmmer', # homebrew/core }, { 'class' => 'Mafft', 'app' => 'MAFFT', 'pgm' => 'mafft', 'form' => 'mafft', # homebrew/core }, ); my $template = file('codegen/templates', 'generic.tt')->stringify; my $outdir = dir('lib/Bio/MUST/Provision'); for my $vars (@provisions) { my $outfile = file($outdir, $vars->{class} . '.pm')->stringify; my $tt = Template->new( { RELATIVE => 1 } ); $tt->process($template, $vars, $outfile) or die 'Cannot build: ' . $outfile . ": $!"; }
Subject: generic.tt
Download generic.tt
application/octet-stream 621b

Message body not shown because it is not plain text.

Thank you for bringing this to my attention. I will investigate! :-)
Hello again Denis. I see the change in hombrew URL, but am not sure about making a linux version for my module. It's been quite a few years since I worked with it... If you have a ready-made patch, form my repo and submit your changes via a github pull request, I will merge and make a new CPAN distro immediately. Thanks, Gene On Wed Apr 10 07:11:27 2019, DBAURAIN wrote: Show quoted text
> ... > If you don't have the time to do that, I am willing to do the required > changes myself, but I would need you to accept the patches on CPAN.
s/form/fork/
And if you are not a github user, just email the changes to me at gene.boggs@gmail.com and I will get them in. Gene On Wed Apr 10 17:32:23 2019, GENE wrote: Show quoted text
> If you have a ready-made patch, form my repo and submit your changes > via a github pull request, I will merge and make a new CPAN distro > immediately.
Subject: Re: [rt.cpan.org #129110] update brew install command and support for linux machines?
Date: Thu, 11 Apr 2019 08:54:19 +0200
To: <bug-App-Provision-Tiny [...] rt.cpan.org>, <DBAURAIN [...] cpan.org>
From: "Denis BAURAIN" <denis.baurain [...] uliege.be>
Thank you for your fast answer, Gene. I'll try to submit a patch as soon as I have a solution for Linux as well (it is less straightforward than for Mac OS X). Best, Denis At Wed, 10 Apr 2019 20:42:02 -0400, bug-App-Provision-Tiny@rt.cpan.org wrote: Show quoted text
><URL: https://rt.cpan.org/Ticket/Display.html?id=129110 > > >And if you are not a github user, just email the changes to me at >gene.boggs@gmail.com and I will get them in. > >Gene > >On Wed Apr 10 17:32:23 2019, GENE wrote:
>> If you have a ready-made patch, form my repo and submit your changes >> via a github pull request, I will merge and make a new CPAN distro >> immediately.
RT-Send-CC: denis.baurain [...] uliege.be
The newly released version 0.0403 has the homebrew URL fix and also includes the addition of Debian Linux homebrew installation.