summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-biology/glimmer')
-rw-r--r--sci-biology/glimmer/Manifest2
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02-glibc210.patch24
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02-jobserver-fix.patch22
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02-ldflags.patch88
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02b-jobserver-fix.patch22
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02b-ldflags.patch88
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02b-rename_extract.patch196
-rw-r--r--sci-biology/glimmer/glimmer-3.02-r3.ebuild61
-rw-r--r--sci-biology/glimmer/glimmer-3.02b.ebuild68
-rw-r--r--sci-biology/glimmer/metadata.xml5
10 files changed, 576 insertions, 0 deletions
diff --git a/sci-biology/glimmer/Manifest b/sci-biology/glimmer/Manifest
new file mode 100644
index 000000000000..7071ac856370
--- /dev/null
+++ b/sci-biology/glimmer/Manifest
@@ -0,0 +1,2 @@
+DIST glimmer302.tar.gz 5637075 SHA256 a1e422ee56f495f9f99e1741ba2043f026fc8182afcc47cb20cfd2d989537221 SHA512 c28e5902bffab00566560fa0bcf61909921932935f8298f098361aeb58eb67a40403c23709cf5075fb47dc87bcf54e25572840f110bb15cd21325a072050407c WHIRLPOOL c3eedb4a3a65043a69d632360608f04382117b8f7f3718eae328a1aa14f9f5d6d9ae6f05e0a83a09af5eb9e6b0c7b0ae26cb820813341aa5d7fa3f6002938ce8
+DIST glimmer302b.tar.gz 5637975 SHA256 ecf28e03d0a675aed7360ca34ca7f19993f5c3ea889273e657ced9fa7d1e2bf6 SHA512 00d44a02a8099ceac4b4d2a1cd5d69cc2b787942bb87f612cd63edacf7e502bc9a65cdf9b9270ad789981a84c940cc01e187882d21d2c9de4dcc12b492b041a6 WHIRLPOOL bbce6f57546e6cc77801ac7f5e783510feafc2e120a8727e848a95dd9e2d966538e56cb7be597c2a463d9b372c8586a389d639e1377708a27bd56f81b37fea1f
diff --git a/sci-biology/glimmer/files/glimmer-3.02-glibc210.patch b/sci-biology/glimmer/files/glimmer-3.02-glibc210.patch
new file mode 100644
index 000000000000..f6051ec82054
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02-glibc210.patch
@@ -0,0 +1,24 @@
+diff -durr glimmer3.02-orig/src/Common/gene.cc glimmer3.02/src/Common/gene.cc
+--- glimmer3.02-orig/src/Common/gene.cc 2009-12-28 13:34:21.577437056 +0000
++++ glimmer3.02/src/Common/gene.cc 2009-12-28 13:36:06.914974685 +0000
+@@ -443,7 +443,7 @@
+ // Return a subscript corresponding to character ch .
+
+ {
+- char * p;
++ const char * p;
+
+ p = strchr (CONVERSION_STRING, tolower (ch));
+ if (p == NULL)
+diff -durr glimmer3.02-orig/src/ICM/icm.cc glimmer3.02/src/ICM/icm.cc
+--- glimmer3.02-orig/src/ICM/icm.cc 2009-12-28 13:34:21.577437056 +0000
++++ glimmer3.02/src/ICM/icm.cc 2009-12-28 13:36:44.649451803 +0000
+@@ -1981,7 +1981,7 @@
+ // model) for character ch .
+
+ {
+- char * p;
++ const char * p;
+
+ p = strchr (ALPHA_STRING, tolower (Filter (ch)));
+ if (p == NULL)
diff --git a/sci-biology/glimmer/files/glimmer-3.02-jobserver-fix.patch b/sci-biology/glimmer/files/glimmer-3.02-jobserver-fix.patch
new file mode 100644
index 000000000000..91498b116d12
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02-jobserver-fix.patch
@@ -0,0 +1,22 @@
+diff -ru glimmer3.02-orig/src/Makefile glimmer3.02/src/Makefile
+--- glimmer3.02-orig/src/Makefile 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/src/Makefile 2010-03-18 14:30:15.000000000 +0100
+@@ -2,12 +2,12 @@
+
+
+ all:
+- @ TGT=objs
+- @ $(dosubdirs)
+- @ TGT=libs
+- @ $(dosubdirs)
+- @ TGT=progs
+- @ $(dosubdirs)
++ @+ TGT=objs
++ @+ $(dosubdirs)
++ @+ TGT=libs
++ @+ $(dosubdirs)
++ @+ TGT=progs
++ @+ $(dosubdirs)
+
+
+ install: all
diff --git a/sci-biology/glimmer/files/glimmer-3.02-ldflags.patch b/sci-biology/glimmer/files/glimmer-3.02-ldflags.patch
new file mode 100644
index 000000000000..0a04fbef1dcc
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02-ldflags.patch
@@ -0,0 +1,88 @@
+diff --git a/src/c_make.gen b/src/c_make.gen
+index 414dead..84c3030 100644
+--- a/src/c_make.gen
++++ b/src/c_make.gen
+@@ -200,45 +200,12 @@ LOCAL_SYS_INC=$(SEP_PATH)/../SYS/inc
+ #### Do not redefine if (a) passed in on command line, or (b)
+ #### defined in an environment variable.
+
+-ifneq "$(origin CC)" "environment"
+-CC = cc
+-endif
+-
+-ifneq "$(origin CPPFLAGS)" "environment"
+-CPPFLAGS=
+-endif
+-
+-ifneq "$(origin CFLAGS)" "environment"
+-CFLAGS =
+-endif
+-
+-ifneq "$(origin CDEFS)" "environment"
+-CDEFS =
+-endif
+-
+-ifneq "$(origin CXX)" "environment"
+-CXX = g++
+-endif
+-
+-ifneq "$(origin CXXFLAGS)" "environment"
+-CXXFLAGS=
+-endif
+-
+-ifneq "$(origin CXXDEFS)" "environment"
+-CXXDEFS= -D__cplusplus
+-endif
+-
+-ifneq "$(origin AR)" "environment"
+-AR = ar
+-endif
+-
+-ifneq "$(origin ARFLAGS)" "environment"
+-ARFLAGS = rvs
+-endif
+-
+-ifneq "$(origin LDFLAGS)" "environment"
+-LDFLAGS =
+-endif
++CC ?= cc
++CXX ?= g++
++CXXFLAGS ?=
++CXXDEFS = -D__cplusplus
++AR ?= ar
++ARFLAGS ?= rvs
+
+ #### Delete default suffix rules
+ .SUFFIXES:
+@@ -359,13 +326,13 @@ $(PROGS):
+ cd $(LOCAL_OBJ); \
+ if $(CC) -o $(LOCAL_BIN)/$(notdir $@) $(LDFLAGS) \
+ $(LD_DIRS) $(filter-out lib%.a, $+) \
+- $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) ; then \
++ $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) $(LIBS) ; then \
+ true; else rm -f $(LOCAL_BIN)/$(notdir $@); fi; \
+ else \
+ cd $(LOCAL_OBJ); \
+ if $(CXX) -o $(LOCAL_BIN)/$(notdir $@) $(LDFLAGS) \
+ $(LD_DIRS) $(filter-out lib%.a, $+) \
+- $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) ; then \
++ $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) $(LIBS) ; then \
+ true; else rm -f $(LOCAL_BIN)/$(notdir $@); fi; \
+ fi ;
+
+diff --git a/src/c_make.glm b/src/c_make.glm
+index 0decc17..b82131c 100644
+--- a/src/c_make.glm
++++ b/src/c_make.glm
+@@ -8,10 +8,7 @@ include $(LOCAL_WORK)/src/c_make.gen
+
+ SUBDIRS = Common ICM Glimmer Util
+
+-CFLAGS = -g -Wall
+-CXXFLAGS = -g -Wall
+-
+-LDFLAGS = -g -lm
++LIBS = -lm
+
+
+ #AS_BUILD_DIR =$(LOCAL_WORK)
diff --git a/sci-biology/glimmer/files/glimmer-3.02b-jobserver-fix.patch b/sci-biology/glimmer/files/glimmer-3.02b-jobserver-fix.patch
new file mode 100644
index 000000000000..91498b116d12
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02b-jobserver-fix.patch
@@ -0,0 +1,22 @@
+diff -ru glimmer3.02-orig/src/Makefile glimmer3.02/src/Makefile
+--- glimmer3.02-orig/src/Makefile 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/src/Makefile 2010-03-18 14:30:15.000000000 +0100
+@@ -2,12 +2,12 @@
+
+
+ all:
+- @ TGT=objs
+- @ $(dosubdirs)
+- @ TGT=libs
+- @ $(dosubdirs)
+- @ TGT=progs
+- @ $(dosubdirs)
++ @+ TGT=objs
++ @+ $(dosubdirs)
++ @+ TGT=libs
++ @+ $(dosubdirs)
++ @+ TGT=progs
++ @+ $(dosubdirs)
+
+
+ install: all
diff --git a/sci-biology/glimmer/files/glimmer-3.02b-ldflags.patch b/sci-biology/glimmer/files/glimmer-3.02b-ldflags.patch
new file mode 100644
index 000000000000..0a04fbef1dcc
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02b-ldflags.patch
@@ -0,0 +1,88 @@
+diff --git a/src/c_make.gen b/src/c_make.gen
+index 414dead..84c3030 100644
+--- a/src/c_make.gen
++++ b/src/c_make.gen
+@@ -200,45 +200,12 @@ LOCAL_SYS_INC=$(SEP_PATH)/../SYS/inc
+ #### Do not redefine if (a) passed in on command line, or (b)
+ #### defined in an environment variable.
+
+-ifneq "$(origin CC)" "environment"
+-CC = cc
+-endif
+-
+-ifneq "$(origin CPPFLAGS)" "environment"
+-CPPFLAGS=
+-endif
+-
+-ifneq "$(origin CFLAGS)" "environment"
+-CFLAGS =
+-endif
+-
+-ifneq "$(origin CDEFS)" "environment"
+-CDEFS =
+-endif
+-
+-ifneq "$(origin CXX)" "environment"
+-CXX = g++
+-endif
+-
+-ifneq "$(origin CXXFLAGS)" "environment"
+-CXXFLAGS=
+-endif
+-
+-ifneq "$(origin CXXDEFS)" "environment"
+-CXXDEFS= -D__cplusplus
+-endif
+-
+-ifneq "$(origin AR)" "environment"
+-AR = ar
+-endif
+-
+-ifneq "$(origin ARFLAGS)" "environment"
+-ARFLAGS = rvs
+-endif
+-
+-ifneq "$(origin LDFLAGS)" "environment"
+-LDFLAGS =
+-endif
++CC ?= cc
++CXX ?= g++
++CXXFLAGS ?=
++CXXDEFS = -D__cplusplus
++AR ?= ar
++ARFLAGS ?= rvs
+
+ #### Delete default suffix rules
+ .SUFFIXES:
+@@ -359,13 +326,13 @@ $(PROGS):
+ cd $(LOCAL_OBJ); \
+ if $(CC) -o $(LOCAL_BIN)/$(notdir $@) $(LDFLAGS) \
+ $(LD_DIRS) $(filter-out lib%.a, $+) \
+- $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) ; then \
++ $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) $(LIBS) ; then \
+ true; else rm -f $(LOCAL_BIN)/$(notdir $@); fi; \
+ else \
+ cd $(LOCAL_OBJ); \
+ if $(CXX) -o $(LOCAL_BIN)/$(notdir $@) $(LDFLAGS) \
+ $(LD_DIRS) $(filter-out lib%.a, $+) \
+- $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) ; then \
++ $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) $(LIBS) ; then \
+ true; else rm -f $(LOCAL_BIN)/$(notdir $@); fi; \
+ fi ;
+
+diff --git a/src/c_make.glm b/src/c_make.glm
+index 0decc17..b82131c 100644
+--- a/src/c_make.glm
++++ b/src/c_make.glm
+@@ -8,10 +8,7 @@ include $(LOCAL_WORK)/src/c_make.gen
+
+ SUBDIRS = Common ICM Glimmer Util
+
+-CFLAGS = -g -Wall
+-CXXFLAGS = -g -Wall
+-
+-LDFLAGS = -g -lm
++LIBS = -lm
+
+
+ #AS_BUILD_DIR =$(LOCAL_WORK)
diff --git a/sci-biology/glimmer/files/glimmer-3.02b-rename_extract.patch b/sci-biology/glimmer/files/glimmer-3.02b-rename_extract.patch
new file mode 100644
index 000000000000..6eebc5610414
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02b-rename_extract.patch
@@ -0,0 +1,196 @@
+diff -r -u glimmer3.02.old/docs/notes.tex glimmer3.02/docs/notes.tex
+--- glimmer3.02.old/docs/notes.tex 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/docs/notes.tex 2015-05-25 22:41:39.450340098 +0200
+@@ -306,7 +306,7 @@
+ The script would then run the commands:
+ \BSV\begin{verbatim}
+ long-orfs -n -t 1.15 genom.seq run1.longorfs
+- extract -t genom.seq run1.longorfs > run1.train
++ glimmer_extract -t genom.seq run1.longorfs > run1.train
+ build-icm -r run1.icm < run1.train
+ glimmer3 -o50 -g110 -t30 genom.seq run1.icm run1
+ \end{verbatim}\ESV
+@@ -330,9 +330,9 @@
+ \end{verbatim}\ESV
+ The script would then run the commands:
+ \BSV\begin{verbatim}
+- extract -t genom.seq train.coords > run2.train
++ glimmer_extract -t genom.seq train.coords > run2.train
+ build-icm -r run2.icm < run2.train
+- upstream-coords.awk 25 0 train.coords | extract genom.seq - > run2.upstream
++ upstream-coords.awk 25 0 train.coords | glimmer_extract genom.seq - > run2.upstream
+ elph run2.upstream LEN=6 | get-motif-counts.awk > run2.motif
+ set startuse = `start-codon-distrib -3 genom.seq train.coords`
+ glimmer3 -o50 -g110 -t30 -b run2.motif -P $startuse genom.seq run2.icm run2
+@@ -358,11 +358,11 @@
+ The script would then run the commands:
+ \BSV\begin{verbatim}
+ long-orfs -n -t 1.15 genom.seq run3.longorfs
+- extract -t genom.seq run3.longorfs > run3.train
++ glimmer_extract -t genom.seq run3.longorfs > run3.train
+ build-icm -r run3.icm < run3.train
+ glimmer3 -o50 -g110 -t30 genom.seq run3.icm run3.run1
+ tail +2 run3.run1.predict > run3.coords
+- upstream-coords.awk 25 0 run3.coords | extract genom.seq - > run3.upstream
++ upstream-coords.awk 25 0 run3.coords | glimmer_extract genom.seq - > run3.upstream
+ elph run3.upstream LEN=6 | get-motif-counts.awk > run3.motif
+ set startuse = `start-codon-distrib -3 genom.seq run3.coords`
+ glimmer3 -o50 -g110 -t30 -b run3.motif -P $startuse genom.seq run3.icm run3
+@@ -1081,12 +1081,12 @@
+ \Pg{entropy-score}\, [\Desc{options}] \Desc{sequence} \Desc{coords}
+ \eq
+
+-\subsubsection{\Pg{extract} Program}
++\subsubsection{\Pg{glimmer_extract} Program}
+ This program reads a genome sequence and a list of coordinates
+ for it and outputs a multi-fasta file of the regions specified
+ by the coordinates. Output goes to standard output.
+ \bq
+- \Pg{extract}\, [\Desc{options}] \Desc{sequence} \Desc{coords}
++ \Pg{glimmer_extract}\, [\Desc{options}] \Desc{sequence} \Desc{coords}
+ \eq
+
+ \subsubsection{\Pg{multi-extract} Program}
+diff -r -u glimmer3.02.old/sample-run/g3-from-scratch.csh glimmer3.02/sample-run/g3-from-scratch.csh
+--- glimmer3.02.old/sample-run/g3-from-scratch.csh 2006-06-12 21:46:35.000000000 +0200
++++ glimmer3.02/sample-run/g3-from-scratch.csh 2015-05-25 22:40:18.450338748 +0200
+@@ -50,7 +50,7 @@
+ step2:
+ # Extract the training sequences from the genome file
+ echo "Step 2 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $tag.longorfs > $tag.train
++$glimmerpath/glimmer_extract -t $genome $tag.longorfs > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+diff -r -u glimmer3.02.old/sample-run/g3-from-training.csh glimmer3.02/sample-run/g3-from-training.csh
+--- glimmer3.02.old/sample-run/g3-from-training.csh 2006-06-12 21:46:35.000000000 +0200
++++ glimmer3.02/sample-run/g3-from-training.csh 2015-05-25 22:40:18.450338748 +0200
+@@ -42,7 +42,7 @@
+ step1:
+ # Extract the training sequences from the genome file
+ echo "Step 1 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $coords > $tag.train
++$glimmerpath/glimmer_extract -t $genome $coords > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+@@ -66,7 +66,7 @@
+ # upstream of the start locations in $coords
+ echo "Step 3 of ${numsteps}: Making PWM from upstream regions"
+ $awkpath/upstream-coords.awk 25 0 $coords \
+- | $glimmerpath/extract $genome - > $tag.upstream
++ | $glimmerpath/glimmer_extract $genome - > $tag.upstream
+ $elphbin $tag.upstream LEN=6 | $awkpath/get-motif-counts.awk > $tag.motif
+ if ($status != 0) then
+ echo "Failed to create PWM"
+diff -r -u glimmer3.02.old/sample-run/g3-iterated.csh glimmer3.02/sample-run/g3-iterated.csh
+--- glimmer3.02.old/sample-run/g3-iterated.csh 2006-06-13 14:15:28.000000000 +0200
++++ glimmer3.02/sample-run/g3-iterated.csh 2015-05-25 22:40:18.450338748 +0200
+@@ -57,7 +57,7 @@
+ step2:
+ # Extract the training sequences from the genome file
+ echo "Step 2 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $tag.longorfs > $tag.train
++$glimmerpath/glimmer_extract -t $genome $tag.longorfs > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+@@ -103,7 +103,7 @@
+ # upstream of the start locations in $tag.coords
+ echo "Step 6 of ${numsteps}: Making PWM from upstream regions"
+ $awkpath/upstream-coords.awk 25 0 $tag.coords \
+- | $glimmerpath/extract $genome - > $tag.upstream
++ | $glimmerpath/glimmer_extract $genome - > $tag.upstream
+ $elphbin $tag.upstream LEN=6 | $awkpath/get-motif-counts.awk > $tag.motif
+ if ($status != 0) then
+ echo "Failed to create PWM"
+diff -r -u glimmer3.02.old/scripts/g3-from-scratch.csh glimmer3.02/scripts/g3-from-scratch.csh
+--- glimmer3.02.old/scripts/g3-from-scratch.csh 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/scripts/g3-from-scratch.csh 2015-05-25 22:44:44.190343177 +0200
+@@ -50,7 +50,7 @@
+ step2:
+ # Extract the training sequences from the genome file
+ echo "Step 2 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $tag.longorfs > $tag.train
++$glimmerpath/glimmer_extract -t $genome $tag.longorfs > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+diff -r -u glimmer3.02.old/scripts/g3-from-training.csh glimmer3.02/scripts/g3-from-training.csh
+--- glimmer3.02.old/scripts/g3-from-training.csh 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/scripts/g3-from-training.csh 2015-05-25 22:44:44.190343177 +0200
+@@ -42,7 +42,7 @@
+ step1:
+ # Extract the training sequences from the genome file
+ echo "Step 1 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $coords > $tag.train
++$glimmerpath/glimmer_extract -t $genome $coords > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+@@ -66,7 +66,7 @@
+ # upstream of the start locations in $coords
+ echo "Step 3 of ${numsteps}: Making PWM from upstream regions"
+ $awkpath/upstream-coords.awk 25 0 $coords \
+- | $glimmerpath/extract $genome - > $tag.upstream
++ | $glimmerpath/glimmer_extract $genome - > $tag.upstream
+ $elphbin $tag.upstream LEN=6 | $awkpath/get-motif-counts.awk > $tag.motif
+ if ($status != 0) then
+ echo "Failed to create PWM"
+diff -r -u glimmer3.02.old/scripts/g3-iterated.csh glimmer3.02/scripts/g3-iterated.csh
+--- glimmer3.02.old/scripts/g3-iterated.csh 2006-06-13 14:15:46.000000000 +0200
++++ glimmer3.02/scripts/g3-iterated.csh 2015-05-25 22:44:44.190343177 +0200
+@@ -57,7 +57,7 @@
+ step2:
+ # Extract the training sequences from the genome file
+ echo "Step 2 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $tag.longorfs > $tag.train
++$glimmerpath/glimmer_extract -t $genome $tag.longorfs > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+@@ -103,7 +103,7 @@
+ # upstream of the start locations in $tag.coords
+ echo "Step 6 of ${numsteps}: Making PWM from upstream regions"
+ $awkpath/upstream-coords.awk 25 0 $tag.coords \
+- | $glimmerpath/extract $genome - > $tag.upstream
++ | $glimmerpath/glimmer_extract $genome - > $tag.upstream
+ $elphbin $tag.upstream LEN=6 | $awkpath/get-motif-counts.awk > $tag.motif
+ if ($status != 0) then
+ echo "Failed to create PWM"
+diff -r -u glimmer3.02.old/src/Util/Makefile glimmer3.02/src/Util/Makefile
+--- glimmer3.02.old/src/Util/Makefile 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/src/Util/Makefile 2015-05-25 22:43:12.760341653 +0200
+@@ -8,7 +8,7 @@
+ SOURCES = $(UTIL_SRCS)
+ OBJECTS = $(UTIL_OBJS)
+
+-PROGS = entropy-profile entropy-score extract multi-extract start-codon-distrib \
++PROGS = entropy-profile entropy-score glimmer_extract multi-extract start-codon-distrib \
+ uncovered window-acgt
+
+ LIBRARIES =
+diff -r -u glimmer3.02.old/src/Util/extract.cc glimmer3.02/src/Util/extract.cc
+--- glimmer3.02.old/src/Util/extract.cc 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/src/Util/extract.cc 2015-05-25 22:44:01.760342470 +0200
+@@ -297,7 +297,7 @@
+
+ {
+ fprintf (stderr,
+- "USAGE: extract [options] <sequence-file> <coords>\n"
++ "USAGE: glimmer_extract [options] <sequence-file> <coords>\n"
+ "\n"
+ "Read fasta-format <sequence-file> and extract from it the\n"
+ "subsequences specified by <coords>. By default, <coords>\n"
+--- glimmer3.02.old/src/Util/Makefile 2015-05-25 22:43:12.760341653 +0200
++++ glimmer-3.02-r3/work/glimmer3.02/src/Util/Makefile 2015-05-25 23:13:34.230372010 +0200
+@@ -21,7 +21,7 @@
+
+ entropy-score: entropy-score.o libGLMcommon.a
+
+-extract: extract.o libGLMcommon.a
++glimmer_extract: extract.o libGLMcommon.a
+
+ multi-extract: multi-extract.o libGLMcommon.a
+
diff --git a/sci-biology/glimmer/glimmer-3.02-r3.ebuild b/sci-biology/glimmer/glimmer-3.02-r3.ebuild
new file mode 100644
index 000000000000..acc0eb98e18b
--- /dev/null
+++ b/sci-biology/glimmer/glimmer-3.02-r3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+
+MY_PV=${PV//./}
+
+DESCRIPTION="An HMM-based microbial gene finding system from TIGR"
+HOMEPAGE="http://www.cbcb.umd.edu/software/glimmer/"
+SRC_URI="http://www.cbcb.umd.edu/software/${PN}/${PN}${MY_PV}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+IUSE=""
+KEYWORDS="amd64 x86"
+
+DEPEND=""
+RDEPEND="app-shells/tcsh"
+
+S="${WORKDIR}/${PN}${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-glibc210.patch
+ "${FILESDIR}"/${P}-jobserver-fix.patch
+ "${FILESDIR}"/${P}-ldflags.patch
+ "${FILESDIR}"/${PN}-3.02b-rename_extract.patch
+)
+
+src_prepare() {
+ sed -i -e 's|\(set awkpath =\).*|\1 /usr/share/'${PN}'/scripts|' \
+ -e 's|\(set glimmerpath =\).*|\1 /usr/bin|' scripts/* || die "failed to rewrite paths"
+ # Fix Makefile to die on failure
+ sed -i 's/$(MAKE) $(TGT)/$(MAKE) $(TGT) || exit 1/' src/c_make.gen || die
+ # GCC 4.3 include fix
+ sed -i 's/include <string>/include <string.h>/' src/Common/delcher.hh || die
+ epatch "${PATCHES[@]}"
+}
+
+src_compile() {
+ emake \
+ -C src \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ AR=$(tc-getAR) \
+ CXXFLAGS="${CXXFLAGS}" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ rm bin/test || die
+ dobin bin/*
+
+ insinto /usr/share/${PN}
+ doins -r scripts
+
+ dodoc glim302notes.pdf
+}
diff --git a/sci-biology/glimmer/glimmer-3.02b.ebuild b/sci-biology/glimmer/glimmer-3.02b.ebuild
new file mode 100644
index 000000000000..0ebbbabe0c99
--- /dev/null
+++ b/sci-biology/glimmer/glimmer-3.02b.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+
+MY_PV=${PV//./}
+
+DESCRIPTION="An HMM-based microbial gene finding system from TIGR"
+HOMEPAGE="http://ccb.jhu.edu/software/glimmer"
+SRC_URI="http://ccb.jhu.edu/software/${PN}/${PN}${MY_PV}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+IUSE=""
+KEYWORDS="~amd64 ~x86"
+
+DEPEND=""
+RDEPEND="app-shells/tcsh
+ sci-biology/elph"
+
+#S="${WORKDIR}/${PN}${PV}"
+S="${WORKDIR}/${PN}3.02"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-jobserver-fix.patch
+ "${FILESDIR}"/${P}-ldflags.patch
+ "${FILESDIR}"/${P}-rename_extract.patch
+)
+
+src_prepare() {
+ sed -i -e 's|\(set awkpath =\).*|\1 /usr/share/'${PN}'/scripts|' \
+ -e 's|\(set glimmerpath =\).*|\1 /usr/bin|' scripts/* || die "failed to rewrite paths"
+ # Fix Makefile to die on failure
+ sed -i 's/$(MAKE) $(TGT)/$(MAKE) $(TGT) || exit 1/' src/c_make.gen || die
+ # GCC 4.3 include fix
+ sed -i 's/include <string>/include <string.h>/' src/Common/delcher.hh || die
+ #
+ sed -i "s+/fs/szgenefinding/Glimmer3/bin+%${D}/bin/glimmer3+" scripts/g3-* || die
+ sed -i "s+/fs/szgenefinding/Glimmer3/scripts+%${D}/share/glimmer/scripts+" scripts/g3-* || die
+ sed -i "s+/nfshomes/adelcher/bin/elph+%${D}/bin/elph+" scripts/g3-* || die
+ sed -i "s/@ if/if/" src/c_make.gen || die
+ # avoid file collision on /usr/bin/extract #247394
+ epatch "${PATCHES[@]}"
+}
+
+src_compile() {
+ emake \
+ -C src \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ AR=$(tc-getAR) \
+ CXXFLAGS="${CXXFLAGS}" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ rm bin/test || die
+ dobin bin/*
+
+ insinto /usr/share/${PN}
+ doins -r scripts
+
+ dodoc glim302notes.pdf
+}
diff --git a/sci-biology/glimmer/metadata.xml b/sci-biology/glimmer/metadata.xml
new file mode 100644
index 000000000000..f17a827e3101
--- /dev/null
+++ b/sci-biology/glimmer/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>