dev-perl/librg-utils-perl: Add tests, fixed defined(@array)
authorKent Fredric <kentnl@gentoo.org>
Sun, 29 Oct 2017 14:42:57 +0000 (03:42 +1300)
committerKent Fredric <kentnl@gentoo.org>
Sun, 29 Oct 2017 15:07:06 +0000 (04:07 +1300)
- EAPI6
- Add basic compile test
- fix defined(@array) bug exposed by basic compile test
- Clearly nobody is actually using this.

Package-Manager: Portage-2.3.8, Repoman-2.3.3

dev-perl/librg-utils-perl/files/librg-utils-perl-1.0.43-defined-array.patch [new file with mode: 0644]
dev-perl/librg-utils-perl/librg-utils-perl-1.0.43-r1.ebuild [new file with mode: 0644]

diff --git a/dev-perl/librg-utils-perl/files/librg-utils-perl-1.0.43-defined-array.patch b/dev-perl/librg-utils-perl/files/librg-utils-perl-1.0.43-defined-array.patch
new file mode 100644 (file)
index 0000000..3042d3a
--- /dev/null
@@ -0,0 +1,160 @@
+From 73e9e3126de1ac485462284fd1d97cb2ea3b09e8 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentnl@gentoo.org>
+Date: Mon, 30 Oct 2017 03:36:42 +1300
+Subject: Fix deprecated use of defined(@array)
+
+---
+ lib/RG/Utils/Conv_hssp2saf.pm |  4 ++--
+ lib/RG/Utils/Copf.pm          | 14 +++++++-------
+ lib/RG/Utils/Hssp_filter.pm   | 14 +++++++-------
+ 3 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/lib/RG/Utils/Conv_hssp2saf.pm b/lib/RG/Utils/Conv_hssp2saf.pm
+index 20bd803..f4a309e 100644
+--- a/lib/RG/Utils/Conv_hssp2saf.pm
++++ b/lib/RG/Utils/Conv_hssp2saf.pm
+@@ -604,7 +604,7 @@ sub hsspRdAli {
+                               #                  of all numbers wanted (i.e. = $want[M])
+     undef @ptr_numFin2numWant;        # $ptr[M]=   N   : see previous, the other way around!
+-    $#want=0                    if (! defined @want);
++    $#want=0                    if (!@want);
+     $LreadAll=0; 
+                               # ------------------------------
+                               # digest input
+@@ -657,7 +657,7 @@ sub hsspRdAli {
+                               # sort the array
+     @wantNum= sort bynumber (@wantNum);
+                               # too many wanted
+-    if (defined @wantNum && ($wantNum[$#wantNum] > $locNum[$#locNum])){
++    if (@wantNum && ($wantNum[$#wantNum] > $locNum[$#locNum])){
+       $#tmp=0; 
+       foreach $want (@wantNum){
+           if ($want <= $locNum[$#locNum]){
+diff --git a/lib/RG/Utils/Copf.pm b/lib/RG/Utils/Copf.pm
+index eb43700..c132f90 100644
+--- a/lib/RG/Utils/Copf.pm
++++ b/lib/RG/Utils/Copf.pm
+@@ -2112,7 +2112,7 @@ sub brIniSet {
+           $par{$kwd}=$par{"dirOut"}.$par{$kwd} if (-d $par{"dirOut"});}}
+                               # ------------------------------
+                               # push array of output files
+-    $#fileOut=0 if (! defined @fileOut);
++    $#fileOut=0 if (!@fileOut);
+     foreach $kwd (@kwdFileOut){
+       push(@fileOut,$par{$kwd});}
+                               # ------------------------------
+@@ -2240,7 +2240,7 @@ sub brIniWrt {
+           printf $fhTraceLocSbr "--- %-20s '%-s'\n",$kwd,$par{$kwd};}}
+                               # ------------------------------
+                               # input files
+-    if    (defined @fileIn && $#fileIn>1){
++    if    (@fileIn && $#fileIn>1){
+                               # get dirs
+       $#tmpdir=0; undef %tmpdir;
+       foreach $file (@fileIn){
+@@ -2262,10 +2262,10 @@ sub brIniWrt {
+               $tmp=$fileIn[$it2]; $tmp=~s/^.*\///g;
+               printf $fhTraceLocSbr "%-18s ",$tmp;++$it2;}
+           print $fhTraceLocSbr "\n";}}
+-    elsif ((defined @fileIn && $#fileIn==1) || (defined $fileIn && -e $fileIn)){
++    elsif ((@fileIn && $#fileIn==1) || (defined $fileIn && -e $fileIn)){
+       $tmp=0;
+       $tmp=$fileIn    if (defined $fileIn && $fileIn);
+-      $tmp=$fileIn[1] if (! $tmp && defined @fileIn && $#fileIn==1);
++      $tmp=$fileIn[1] if (! $tmp && @fileIn && $#fileIn==1);
+       print  $fhTraceLocSbr "--- \n";
+       printf $fhTraceLocSbr "--- %-20s '%-s'\n","Input file:",$tmp;}
+     print  $fhTraceLocSbr "--- \n";
+@@ -4737,7 +4737,7 @@ sub getSysARCH {
+                               # ------------------------------
+                               # (1) find in arguments passed
+                               # ------------------------------
+-#    if (defined @argLoc && $#argLoc > 0) {
++#    if (@argLoc && $#argLoc > 0) {
+ #     foreach $arg (@argLoc) {
+ #         if ($arg=~/^ARCH=(\S+)/i) {
+ #             $archFound=$1;
+@@ -5022,7 +5022,7 @@ sub hsspRdAli {
+                               #                  of all numbers wanted (i.e. = $want[M])
+     undef @ptr_numFin2numWant;        # $ptr[M]=   N   : see previous, the other way around!
+-    $#want=0                    if (! defined @want);
++    $#want=0                    if (!@want);
+     $LreadAll=0; 
+                               # ------------------------------
+                               # digest input
+@@ -5075,7 +5075,7 @@ sub hsspRdAli {
+                               # sort the array
+     @wantNum= sort bynumber (@wantNum);
+                               # too many wanted
+-    if (defined @wantNum && ($wantNum[$#wantNum] > $locNum[$#locNum])){
++    if (@wantNum && ($wantNum[$#wantNum] > $locNum[$#locNum])){
+       $#tmp=0; 
+       foreach $want (@wantNum){
+           if ($want <= $locNum[$#locNum]){
+diff --git a/lib/RG/Utils/Hssp_filter.pm b/lib/RG/Utils/Hssp_filter.pm
+index 0172713..1e31573 100644
+--- a/lib/RG/Utils/Hssp_filter.pm
++++ b/lib/RG/Utils/Hssp_filter.pm
+@@ -1436,7 +1436,7 @@ sub brIniSet {
+           $par{"$kwd"}=$par{"dirOut"}.$par{"$kwd"} if (-d $par{"dirOut"});}}
+                               # ------------------------------
+                               # push array of output files
+-    $#fileOut=0 if (! defined @fileOut);
++    $#fileOut=0 if (!@fileOut);
+     foreach $kwd (@kwdFileOut){
+       push(@fileOut,$par{"$kwd"});}
+                               # ------------------------------
+@@ -1564,7 +1564,7 @@ sub brIniWrt {
+           printf $fhTraceLocSbr "--- %-20s '%-s'\n",$kwd,$par{"$kwd"};}}
+                               # ------------------------------
+                               # input files
+-    if    (defined @fileIn && $#fileIn>1){
++    if    (@fileIn && $#fileIn>1){
+                               # get dirs
+       $#tmpdir=0; undef %tmpdir;
+       foreach $file (@fileIn){
+@@ -1586,10 +1586,10 @@ sub brIniWrt {
+               $tmp=$fileIn[$it2]; $tmp=~s/^.*\///g;
+               printf $fhTraceLocSbr "%-18s ",$tmp;++$it2;}
+           print $fhTraceLocSbr "\n";}}
+-    elsif ((defined @fileIn && $#fileIn==1) || (defined $fileIn && -e $fileIn)){
++    elsif ((@fileIn && $#fileIn==1) || (defined $fileIn && -e $fileIn)){
+       $tmp=0;
+       $tmp=$fileIn    if (defined $fileIn && $fileIn);
+-      $tmp=$fileIn[1] if (! $tmp && defined @fileIn && $#fileIn==1);
++      $tmp=$fileIn[1] if (! $tmp && @fileIn && $#fileIn==1);
+       print  $fhTraceLocSbr "--- \n";
+       printf $fhTraceLocSbr "--- %-20s '%-s'\n","Input file:",$tmp;}
+     print  $fhTraceLocSbr "--- \n";
+@@ -1816,7 +1816,7 @@ sub getSysARCH {
+                               # ------------------------------
+                               # (1) find in arguments passed
+                               # ------------------------------
+-    if (defined @argLoc && $#argLoc > 0) {
++    if (@argLoc && $#argLoc > 0) {
+       foreach $arg (@argLoc) {
+           if ($arg=~/^ARCH=(\S+)/i) {
+               $archFound=$1;
+@@ -2318,7 +2318,7 @@ sub hsspFilterMarkFile {
+                               # check arguments
+     return(0,"*** $sbrName: not def fileInLoc!")          if (! defined $fileInLoc);
+     return(0,"*** $sbrName: not def fileOutLoc!")         if (! defined $fileOutLoc);
+-    return(0,"*** $sbrName: not def \@takeLoc!")          if (! defined @takeLoc || $#takeLoc<1);
++    return(0,"*** $sbrName: not def \@takeLoc!")          if (! @takeLoc || $#takeLoc<1);
+     return(0,"*** $sbrName: miss in file '$fileInLoc'!")  if (! -e $fileInLoc);
+                               # open files
+     &open_file("$fhinLoc","$fileInLoc") ||
+@@ -2371,7 +2371,7 @@ sub hsspGetFile {
+     $#dir2=$Lok=0;
+     return(0,"no input file")   if (! defined $fileInLoc);
+     $chainLoc="";$idLoc=$fileInLoc;$idLoc=~s/^.*\///g;
+-    $#dir=0                     if (! defined @dir);
++    $#dir=0                     if (!@dir);
+     $Lscreen=0                  if (! defined $Lscreen);
+                               # passed dir instead of Lscreen
+     if (-d $Lscreen) { @dir=($Lscreen,@dir);
+-- 
+2.14.3
+
diff --git a/dev-perl/librg-utils-perl/librg-utils-perl-1.0.43-r1.ebuild b/dev-perl/librg-utils-perl/librg-utils-perl-1.0.43-r1.ebuild
new file mode 100644 (file)
index 0000000..88b8d7c
--- /dev/null
@@ -0,0 +1,59 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit perl-module
+
+DESCRIPTION="Parsers and format conversion utilities used by (e.g.) profphd"
+HOMEPAGE="http://rostlab.org/"
+SRC_URI="ftp://rostlab.org/librg-utils-perl/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+       dev-perl/List-MoreUtils"
+DEPEND="${RDEPEND}
+       sci-libs/profphd-utils
+       dev-perl/Module-Build
+"
+PATCHES=("${FILESDIR}/${P}-defined-array.patch")
+src_configure() {
+       econf
+       perl-module_src_configure
+}
+
+src_install() {
+       rm mat/Makefile* || die
+       perl-module_src_install
+       insinto /usr/share/${PN}
+       doins -r mat
+       exeinto /usr/share/${PN}
+       doexe *.pl dbSwiss
+       doman blib/libdoc/*
+}
+src_test() {
+       local MODULES=(
+               "RG::Utils::Conv_hssp2saf"
+               "RG::Utils::Hssp_filter"
+               "RG::Utils::Copf"
+       )
+       local failed=()
+       for dep in "${MODULES[@]}"; do
+               ebegin "Compile testing ${dep}"
+                       perl -Mblib="${S}" -M"${dep} ()" -e1
+               eend $? || failed+=( "$dep" )
+       done
+       if [[ ${failed[@]} ]]; then
+               echo
+               eerror "One or more modules failed compile:";
+               for dep in "${failed[@]}"; do
+                       eerror "  ${dep}"
+               done
+               die "Failing due to module compilation errors";
+       fi
+       perl-module_src_test
+}