public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/sci:master commit in: sci-biology/repeatmasker/, sci-biology/repeatmasker/files/
@ 2015-11-24 19:28 Martin Mokrejs
  0 siblings, 0 replies; 2+ messages in thread
From: Martin Mokrejs @ 2015-11-24 19:28 UTC (permalink / raw
  To: gentoo-commits

commit:     62c5ffc75e7cea39f2488c7567ea47808c57b8f8
Author:     Martin Mokrejš <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
AuthorDate: Tue Nov 24 19:27:44 2015 +0000
Commit:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
CommitDate: Tue Nov 24 19:27:44 2015 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=62c5ffc7

sci-biology/repeatmasker: heavily patch configure to return error codes and die upon error; add more DEPENDencies

Package-Manager: portage-2.2.18

 sci-biology/repeatmasker/ChangeLog                 |  10 ++
 sci-biology/repeatmasker/files/configure.patch     | 122 +++++++++++++++++++++
 sci-biology/repeatmasker/metadata.xml              |   5 +
 .../repeatmasker/repeatmasker-4.0.1-r1.ebuild      | 100 +++++++++++++++++
 4 files changed, 237 insertions(+)

diff --git a/sci-biology/repeatmasker/ChangeLog b/sci-biology/repeatmasker/ChangeLog
new file mode 100644
index 0000000..67ed4e6
--- /dev/null
+++ b/sci-biology/repeatmasker/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sci-biology/repeatmasker
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Id$
+
+*repeatmasker-4.0.1-r1 (24 Nov 2015)
+
+  24 Nov 2015; Martin Mokrejs <mmokrejs@fold.natur.cuni.cz>
+  +files/configure.patch, +metadata.xml, +repeatmasker-4.0.1-r1.ebuild:
+  sci-biology/repeatmasker: heavily patch configure to return error codes and
+  die upon error; add more DEPENDencies

diff --git a/sci-biology/repeatmasker/files/configure.patch b/sci-biology/repeatmasker/files/configure.patch
new file mode 100644
index 0000000..0b8a75c
--- /dev/null
+++ b/sci-biology/repeatmasker/files/configure.patch
@@ -0,0 +1,122 @@
+--- configure.ori	2013-02-21 02:32:30.000000000 +0100
++++ configure	2015-11-24 19:54:50.630202150 +0100
+@@ -253,17 +253,16 @@
+   close INVERS;
+ }
+ else {
+-  print "\nYour RepeatMasker installation is missing a library file.\n"
++  die "\nYour RepeatMasker installation is missing a library file.\n"
+       . "RepeatMasker requires a minimal set of library sequences to run\n"
+       . "properly.  Please check that all files were extracted from the\n"
+       . "distribution before re-running the configure program.\n\n";
+-  exit;
+ }
+ 
+ print "\n  -- Building monolithic RM database...";
+ system(
+ "$rmLocation/util/buildRMLibFromEMBL.pl $rmLocation/Libraries/RepeatMaskerLib.embl > $rmLocation/Libraries/RepeatMasker.lib 2>/dev/null"
+-);
++) and die "$rmLocation/util/buildRMLibFromEMBL.pl $rmLocation/Libraries/RepeatMaskerLib.embl command filed with: $!";
+ 
+ ##
+ ## TRF location
+@@ -475,7 +474,7 @@
+     }
+     close IN;
+     close OUT;
+-    system( "mv $configFile.tmp $configFile" );
++    system( "mv $configFile.tmp $configFile" ) and die "mv $configFile.tmp $configFile failed with: $!";
+   }
+ 
+ }
+@@ -607,15 +606,15 @@
+   }
+   close IN;
+   close OUT;
+-  system( "mv $configFile.tmp $configFile" );
++  system( "mv $configFile.tmp $configFile" ) and die "Faled to mv $configFile.tmp $configFile: $!";
+ 
+   # Freeze RM and RMPep libraries for RepeatModeler use among others
+   my $rmLocation = "$FindBin::Bin";
+   print "Building RMBlast frozen libraries..\n";
+   system(   "$pgLocation/makeblastdb -dbtype nucl -in "
+-          . "$rmLocation/Libraries/RepeatMasker.lib > /dev/null 2>&1" );
++          . "$rmLocation/Libraries/RepeatMasker.lib > /dev/null 2>&1" ) and die "$pgLocation/makeblastdb -dbtype nucl -in $rmLocation/Libraries/RepeatMasker.lib failed: $!";
+   system(   "$pgLocation/makeblastdb -dbtype prot -in "
+-          . "$rmLocation/Libraries/RepeatPeps.lib > /dev/null 2>&1" );
++          . "$rmLocation/Libraries/RepeatPeps.lib > /dev/null 2>&1" ) and die "$pgLocation/makeblastdb -dbtype prot -in $rmLocation/Libraries/RepeatPeps.lib failed with: $!";
+ 
+   my $pgDefault = &promptScreen(
+     "",
+@@ -682,15 +681,15 @@
+   }
+   close IN;
+   close OUT;
+-  system( "mv $configFile.tmp $configFile" );
++  system( "mv $configFile.tmp $configFile" ) and die "mv $configFile.tmp $configFile failed with: $!";
+ 
+   # Freeze RM and RMPep libraries
+   my $rmLocation = "$FindBin::Bin";
+   print "Building WUBlast/ABBlast frozen libraries..\n";
+   system(   "$wuLocation/xdformat -n -I "
+-          . "$rmLocation/Libraries/RepeatMasker.lib > /dev/null 2>&1" );
++          . "$rmLocation/Libraries/RepeatMasker.lib > /dev/null 2>&1" ) and die "$wuLocation/xdformat -n -I $rmLocation/Libraries/RepeatMasker.lib failed with: $!";
+   system(   "$wuLocation/xdformat -p -I "
+-          . "$rmLocation/Libraries/RepeatPeps.lib > /dev/null 2>&1" );
++          . "$rmLocation/Libraries/RepeatPeps.lib > /dev/null 2>&1" ) and die "$wuLocation/xdformat -p -I $rmLocation/Libraries/RepeatPeps.lib failed with: $!";
+ 
+   my $wuDefault = &promptScreen(
+     "",
+@@ -748,7 +747,7 @@
+         }
+       }
+       else {
+-        print "ERROR: Could not find nhmmer program in this directory!\n";
++        print "ERROR: Could not find nhmmer program in '$location' directory!\n";
+       }
+       if ( $goodParam == 0 ) {
+         print "<PRESS ENTER TO CONTINUE>\n";
+@@ -773,7 +772,7 @@
+   }
+   close IN;
+   close OUT;
+-  system( "mv $configFile.tmp $configFile" );
++  system( "mv $configFile.tmp $configFile" ) and die "mv $configFile.tmp $configFile failed with: $!";
+ 
+   my $default = &promptScreen(
+     "",
+@@ -827,7 +826,7 @@
+   }
+   close IN;
+   close OUT;
+-  system( "mv $configFile.tmp $configFile" );
++  system( "mv $configFile.tmp $configFile" ) and die "mv $configFile.tmp $configFile failed with: $!";
+ 
+   my $deDefault = &promptScreen(
+     "",
+@@ -863,9 +862,6 @@
+ 
+   my $answer = undef;
+ 
+-  # Clear the screen
+-  system( "clear" );
+-
+   print "\n\n\n";
+   print $screenText;
+   my $numLines = ( $screenText =~ s/(\n)/$1/g );
+--- configure.ori	2015-11-24 20:10:58.640204679 +0100
++++ configure	2015-11-24 20:11:00.970204685 +0100
+@@ -728,11 +728,12 @@
+         # HMMER 3.0dev (March 2010); http://hmmer.org/
+         # HMMER 3.1dev_0.33 (July 2012); http://hmmer.org
+         # HMMER hmmer3.1-snap20120830 (August 2012); http://hmmer.org/
++	# HMMER 3.1b2 (February 2015); http://hmmer.org/
+         while ( $result =~ /([^\n\r]*)[\n\r]/ig ) {
+           my $line = $1;
+ 
+           if ( $line =~ /^#\s+HMMER\s+(\d+\.\d+)((dev)?(_\d+\.\d+)?\s+\(.*\)).*/
+-               || $line =~ /^#\s+HMMER\s+hmmer(\d+\.\d+)-snap.*/ )
++               || $line =~ /^#\s+HMMER\s+hmmer(\d+\.\d+)-snap.*/ || $line =~ /^#\s+HMMER\s+(\d+\.\d+).*/)
+           {
+             if ( $1 >= 3.1 ) {
+               $goodParam = 1;

diff --git a/sci-biology/repeatmasker/metadata.xml b/sci-biology/repeatmasker/metadata.xml
new file mode 100644
index 0000000..f17a827
--- /dev/null
+++ b/sci-biology/repeatmasker/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <herd>sci-biology</herd>
+</pkgmetadata>

diff --git a/sci-biology/repeatmasker/repeatmasker-4.0.1-r1.ebuild b/sci-biology/repeatmasker/repeatmasker-4.0.1-r1.ebuild
new file mode 100644
index 0000000..9507e23
--- /dev/null
+++ b/sci-biology/repeatmasker/repeatmasker-4.0.1-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+MY_PV=${PV//\./-}
+
+DESCRIPTION="Screen DNA sequences for interspersed repeats and low complexity DNA"
+HOMEPAGE="http://repeatmasker.org/"
+SRC_URI="http://www.repeatmasker.org/RepeatMasker-open-${MY_PV}.tar.gz"
+
+LICENSE="OSL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=dev-lang/perl-5.8"
+RDEPEND="
+	sci-biology/rmblast
+	>=sci-biology/trf-4.0.4
+	sci-biology/repeatmasker-libraries
+	sci-biology/phrap"
+# dev-perl/Text-Soundex see bug #566740
+
+S="${WORKDIR}/RepeatMasker"
+
+src_prepare(){
+	epatch "${FILESDIR}"/configure.patch
+}
+
+src_configure() {
+	# The below is wrong as it causes:
+	# Enter path [ /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/work/RepeatMasker ]: 
+	#  -- Building monolithic RM database...sh: /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/image///usr/share/repeatmasker/Libraries/RepeatMasker.lib: No such file or directory
+	# -e 's|> \($rmLocation/Libraries/RepeatMasker.lib\)|> '${D}'/\1|'
+	sed -i -e 's/system( "clear" );//' "${S}/configure" || die
+	mkdir -p ${D}//usr/share/repeatmasker/Libraries/ || die
+	#
+	# the below files is actually overwritten by buildRMLibFromEMBL.pl so the 'blah'
+	# item does not get installed
+	echo ">blah\natgc" > ${D}//usr/share/repeatmasker/Libraries/RepeatMasker.lib || die
+	# below try to define paths to trf, cross_match, rmblast and nhmmer as search tools
+	echo "
+env
+${S}
+/opt/bin
+1
+/usr/bin
+Y
+2
+/usr/bin
+Y
+4
+/usr/bin
+Y
+5" | "${S}/configure" || die "configure failed"
+	sed -i -e 's|use lib $FindBin::RealBin;|use lib "/usr/share/'${PN}'/lib";|' \
+		-e 's|".*\(taxonomy.dat\)"|"/usr/share/'${PN}'/\1"|' \
+		-e '/$REPEATMASKER_DIR/ s|$FindBin::RealBin|/usr/share/'${PN}'|' \
+		"${S}"/{DateRepeats,ProcessRepeats,RepeatMasker,DupMasker,RepeatProteinMask,RepeatMaskerConfig.pm,Taxonomy.pm} || die
+}
+# configure failed to 'cp RepeatMaskerConfig.tmpl RepeatMaskerConfig.pm'
+# replace also /u1/local/bin/perl with proper Gentoo PATH
+
+src_install() {
+	exeinto /usr/share/${PN}
+	for i in DateRepeats ProcessRepeats RepeatMasker DupMasker RepeatProteinMask; do
+		doexe $i || die
+		dosym /usr/share/${PN}/$i /usr/bin/$i || die
+	done
+
+	dodir /usr/share/${PN}/lib
+	insinto /usr/share/${PN}/lib
+	doins "${S}"/*.pm || die
+
+	# if sci-biology/repeatmasker-libraries is installed prevent file collision
+	# and do NOT install Libraries/RepeatMaskerLib.embl file which contains
+	# a limited version of the file: 20110419-min
+	rm -rf Libraries/RepeatMaskerLib.embl
+	insinto /usr/share/${PN}
+	doins -r util Matrices Libraries taxonomy.dat *.help || die
+	keepdir /usr/share/${PN}/Libraries
+
+	dodoc README INSTALL *.help
+}
+
+pkg_postinst(){
+	einfo "RepeatMasker provides bundled human repeats database"
+	einfo "from Dfam-1.0 database www.dfam.org"
+	einfo "You can configure which search search engine is to be used and"
+	einfo "PATHs to the search binaries in RepeatMaskerConfig.pm"
+	einfo "Supported search engines are:"
+	einfo "cross_match from sci-biology/phrap"
+	einfo "rmblast from sci-biology/rmblast"
+	einfo "nhmmer from >=sci-biology/hmmer-3.1"
+	einfo "abblast/wublast from http://blast.advbiocomp.com/licensing"
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-biology/repeatmasker/, sci-biology/repeatmasker/files/
@ 2019-03-29 16:24 Martin Mokrejs
  0 siblings, 0 replies; 2+ messages in thread
From: Martin Mokrejs @ 2019-03-29 16:24 UTC (permalink / raw
  To: gentoo-commits

commit:     777780e24faa006c5883307c0dadd31cab8cecd8
Author:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
AuthorDate: Fri Mar 29 16:24:12 2019 +0000
Commit:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
CommitDate: Fri Mar 29 16:24:12 2019 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=777780e2

sci-biology/repeatmasker: rewamp configuration code

The changes are partly based on https://github.com/gentoo/sci/pull/580
from Michael Schubert but it seems we could figure out the paths
to binaries automatically using `which`.

Block between the USE options and allow only a single to be enabled,
that is what configure requires, otherwise it enters a loop.

The hmmer is the default in configure and preferred.

Tested with `USE="hmmer -wublast -phrap -rmblast"` and other
combinations while only one is allowed.

If users have wublast/abblast/rmblast/crossmatch in the PATHS we just
pick it.

`which` returns a '.' (dot) if a binary was not found, we need to zap it
otherwise configure enters a loop.

In the end, one can get:

Add a Search Engine:
   1. CrossMatch: [ Configured ]
   2. RMBlast - NCBI Blast with RepeatMasker extensions: [ Configured ]
   3. WUBlast/ABBlast (required by DupMasker): [ Un-configured ]
   4. HMMER3.1 & DFAM: [ Configured, Default ]

   5. Done

properly written into

/usr/lib64/perl5/vendor_perl/5.28.0/RepeatMaskerConfig.pm

Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Martin Mokrejs <mmokrejs <AT> fold.natur.cuni.cz>

 .../files/repeatmasker-4.0.6__configure.patch      |   4 +-
 sci-biology/repeatmasker/metadata.xml              |   6 +
 .../repeatmasker/repeatmasker-4.0.6-r3.ebuild      | 111 ----------------
 .../repeatmasker/repeatmasker-4.0.6-r4.ebuild      | 142 +++++++++++++++++++++
 .../repeatmasker/repeatmasker-4.0.8-r1.ebuild      | 111 ----------------
 .../repeatmasker/repeatmasker-4.0.8-r2.ebuild      | 142 +++++++++++++++++++++
 6 files changed, 292 insertions(+), 224 deletions(-)

diff --git a/sci-biology/repeatmasker/files/repeatmasker-4.0.6__configure.patch b/sci-biology/repeatmasker/files/repeatmasker-4.0.6__configure.patch
index e4042190f..c1e0cfb55 100644
--- a/sci-biology/repeatmasker/files/repeatmasker-4.0.6__configure.patch
+++ b/sci-biology/repeatmasker/files/repeatmasker-4.0.6__configure.patch
@@ -1,5 +1,5 @@
---- configure.ori	2015-11-24 20:56:46.000000000 +0100
-+++ configure	2015-11-24 20:59:58.000000000 +0100
+--- RepeatMasker/configure.ori	2015-11-24 20:56:46.000000000 +0100
++++ RepeatMasker/configure	2015-11-24 20:59:58.000000000 +0100
 @@ -253,17 +253,16 @@
    close INVERS;
  }

diff --git a/sci-biology/repeatmasker/metadata.xml b/sci-biology/repeatmasker/metadata.xml
index 8417d1580..de382fa16 100644
--- a/sci-biology/repeatmasker/metadata.xml
+++ b/sci-biology/repeatmasker/metadata.xml
@@ -5,4 +5,10 @@
 		<email>sci-biology@gentoo.org</email>
 		<name>Gentoo Biology Project</name>
 	</maintainer>
+	<use>
+		<flag name="phrap">Use cross_match search engine as default</flag>
+		<flag name="rmblast">Use RM-BLAST search engine as default</flag>
+		<flag name="hmmer">Use HMMER search engine as default</flag>
+		<flag name="wublast">Use wublast or abblast search engine as default</flag>
+	</use>
 </pkgmetadata>

diff --git a/sci-biology/repeatmasker/repeatmasker-4.0.6-r3.ebuild b/sci-biology/repeatmasker/repeatmasker-4.0.6-r3.ebuild
deleted file mode 100644
index d41784eb7..000000000
--- a/sci-biology/repeatmasker/repeatmasker-4.0.6-r3.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils perl-module
-
-MY_PV=${PV//\./-}
-
-DESCRIPTION="Screen DNA sequences for interspersed repeats and low complexity DNA"
-HOMEPAGE="http://repeatmasker.org/"
-SRC_URI="http://www.repeatmasker.org/RepeatMasker-open-${MY_PV}.tar.gz"
-
-LICENSE="OSL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=">=dev-lang/perl-5.8"
-RDEPEND="
-	dev-perl/Text-Soundex
-	sci-biology/phrap
-	<=sci-biology/repeatmasker-libraries-20160829
-	sci-biology/rmblast
-	!sci-biology/trf
-	>=sci-biology/trf-bin-4.0.4
-"
-
-S="${WORKDIR}/RepeatMasker"
-
-PATCHES=( "${FILESDIR}"/"${P}"__configure.patch )
-
-src_configure() {
-	sed \
-		-e "s#/usr/bin/which#which#g" \
-		-e "s#/usr/bin/perl#perl#g" \
-		-i "${S}"/configure || die
-	perl_set_version
-	insinto ${VENDOR_LIB}
-	sed -e "s#/usr/perl5/lib/#${VENDOR_LIB}/#g" -i "${S}"/configure || die
-	# The below is wrong as it causes:
-	# Enter path [ /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/work/RepeatMasker ]:
-	#  -- Building monolithic RM database...sh: /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/image///usr/share/repeatmasker/Libraries/RepeatMasker.lib: No such file or directory
-	# -e 's|> \($rmLocation/Libraries/RepeatMasker.lib\)|> '${D}'/\1|'
-	sed -i -e 's/system( "clear" );//' "${S}/configure" || die
-	mkdir -p "${ED}"/usr/share/repeatmasker/Libraries/ || die
-	#
-	# the below files is actually overwritten by buildRMLibFromEMBL.pl so the 'blah'
-	# item does not get installed
-	echo ">blah\natgc" > "${ED}"/usr/share/repeatmasker/Libraries/RepeatMasker.lib || die
-	# below try to define paths to trf, cross_match, rmblast and nhmmer as search tools
-	echo "
-env
-${S}
-${EPREFIX}/opt/trf/bin
-1
-${EPREFIX}/usr/bin
-Y
-2
-${EPREFIX}/usr/bin
-Y
-4
-${EPREFIX}/usr/bin
-Y
-5" | "${S}"/configure || die "configure failed"
-	sed -i -e "s|use lib $FindBin::RealBin;|use lib ${EPREFIX}/usr/share/${PN}/lib;|" \
-		-e "s|.*\(taxonomy.dat\)|${EPREFIX}/usr/share/${PN}/Libraries/\1|" \
-		-e "/$REPEATMASKER_DIR/ s|$FindBin::RealBin|${EPREFIX}/usr/share/${PN}|" \
-		"${S}"/{DateRepeats,ProcessRepeats,RepeatMasker,DupMasker,RepeatProteinMask,RepeatMaskerConfig.pm,Taxonomy.pm} || die
-}
-# configure failed to 'cp RepeatMaskerConfig.tmpl RepeatMaskerConfig.pm'
-# replace also /u1/local/bin/perl with proper Gentoo PATH
-
-src_install() {
-	exeinto /usr/share/${PN}
-	for i in DateRepeats ProcessRepeats RepeatMasker DupMasker RepeatProteinMask; do
-		doexe $i
-		dosym ../share/${PN}/$i /usr/bin/$i
-	done
-
-	perl_set_version
-	insinto "${VENDOR_LIB}"
-	doins "${S}"/*.pm "${S}"/Libraries/*.pm
-	# zap the supposedly misplaced RepeatAnnotationData.pm file
-	rm -r "${S}"/Libraries/*.pm || die
-
-	# if sci-biology/repeatmasker-libraries is installed prevent file collision
-	# and do NOT install Libraries/RepeatMaskerLib.embl file which contains
-	# a limited version of the file: 20110419-min
-	rm -r Libraries/RepeatMaskerLib.embl || die
-	insinto /usr/share/${PN}
-	doins -r util Matrices Libraries *.help
-	keepdir /usr/share/${PN}/Libraries
-
-	dodoc README INSTALL *.help
-}
-
-pkg_postinst(){
-	einfo "RepeatMasker provides bundled human repeats database"
-	einfo "from Dfam-1.0 database www.dfam.org"
-	einfo "You can configure which search search engine is to be used and"
-	einfo "PATHs to the search binaries are defined in"
-	einfo "${EPREFIX}/usr/share/${PN}/lib/RepeatMaskerConfig.pm"
-	einfo "Supported search engines are:"
-	optfeature "cross_match" sci-biology/phrap
-	optfeature "rmblast" sci-biology/rmblast
-	optfeature "nhmmer" \>=sci-biology/hmmer-3.1
-	einfo "abblast/wublast from http://blast.advbiocomp.com/licensing"
-	einfo "repeatmasker-libraries-20160829 (RepBase 21.12) is the last"
-	einfo "version compatible with <repeatmasker-4.0.7"
-}

diff --git a/sci-biology/repeatmasker/repeatmasker-4.0.6-r4.ebuild b/sci-biology/repeatmasker/repeatmasker-4.0.6-r4.ebuild
new file mode 100644
index 000000000..8216bfe7f
--- /dev/null
+++ b/sci-biology/repeatmasker/repeatmasker-4.0.6-r4.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils perl-module
+
+MY_PV=${PV//\./-}
+
+DESCRIPTION="Screen DNA sequences for interspersed repeats and low complexity DNA"
+HOMEPAGE="http://repeatmasker.org/"
+SRC_URI="http://www.repeatmasker.org/RepeatMasker-open-${MY_PV}.tar.gz"
+
+LICENSE="OSL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="phrap rmblast hmmer wublast"
+# RepeatMaskerConfig.pm says:
+#   Default search tool can be one of "hmmer", "crossmatch", "wublast", "decypher" or "ncbi".
+#   Upstream uses "hmmer" as the default.
+
+DEPEND=">=dev-lang/perl-5.8"
+RDEPEND="
+	<=sci-biology/repeatmasker-libraries-20160829
+	dev-perl/Text-Soundex
+	phrap? ( !hmmer? ( !rmblast? ( !wublast? ( sci-biology/phrap ) ) ) )
+	rmblast? ( !hmmer? ( !phrap? ( !wublast? ( sci-biology/rmblast ) ) ) )
+	hmmer? ( !phrap? ( !wublast? ( !rmblast? ( sci-biology/hmmer ) ) ) )
+	!sci-biology/trf
+	>=sci-biology/trf-bin-4.0.4
+"
+# wublast? ( sci-biology/wublast || sci-biology/abblast )
+# ncbi? ( would that be ncbi-tools++ or ncbi-blast+ ) ???
+
+S="${WORKDIR}/RepeatMasker"
+
+PATCHES=( "${FILESDIR}"/"${P}"__configure.patch )
+
+src_configure() {
+	sed \
+		-e "s#/usr/bin/which#which#g" \
+		-e "s#/usr/bin/perl#perl#g" \
+		-i "${S}"/configure || die
+	perl_set_version
+	insinto ${VENDOR_LIB}
+	sed -e "s#/usr/perl5/lib/#${VENDOR_LIB}/#g" -i "${S}"/configure || die
+	# The below is wrong as it causes:
+	# Enter path [ /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/work/RepeatMasker ]:
+	#  -- Building monolithic RM database...sh: /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/image///usr/share/repeatmasker/Libraries/RepeatMasker.lib: No such file or directory
+	# -e 's|> \($rmLocation/Libraries/RepeatMasker.lib\)|> '${D}'/\1|'
+	sed -i -e 's/system( "clear" );//' "${S}/configure" || die
+	mkdir -p "${ED}"/usr/share/repeatmasker/Libraries/ || die
+	#
+	# the below files is actually overwritten by buildRMLibFromEMBL.pl so the 'blah'
+	# item does not get installed
+	echo ">blah\natgc" > "${ED}"/usr/share/repeatmasker/Libraries/RepeatMasker.lib || die
+	# below try to define paths to trf, cross_match, rmblast and nhmmer as search tools
+	#
+	local my_crossmatch=`which cross_match 2>/dev/null`
+	local my_rmblastn=`which rmblastn 2>/dev/null`
+	local my_hmmer=`which nhmmscan 2>/dev/null`
+	local my_wublast=`which xdformat 2>/dev/null` # actually configure looks for 'setdb' executable
+	# configure is inconsistent at first, we must pass even a wrong path for cross_match, rmblastn, hmmer otherwise it enters a loop
+	# but, for wublast we must pass in an empty string otherwise it looks for 'setdb' executable in the non-existing directory and enters a loop
+	if [ "$my_crossmatch" != '.' ]; then local crossmatchdir=`dirname "$my_crossmatch"` else local crossmatchdir="${EPREFIX}/usr/bin"; fi
+	if [ "$my_rmblastn" != '.' ]; then local rmblastdir=`dirname "$my_rmblastn"` else local rmblastdir="${EPREFIX}/usr/bin"; fi
+	if [ "$my_hmmer" != '.' ]; then local hmmerdir=`dirname "$my_hmmer"` else local hmmerdir="${EPREFIX}/usr/bin"; fi
+	if [ "$my_wublast" != '.' ]; then local wublastdir=`dirname "$my_wublast"` else local wublastdir=""; fi
+	echo "crossmatchdir=${crossmatchdir} rmblastdir=${rmblastdir} wublastdir=${wublastdir} hmmerdir=${hmmerdir}"
+	# pick the preferred-one
+	local CONF=( x env ${S} "${EPREFIX}"/opt/bin )
+	if use phrap; then
+		CONF+=( 1 "${crossmatchdir}" Y )
+	else
+		CONF+=( 1 "${crossmatchdir}" N )
+	fi
+	if use rmblast; then
+		CONF+=( 2 "${rmblastdir}" Y )
+	else
+		CONF+=( 2 "${rmblastdir}" N )
+	fi
+	if use wublast; then
+		# no ebuild available but pick anything from PATH
+		CONF+=( 3 "${wublastdir}" Y )
+	else
+		CONF+=( 3 "${wublastdir}" N )
+	fi
+	if use hmmer; then
+		CONF+=( 4 "${hmmerdir}" Y )
+	else
+		CONF+=( 4 "${hmmerdir}" N )
+	fi
+	CONF+=( 5 )
+	echo "Will feed configure with: ${CONF[@]}"
+	printf '%s\n' "${CONF[@]}" | "${S}/configure" || die "configure failed"
+
+	sed -i -e "/use lib/s|\"\$FindBin::RealBin|\"${EPREFIX}/usr/share/${PN}/lib|" \
+		-e "/use lib/s|\$FindBin::RealBin|\"${EPREFIX}/usr/share/${PN}/lib\"|" \
+		-e "/\$REPEATMASKER_DIR/ s|\$FindBin::RealBin|${EPREFIX}/usr/share/${PN}|" \
+		"${S}"/{DateRepeats,ProcessRepeats,RepeatMasker,DupMasker,RepeatProteinMask,RepeatMaskerConfig.pm,Taxonomy.pm} || die
+}
+
+src_install() {
+	exeinto /usr/share/${PN}
+	for i in DateRepeats ProcessRepeats RepeatMasker DupMasker RepeatProteinMask; do
+		doexe $i
+		dosym ../share/${PN}/$i /usr/bin/$i
+	done
+
+	perl_set_version
+	insinto "${VENDOR_LIB}"
+	doins "${S}"/*.pm "${S}"/Libraries/*.pm
+	# zap the supposedly misplaced RepeatAnnotationData.pm file
+	rm -r "${S}"/Libraries/*.pm || die
+
+	# if sci-biology/repeatmasker-libraries is installed prevent file collision
+	# and do NOT install Libraries/RepeatMaskerLib.embl file which contains
+	# a limited version of the file: 20110419-min
+	rm -r Libraries/RepeatMaskerLib.embl || die
+	insinto /usr/share/${PN}
+	doins -r util Matrices Libraries *.help
+	keepdir /usr/share/${PN}/Libraries
+
+	dodoc README INSTALL *.help
+}
+
+pkg_postinst(){
+	cd "${S}" || die
+	einfo "RepeatMasker provides bundled human repeats database from"
+	einfo "    Dfam-1.0 database www.dfam.org"
+	einfo "You can configure which search search engine is to be used and"
+	einfo "Current default search engine defined in"
+	einfo "    ${EPREFIX}${VENDOR_LIB}/RepeatMaskerConfig.pm is:"
+	einfo `grep 'DEFAULT_SEARCH_ENGINE =' RepeatMaskerConfig.pm`
+	einfo "\nSupported search engines are:"
+	optfeature "cross_match" sci-biology/phrap
+	optfeature "rmblast" sci-biology/rmblast
+	optfeature "nhmmer" \>=sci-biology/hmmer-3.1
+	einfo "abblast/wublast from http://blast.advbiocomp.com/licensing"
+	einfo "\nThe repeatmasker-libraries-20160829 (RepBase 21.12) was the last"
+	einfo "version compatible with <repeatmasker-4.0.7"
+}

diff --git a/sci-biology/repeatmasker/repeatmasker-4.0.8-r1.ebuild b/sci-biology/repeatmasker/repeatmasker-4.0.8-r1.ebuild
deleted file mode 100644
index 9b4af2312..000000000
--- a/sci-biology/repeatmasker/repeatmasker-4.0.8-r1.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils perl-module
-
-MY_PV=${PV//\./-}
-
-DESCRIPTION="Screen DNA sequences for interspersed repeats and low complexity DNA"
-HOMEPAGE="http://repeatmasker.org/"
-SRC_URI="http://www.repeatmasker.org/RepeatMasker-open-${MY_PV}.tar.gz"
-
-LICENSE="OSL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=">=dev-lang/perl-5.8"
-RDEPEND="
-	dev-perl/Text-Soundex
-	sci-biology/phrap
-	>sci-biology/repeatmasker-libraries-20160829
-	sci-biology/rmblast
-	!sci-biology/trf
-	>=sci-biology/trf-bin-4.0.4
-"
-
-S="${WORKDIR}/RepeatMasker"
-
-PATCHES=( "${FILESDIR}"/"${P}"__configure.patch )
-
-src_configure() {
-	sed \
-		-e "s#/usr/bin/which#which#g" \
-		-e "s#/usr/bin/perl#perl#g" \
-		-i "${S}"/configure || die
-	perl_set_version
-	insinto ${VENDOR_LIB}
-	sed -e "s#/usr/perl5/lib/#${VENDOR_LIB}/#g" -i "${S}"/configure || die
-	# The below is wrong as it causes:
-	# Enter path [ /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/work/RepeatMasker ]:
-	#  -- Building monolithic RM database...sh: /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/image///usr/share/repeatmasker/Libraries/RepeatMasker.lib: No such file or directory
-	# -e 's|> \($rmLocation/Libraries/RepeatMasker.lib\)|> '${D}'/\1|'
-	sed -i -e 's/system( "clear" );//' "${S}/configure" || die
-	mkdir -p "${ED}"/usr/share/repeatmasker/Libraries/ || die
-	#
-	# the below files is actually overwritten by buildRMLibFromEMBL.pl so the 'blah'
-	# item does not get installed
-	echo ">blah\natgc" > "${ED}"/usr/share/repeatmasker/Libraries/RepeatMasker.lib || die
-	# below try to define paths to trf, cross_match, rmblast and nhmmer as search tools
-	echo "
-env
-${S}
-${EPREFIX}/opt/trf/bin
-1
-${EPREFIX}/usr/bin
-Y
-2
-${EPREFIX}/usr/bin
-Y
-4
-${EPREFIX}/usr/bin
-Y
-5" | "${S}"/configure || die "configure failed"
-	sed -i -e "s|use lib $FindBin::RealBin;|use lib ${EPREFIX}/usr/share/${PN}/lib;|" \
-		-e "s|.*\(taxonomy.dat\)|${EPREFIX}/usr/share/${PN}/Libraries/\1|" \
-		-e "/$REPEATMASKER_DIR/ s|$FindBin::RealBin|${EPREFIX}/usr/share/${PN}|" \
-		"${S}"/{DateRepeats,ProcessRepeats,RepeatMasker,DupMasker,RepeatProteinMask,RepeatMaskerConfig.pm,Taxonomy.pm} || die
-}
-# configure failed to 'cp RepeatMaskerConfig.tmpl RepeatMaskerConfig.pm'
-# replace also /u1/local/bin/perl with proper Gentoo PATH
-
-src_install() {
-	exeinto /usr/share/${PN}
-	for i in DateRepeats ProcessRepeats RepeatMasker DupMasker RepeatProteinMask; do
-		doexe $i
-		dosym ../share/${PN}/$i /usr/bin/$i
-	done
-
-	perl_set_version
-	insinto "${VENDOR_LIB}"
-	doins "${S}"/*.pm "${S}"/Libraries/*.pm
-	# zap the supposedly misplaced RepeatAnnotationData.pm file
-	rm -r "${S}"/Libraries/*.pm || die
-
-	# if sci-biology/repeatmasker-libraries is installed prevent file collision
-	# and do NOT install Libraries/RepeatMaskerLib.embl file which contains
-	# a limited version of the file: 20110419-min
-	rm -r Libraries/RepeatMaskerLib.embl || die
-	insinto /usr/share/${PN}
-	doins -r util Matrices Libraries *.help
-	keepdir /usr/share/${PN}/Libraries
-
-	dodoc README.md INSTALL *.help
-}
-
-pkg_postinst(){
-	einfo "RepeatMasker provides bundled human repeats database"
-	einfo "from Dfam-1.0 database www.dfam.org"
-	einfo "You can configure which search search engine is to be used and"
-	einfo "PATHs to the search binaries are defined in"
-	einfo "${EPREFIX}/usr/share/${PN}/lib/RepeatMaskerConfig.pm"
-	einfo "Supported search engines are:"
-	optfeature "cross_match" sci-biology/phrap
-	optfeature "rmblast" sci-biology/rmblast
-	optfeature "nhmmer" \>=sci-biology/hmmer-3.1
-	einfo "abblast/wublast from http://blast.advbiocomp.com/licensing"
-	einfo "repeatmasker-libraries-20160829 (RepBase 21.12) was the last"
-	einfo "version compatible with <repeatmasker-4.0.7"
-}

diff --git a/sci-biology/repeatmasker/repeatmasker-4.0.8-r2.ebuild b/sci-biology/repeatmasker/repeatmasker-4.0.8-r2.ebuild
new file mode 100644
index 000000000..02700ba2b
--- /dev/null
+++ b/sci-biology/repeatmasker/repeatmasker-4.0.8-r2.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils perl-module
+
+MY_PV=${PV//\./-}
+
+DESCRIPTION="Screen DNA sequences for interspersed repeats and low complexity DNA"
+HOMEPAGE="http://repeatmasker.org/"
+SRC_URI="http://www.repeatmasker.org/RepeatMasker-open-${MY_PV}.tar.gz"
+
+LICENSE="OSL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="phrap rmblast hmmer wublast"
+# RepeatMaskerConfig.pm says:
+#   Default search tool can be one of "hmmer", "crossmatch", "wublast", "decypher" or "ncbi".
+#   Upstream uses "hmmer" as the default.
+
+DEPEND=">=dev-lang/perl-5.8"
+RDEPEND="
+	>sci-biology/repeatmasker-libraries-20160829
+	dev-perl/Text-Soundex
+	phrap? ( !hmmer? ( !rmblast? ( !wublast? ( sci-biology/phrap ) ) ) )
+	rmblast? ( !hmmer? ( !phrap? ( !wublast? ( sci-biology/rmblast ) ) ) )
+	hmmer? ( !phrap? ( !wublast? ( !rmblast? ( sci-biology/hmmer ) ) ) )
+	!sci-biology/trf
+	>=sci-biology/trf-bin-4.0.4
+"
+# wublast? ( sci-biology/wublast || sci-biology/abblast )
+# ncbi? ( would that be ncbi-tools++ or ncbi-blast+ ) ???
+
+S="${WORKDIR}/RepeatMasker"
+
+PATCHES=( "${FILESDIR}"/"${P}"__configure.patch )
+
+src_configure() {
+	sed \
+		-e "s#/usr/bin/which#which#g" \
+		-e "s#/usr/bin/perl#perl#g" \
+		-i "${S}"/configure || die
+	perl_set_version
+	insinto ${VENDOR_LIB}
+	sed -e "s#/usr/perl5/lib/#${VENDOR_LIB}/#g" -i "${S}"/configure || die
+	# The below is wrong as it causes:
+	# Enter path [ /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/work/RepeatMasker ]:
+	#  -- Building monolithic RM database...sh: /var/tmp/portage/sci-biology/repeatmasker-4.0.1-r1/image///usr/share/repeatmasker/Libraries/RepeatMasker.lib: No such file or directory
+	# -e 's|> \($rmLocation/Libraries/RepeatMasker.lib\)|> '${D}'/\1|'
+	sed -i -e 's/system( "clear" );//' "${S}/configure" || die
+	mkdir -p "${ED}"/usr/share/repeatmasker/Libraries/ || die
+	#
+	# the below files is actually overwritten by buildRMLibFromEMBL.pl so the 'blah'
+	# item does not get installed
+	echo ">blah\natgc" > "${ED}"/usr/share/repeatmasker/Libraries/RepeatMasker.lib || die
+	# below try to define paths to trf, cross_match, rmblast and nhmmer as search tools
+	#
+	local my_crossmatch=`which cross_match 2>/dev/null`
+	local my_rmblastn=`which rmblastn 2>/dev/null`
+	local my_hmmer=`which nhmmscan 2>/dev/null`
+	local my_wublast=`which xdformat 2>/dev/null` # actually configure looks for 'setdb' executable
+	# configure is inconsistent at first, we must pass even a wrong path for cross_match, rmblastn, hmmer otherwise it enters a loop
+	# but, for wublast we must pass in an empty string otherwise it looks for 'setdb' executable in the non-existing directory and enters a loop
+	if [ "$my_crossmatch" != '.' ]; then local crossmatchdir=`dirname "$my_crossmatch"` else local crossmatchdir="${EPREFIX}/usr/bin"; fi
+	if [ "$my_rmblastn" != '.' ]; then local rmblastdir=`dirname "$my_rmblastn"` else local rmblastdir="${EPREFIX}/usr/bin"; fi
+	if [ "$my_hmmer" != '.' ]; then local hmmerdir=`dirname "$my_hmmer"` else local hmmerdir="${EPREFIX}/usr/bin"; fi
+	if [ "$my_wublast" != '.' ]; then local wublastdir=`dirname "$my_wublast"` else local wublastdir=""; fi
+	echo "crossmatchdir=${crossmatchdir} rmblastdir=${rmblastdir} wublastdir=${wublastdir} hmmerdir=${hmmerdir}"
+	# pick the preferred-one
+	local CONF=( x env ${S} "${EPREFIX}"/opt/bin )
+	if use phrap; then
+		CONF+=( 1 "${crossmatchdir}" Y )
+	else
+		CONF+=( 1 "${crossmatchdir}" N )
+	fi
+	if use rmblast; then
+		CONF+=( 2 "${rmblastdir}" Y )
+	else
+		CONF+=( 2 "${rmblastdir}" N )
+	fi
+	if use wublast; then
+		# no ebuild available but pick anything from PATH
+		CONF+=( 3 "${wublastdir}" Y )
+	else
+		CONF+=( 3 "${wublastdir}" N )
+	fi
+	if use hmmer; then
+		CONF+=( 4 "${hmmerdir}" Y )
+	else
+		CONF+=( 4 "${hmmerdir}" N )
+	fi
+	CONF+=( 5 )
+	echo "Will feed configure with: ${CONF[@]}"
+	printf '%s\n' "${CONF[@]}" | "${S}/configure" || die "configure failed"
+
+	sed -i -e "/use lib/s|\"\$FindBin::RealBin|\"${EPREFIX}/usr/share/${PN}/lib|" \
+		-e "/use lib/s|\$FindBin::RealBin|\"${EPREFIX}/usr/share/${PN}/lib\"|" \
+		-e "/\$REPEATMASKER_DIR/ s|\$FindBin::RealBin|${EPREFIX}/usr/share/${PN}|" \
+		"${S}"/{DateRepeats,ProcessRepeats,RepeatMasker,DupMasker,RepeatProteinMask,RepeatMaskerConfig.pm,Taxonomy.pm} || die
+}
+
+src_install() {
+	exeinto /usr/share/${PN}
+	for i in DateRepeats ProcessRepeats RepeatMasker DupMasker RepeatProteinMask; do
+		doexe $i
+		dosym ../share/${PN}/$i /usr/bin/$i
+	done
+
+	perl_set_version
+	insinto "${VENDOR_LIB}"
+	doins "${S}"/*.pm "${S}"/Libraries/*.pm
+	# zap the supposedly misplaced RepeatAnnotationData.pm file
+	rm -r "${S}"/Libraries/*.pm || die
+
+	# if sci-biology/repeatmasker-libraries is installed prevent file collision
+	# and do NOT install Libraries/RepeatMaskerLib.embl file which contains
+	# a limited version of the file: 20110419-min
+	rm -r Libraries/RepeatMaskerLib.embl || die
+	insinto /usr/share/${PN}
+	doins -r util Matrices Libraries *.help
+	keepdir /usr/share/${PN}/Libraries
+
+	dodoc README.md INSTALL *.help
+}
+
+pkg_postinst(){
+	cd "${S}" || die
+	einfo "RepeatMasker provides bundled human repeats database from"
+	einfo "    Dfam-1.0 database www.dfam.org"
+	einfo "You can configure which search search engine is to be used and"
+	einfo "Current default search engine defined in"
+	einfo "    ${EPREFIX}${VENDOR_LIB}/RepeatMaskerConfig.pm is:"
+	einfo `grep 'DEFAULT_SEARCH_ENGINE =' RepeatMaskerConfig.pm`
+	einfo "\nSupported search engines are:"
+	optfeature "cross_match" sci-biology/phrap
+	optfeature "rmblast" sci-biology/rmblast
+	optfeature "nhmmer" \>=sci-biology/hmmer-3.1
+	einfo "abblast/wublast from http://blast.advbiocomp.com/licensing"
+	einfo "\nThe repeatmasker-libraries-20160829 (RepBase 21.12) was the last"
+	einfo "version compatible with <repeatmasker-4.0.7"
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-03-29 16:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-24 19:28 [gentoo-commits] proj/sci:master commit in: sci-biology/repeatmasker/, sci-biology/repeatmasker/files/ Martin Mokrejs
  -- strict thread matches above, loose matches on Subject: below --
2019-03-29 16:24 Martin Mokrejs

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox