Commit 386d93d0 authored by Alexis Praga's avatar Alexis Praga
Browse files

perlPackages.BioExtAlign: bug fix and add test

Bug: with perl > 5.36, the compiler is more
restrictive with errors. This package has implicit
function definitions. The fix is to ignore the
errors as vep, the main package for that, runs
without issue. Also this package is no longer
maintained

We also add test that were missing from the package.
Not all test can be run as they depends on
other Perl modules in Bioper.
parent 24f7710c
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -8,10 +8,7 @@ buildPerlPackage rec {
  pname = "BioExtAlign";
  version = "1.5.1";

  outputs = [
    "out"
    "dev"
  ];
  outputs = [ "out" ];

  src = fetchFromGitHub {
    owner = "bioperl";
@@ -20,7 +17,15 @@ buildPerlPackage rec {
    sha256 = "sha256-+0tZ6q3PFem8DWa2vq+njOLmjDvMB0JhD0FGk00lVMA=";
  };

  patches = [ ./fprintf.patch ];
  patches = [
    # Starting for Perl 5.6, implicit function declaration are treated as errors
    # There may be an error but ensembl-vep (the main package for this dependency)
    # runs
    ./no-implicit-function.patch
    # Tests need other parts of BioExt, disabling them
    ./disable-other-tests.patch
    ./fprintf.patch
  ];

  # Do not install other Bio-ext packages
  preConfigure = ''
@@ -30,6 +35,15 @@ buildPerlPackage rec {
  # Disable tests as it requires Bio::Tools::Align which is in a different directory
  buildPhase = ''
    make

  '';

  checkPhase = ''
    runHook preCheck

    make test

    runHook postCheck
  '';

  meta = {
@@ -39,5 +53,6 @@ buildPerlPackage rec {
      Part of BioPerl Extensions (BioPerl-Ext) distribution, a collection of Bioperl C-compiled extensions.
    '';
    license = with lib.licenses; [ artistic1 ];
    maintainers = with lib.maintainers; [ apraga ];
  };
}
+84 −0
Original line number Diff line number Diff line
diff --git a/Bio/Ext/Align/test.pl b/Bio/Ext/Align/test.pl
index 72411f3..1deb77b 100755
--- a/Bio/Ext/Align/test.pl
+++ b/Bio/Ext/Align/test.pl
@@ -8,13 +8,10 @@ my $DEBUG = $ENV{'BIOPERLDEBUG'} || 0;
 BEGIN {
     eval { require Test; };
     use Test;
-    plan tests => 9;
+    plan tests => 4;
 }
 
 use Bio::Ext::Align;
-use Bio::Tools::dpAlign;
-use Bio::Seq;
-use Bio::AlignIO;
 
 $loaded = 1;
 ok(1); # modules loaded
@@ -34,64 +31,3 @@ $alb = &Bio::Ext::Align::Align_Sequences_ProteinSmithWaterman($seq1,$seq2,
 					 $seq2->seq,15,50,STDERR) if $DEBUG;
 
 
-warn( "Testing Local Alignment case...\n") if $DEBUg;
-
-$alnout = new Bio::AlignIO(-format => 'pfam', -fh => \*STDERR);
-$aln = &Bio::Ext::Align::Align_DNA_Sequences("AATGCCATTGACGG",
-					     "CAGCCTCGCTTAG",3,-1,3,1,
-		      Bio::Tools::dpAlign::DPALIGN_LOCAL_MILLER_MYERS);
-
-$out = Bio::SimpleAlign->new();
-
-$out->add_seq(Bio::LocatableSeq->new(-seq   => $aln->aln1,
-				     -start => $aln->start1,
-				     -end   => $aln->end1,
-				     -id    => "one"));
-
-$out->add_seq(Bio::LocatableSeq->new(-seq   => $aln->aln2,
-				     -start => $aln->start2,
-				     -end   => $aln->end2,
-				     -id    => "two"));
-$alnout->write_aln($out) if $DEBUG;
-
-$aln = &Bio::Ext::Align::Align_Protein_Sequences("WLGQRNLVSSTGGNLLNVWLKDW","WMGNRNVVNLLNVWFRDW",0,
-						 Bio::Tools::dpAlign::DPALIGN_LOCAL_MILLER_MYERS);
-$out = Bio::SimpleAlign->new();
-ok($aln);
-
-$out->add_seq(Bio::LocatableSeq->new(-seq   => $aln->aln1,
-				     -start => $aln->start1,
-				     -end   => $aln->end1,
-				     -id    => "one"));
-
-$out->add_seq(Bio::LocatableSeq->new(-seq   => $aln->aln2,
-				     -start => $aln->start2,
-				     -end   => $aln->end2,
-				     -id    => "two"));
-$alnout->write_aln($out) if $DEBUG;
-ok(1);
-
-warn( "Testing Global Alignment case...\n") if $DEBUG;
-
-$factory = new Bio::Tools::dpAlign('-alg' => Bio::Tools::dpAlign::DPALIGN_GLOBAL_MILLER_MYERS);
-$s1 = new Bio::Seq(-id => "one", -seq => "AATGCCATTGACGG", -alphabet => 'dna');
-$s2 = new Bio::Seq(-id => "two", -seq => "CAGCCTCGCTTAG", -alphabet => 'dna');
-$aln = $factory->pairwise_alignment($s1, $s2);
-$alnout->write_aln($aln) if $DEBUG;
-$factory->align_and_show($s1, $s2) if $DEBUG;
-
-ok(1);
-
-$s1 = new Bio::Seq(-id => "one", -seq => "WLGQRNLVSSTGGNLLNVWLKDW", 
-		   -alphabet => 'protein');
-$s2 = new Bio::Seq(-id => "two", -seq => "WMGNRNVVNLLNVWFRDW", 
-		   -alphabet => 'protein');
-$aln = $factory->pairwise_alignment($s1, $s2);
-$alnout->write_aln($aln) if $DEBUG;
-$factory->align_and_show($s1, $s2) if $DEBUG;
-ok(1);
-
-$prof = $factory->sequence_profile($s1);
-warn( "Optimal Alignment Score = %d\n", $factory->pairwise_alignment_score($prof, $s2)) if $DEBUG;
-
-ok($factory->pairwise_alignment_score($prof,$s2),77);
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ index 0e07b67..0eab932 100644
 dpAlign_fatal(char * s)
 {
-    fprintf(stderr, s);
+    fputs(stderr, s);
+    fputs(s, stderr);
     exit(-1);
 }
 
+13 −0
Original line number Diff line number Diff line
diff --git a/Bio/Ext/Align/Makefile.PL b/Bio/Ext/Align/Makefile.PL
index cc6c343..ea5cffa 100755
--- a/Bio/Ext/Align/Makefile.PL
+++ b/Bio/Ext/Align/Makefile.PL
@@ -5,7 +5,7 @@ WriteMakefile(
     'NAME'	=> 'Bio::Ext::Align',
     'VERSION'	=> '1.5.1',
     'LIBS'	=> ['-lm'],   # e.g., '-lm' 
-    'DEFINE'	=> '-DPOSIX -DNOERROR',     # e.g., '-DHAVE_SOMETHING' 
+    'DEFINE'	=> '-DPOSIX -DNOERROR -Wno-implicit-function-declaration',     # e.g., '-DHAVE_SOMETHING'
     'INC'	=> '-I./libs',     # e.g., '-I/usr/include/other'
     'MYEXTLIB'  => 'libs/libsw$(LIB_EXT)',
     'clean'     => { 'FILES' => 'libs/*.o libs/*.a' }