summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2017-03-08 22:35:39 +0100
committerDavid Seifert <soap@gentoo.org>2017-03-08 23:15:49 +0100
commit11d10cd16517dbbba9573653b1909995a4033571 (patch)
tree6ed652b9e325afc01d342d440f82cf2a673ce9d9 /sci-biology
parentmedia-libs/game-music-emu: ppc stable (bug 603092). (diff)
downloadgentoo-11d10cd16517dbbba9573653b1909995a4033571.tar.gz
gentoo-11d10cd16517dbbba9573653b1909995a4033571.tar.bz2
gentoo-11d10cd16517dbbba9573653b1909995a4033571.zip
sci-biology/mummer: Version bump to 3.23
* EAPI 6 * Make build system saner * Fix C++ QA warnings Package-Manager: Portage-2.3.4, Repoman-2.3.2 Closes: https://github.com/gentoo/gentoo/pull/4165
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/mummer/Manifest1
-rw-r--r--sci-biology/mummer/files/mummer-3.23-fix-build-system.patch397
-rw-r--r--sci-biology/mummer/files/mummer-3.23-fix-c++-qa.patch83
-rw-r--r--sci-biology/mummer/files/mummer-3.23-fix-shebangs.patch75
-rw-r--r--sci-biology/mummer/mummer-3.23.ebuild46
5 files changed, 602 insertions, 0 deletions
diff --git a/sci-biology/mummer/Manifest b/sci-biology/mummer/Manifest
index 8089124a7428..e752ce6907b5 100644
--- a/sci-biology/mummer/Manifest
+++ b/sci-biology/mummer/Manifest
@@ -1,4 +1,5 @@
DIST MUMmer3.20.tar.gz 3155446 SHA256 9c7880b4ce25ef3c6bed9ccdc26f1c4d7e74eb0ef1ce403907790c0f96c0f260 SHA512 7c80bb605d57739809eb1b1cf8a579d72048e510362237d9ba64e21be18cc663769cda5dabc287832e59fb62804df34bc8336c2b42474466e7ee1e126848aecd WHIRLPOOL a08af35aee960bcd6274d3a00b1c1819d23367c81a72fd41c652c3579253b0aeeb5ef66f6dcfed60b4987c3a40830d04cd81745dce8a274cc3de0663dd54ae6f
DIST MUMmer3.21.tar.gz 3155965 SHA256 7fb1456c8c21eab4913a522e4b79bc5c84b7373feb54614a7003b16d47dc23b8 SHA512 61d49e5451e1697003f7acaac690f2ede7ab71766208d3218954527c48be76ddb78d60ff40ae1bdcd4b93d3efaf21b5bd027da3722eab1ae3fa399ee726bc96e WHIRLPOOL 50c7b0d7c00bf85aa8e0f8b80bf55186f8c0a53d26c3e50d2149120bc46f3632de4cb861a4d4265c1e3be731dffb71940344b238fd3e977412134b0e401cb95e
DIST MUMmer3.22.tar.gz 3156338 SHA256 429022a8c6a7ae55fb1dd94dbdac1b21f662d6278668f5531c735911d9fc77da SHA512 37bbb368c679d2e98fa9b9ef10c18008c173c25ee79183eb30e34125b1dc9cd10f005b7bd7c648335a8025509d8e3456fcc7ce497c95fa71c3c5d3ed3685665f WHIRLPOOL 487333ca38a9c59984ed059e8dd620ad3c0a5ae1a537e500c7b8b2d58213ac88960a13c0f25e6e0490d1209c9e73cfe8df0f8a43dbae9fd6a3e9fe3ce42da453
+DIST MUMmer3.23.tar.gz 3160143 SHA256 1efad4f7d8cee0d8eaebb320a2d63745bb3a160bb513a15ef7af46f330af662f SHA512 f31d36ef3e07fa4ac017c76c1c8d5f53882a59b061742d201f1f7aafb29d16af8268985285398dd90e98d276b2513d2c611f9876069b23fe82b5da1d3ebc04d3 WHIRLPOOL 7471d20a88f5ddf510d1e4826480706a683f005f3bab21ebb19b1fcba2c8f431435cce27a1cdf98ece8d4bb4dafcc349362037f6d526db3f564b7c013c67e882
DIST mummer-3.9.4_alpha.tar.gz 956517 SHA256 fb2f03c729cd078d526d6318f91061f8832c2e8bd0d519ddf3c0b6e656029cfa SHA512 f0b962a69df6918afc7d163b30bcf5bd9eb2be663c8ac685b5e06317953cf12b9d240df8a5bfe8a9410b65cf88176cc7a71eecfc460e51df7ad1b27dc3a10fc2 WHIRLPOOL 8443cde87f868136eaa005db2b5b461a822097778d4c36448602a5cda058dc1dfa10daa08883248ffaba79a1d33240170b94b96548ebb56a01eaa27838d4afd6
diff --git a/sci-biology/mummer/files/mummer-3.23-fix-build-system.patch b/sci-biology/mummer/files/mummer-3.23-fix-build-system.patch
new file mode 100644
index 000000000000..b92f75c07719
--- /dev/null
+++ b/sci-biology/mummer/files/mummer-3.23-fix-build-system.patch
@@ -0,0 +1,397 @@
+Fix build system to restore some sanity
+
+--- a/Makefile
++++ b/Makefile
+@@ -27,31 +27,27 @@
+
+
+ TOP_DIR := $(CURDIR)
+-BIN_DIR := $(TOP_DIR)
+-AUX_BIN_DIR := $(TOP_DIR)/aux_bin
++
++BIN_DIR = $(EPREFIX)/usr/bin
++SCRIPT_DIR = $(EPREFIX)/usr/share/mummer/scripts
++AUX_BIN_DIR = $(EPREFIX)/usr/bin
+
+ DOC_DIR := $(TOP_DIR)/docs
+ SCRIPT_DIR := $(TOP_DIR)/scripts
+ TIGR_SRC_DIR := $(TOP_DIR)/src/tigr
+ KURTZ_SRC_DIR := $(TOP_DIR)/src/kurtz
+
+-CC := $(filter /%,$(shell /bin/sh -c 'type gcc'))
+-CXX := $(filter /%,$(shell /bin/sh -c 'type g++'))
+ SED := $(filter /%,$(shell /bin/sh -c 'type sed'))
+ CSH := $(filter /%,$(shell /bin/sh -c 'type csh'))
+ PERL := $(filter /%,$(shell /bin/sh -c 'type perl'))
+-AR := $(filter /%,$(shell /bin/sh -c 'type ar'))
+
+-CXXFLAGS = -O3
+-CFLAGS = -O3
+-LDFLAGS =
+
+ FLATS = ACKNOWLEDGEMENTS COPYRIGHT INSTALL LICENSE Makefile README ChangeLog
+
+
+
+ #-- EXPORT THESE VARIABLES TO OTHER MAKEFILES
+-export BIN_DIR AUX_BIN_DIR CXX CC CFLAGS CXXFLAGS LDFLAGS
++export BIN_DIR SCRIPT_DIR AUX_BIN_DIR
+
+
+
+@@ -114,15 +110,15 @@
+
+
+ kurtz:
+- cd $(KURTZ_SRC_DIR); $(MAKE) mummer
++ $(MAKE) -C $(KURTZ_SRC_DIR) mummer
+
+
+ scripts:
+- cd $(SCRIPT_DIR); $(MAKE) all
++ $(MAKE) -C $(SCRIPT_DIR) all
+
+
+ tigr:
+- cd $(TIGR_SRC_DIR); $(MAKE) all
++ $(MAKE) -C $(TIGR_SRC_DIR) all
+
+
+ uninstall: clean
+--- a/scripts/Makefile
++++ b/scripts/Makefile
+@@ -1,21 +1,10 @@
+-#-- Imported variables from top level makefile
+-# BIN_DIR AUX_BIN_DIR CXX CC CFLAGS CXXFLAGS LDFLAGS
++BIN_DIR = $(EPREFIX)/usr/bin
++SCRIPT_DIR = $(EPREFIX)/usr/share/mummer/scripts
++AUX_BIN_DIR = $(EPREFIX)/usr/bin
+
+-ifndef BIN_DIR
+-BIN_DIR := $(CURDIR)
+-endif
+-ifndef AUX_BIN_DIR
+-AUX_BIN_DIR := $(CURDIR)
+-endif
+-ifndef SCRIPT_DIR
+-SCRIPT_DIR := $(CURDIR)
+-endif
+-
+-SCRIPT_DIR := $(CURDIR)
+ SED := $(filter /%,$(shell /bin/sh -c 'type sed'))
+ CSH := $(filter /%,$(shell /bin/sh -c 'type csh'))
+ PERL := $(filter /%,$(shell /bin/sh -c 'type perl'))
+-VPATH := $(BIN_DIR)
+
+ ALL := exact-tandems mapview mummerplot nucmer promer \
+ run-mummer1 run-mummer3 nucmer2xfig dnadiff
+@@ -39,58 +28,49 @@
+ $(SED) -e 's?__CSH_PATH?$(CSH)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+- exact-tandems.csh > $(BIN_DIR)/exact-tandems
+- chmod 755 $(BIN_DIR)/exact-tandems
++ exact-tandems.csh > exact-tandems
+
+ mapview: mapview.pl
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+- mapview.pl > $(BIN_DIR)/mapview
+- chmod 755 $(BIN_DIR)/mapview
++ mapview.pl > mapview
+
+ mummerplot: mummerplot.pl Foundation.pm
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- mummerplot.pl > $(BIN_DIR)/mummerplot
+- chmod 755 $(BIN_DIR)/mummerplot
++ mummerplot.pl > mummerplot
+
+ dnadiff: dnadiff.pl Foundation.pm
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- dnadiff.pl > $(BIN_DIR)/dnadiff
+- chmod 755 $(BIN_DIR)/dnadiff
++ dnadiff.pl > dnadiff
+
+ nucmer: nucmer.pl Foundation.pm
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+ -e 's?__AUX_BIN_DIR?$(AUX_BIN_DIR)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- nucmer.pl > $(BIN_DIR)/nucmer
+- chmod 755 $(BIN_DIR)/nucmer
++ nucmer.pl > nucmer
+
+ promer: promer.pl Foundation.pm
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+ -e 's?__AUX_BIN_DIR?$(AUX_BIN_DIR)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- promer.pl > $(BIN_DIR)/promer
+- chmod 755 $(BIN_DIR)/promer
++ promer.pl > promer
+
+ run-mummer1: run-mummer1.csh
+ $(SED) -e 's?__CSH_PATH?$(CSH)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- run-mummer1.csh > $(BIN_DIR)/run-mummer1
+- chmod 755 $(BIN_DIR)/run-mummer1
++ run-mummer1.csh > run-mummer1
+
+ run-mummer3: run-mummer3.csh
+ $(SED) -e 's?__CSH_PATH?$(CSH)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- run-mummer3.csh > $(BIN_DIR)/run-mummer3
+- chmod 755 $(BIN_DIR)/run-mummer3
++ run-mummer3.csh > run-mummer3
+
+ nucmer2xfig: nucmer2xfig.pl
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+- nucmer2xfig.pl > $(BIN_DIR)/nucmer2xfig
+- chmod 755 $(BIN_DIR)/nucmer2xfig
++ nucmer2xfig.pl > nucmer2xfig
+--- a/src/kurtz/libbasedir/Makefile
++++ b/src/kurtz/libbasedir/Makefile
+@@ -5,8 +5,6 @@
+
+ SPLINTFLAGS=-f ../Splintoptions -DDEBUG
+
+-LD=$(CC)
+-
+ ##CFLAGS=${DEFINECFLAGS}
+
+ LIBBASE=libbase.a
+@@ -24,14 +22,14 @@
+
+
+ $(LIBBASE): $(LIBOBJECTS)
+- ar sruv $@ $(LIBOBJECTS)
++ $(AR) sruv $@ $(LIBOBJECTS)
+
+
+ include Filegoals.mf
+
+
+ $(LIBBASEDBG): $(LIBDEBUGOBJECTS)
+- ar sruv $@ $(LIBDEBUGOBJECTS)
++ $(AR) sruv $@ $(LIBDEBUGOBJECTS)
+
+
+ .PHONY:clean
+--- a/src/kurtz/Makefile
++++ b/src/kurtz/Makefile
+@@ -1,7 +1,7 @@
+ all:
+- cd libbasedir; $(MAKE) all
+- cd streesrc; $(MAKE) all
+- cd mm3src; $(MAKE) all
++ $(MAKE) -C libbasedir all
++ $(MAKE) -C streesrc all
++ $(MAKE) -C mm3src all
+
+ clean:
+ rm -f *~
+@@ -10,11 +10,11 @@
+ cd mm3src; $(MAKE) clean
+
+ mummer:
+- cd libbasedir; $(MAKE) libbase.a
+- cd streesrc; $(MAKE) libstree.a
+- cd mm3src; $(MAKE) mummer
++ $(MAKE) -C libbasedir libbase.a
++ $(MAKE) -C streesrc libstree.a
++ $(MAKE) -C mm3src mummer
+
+ splintall:
+- cd libbasedir; ${MAKE} splintall
+- cd streesrc; ${MAKE} splintall
+- cd mm3src; ${MAKE} splintall
++ $(MAKE) -C libbasedir splintall
++ $(MAKE) -C streesrc splintall
++ $(MAKE) -C mm3src splintall
+--- a/src/kurtz/mm3src/Makefile
++++ b/src/kurtz/mm3src/Makefile
+@@ -3,11 +3,7 @@
+
+ ##include ../Makedef
+
+-ifndef BIN_DIR
+-BIN_DIR := $(CURDIR)
+-endif
+-
+-VPATH := $(BIN_DIR)
++BIN_DIR = $(EPREFIX)/usr/bin
+
+ ALL := maxmat3.x maxmat3.dbg.x
+
+@@ -15,11 +11,8 @@
+ LIBSTREEDIR=../streesrc
+ INCLUDEDIR=-I${LIBBASEDIR} -I${LIBSTREEDIR}
+
+-override CFLAGS+=$(INCLUDEDIR)
+-##CFLAGS=${DEFINECFLAGS} $(INCLUDEDIR)
+-##LDFLAGS=${DEFINELDFLAGS}
++override CPPFLAGS+=$(INCLUDEDIR)
+ SPLINTFLAGS=${INCLUDEDIR} -f ../Splintoptions -DDEBUG
+-LD=$(CC)
+
+ LIBBASE=$(LIBBASEDIR)/libbase.a
+ LIBBASEDBG=$(LIBBASEDIR)/libbase.dbg.a
+@@ -40,16 +33,16 @@
+ all: $(ALL)
+
+ mummer: $(MUM3OBJECTS) $(LIBSTREE)
+- $(LD) $(LDFLAGS) $(MUM3OBJECTS) $(LIBSTREE) $(LIBBASE) \
+- -o $(BIN_DIR)/$@; chmod 755 $(BIN_DIR)/$@
++ $(CC) $(LDFLAGS) $(MUM3OBJECTS) $(LIBSTREE) $(LIBBASE) \
++ -o $@
+
+ maxmat3.x: $(MUM3OBJECTS) $(LIBSTREE)
+- $(LD) $(LDFLAGS) $(MUM3OBJECTS) $(LIBSTREE) $(LIBBASE) \
+- -o $(BIN_DIR)/$@; chmod 755 $(BIN_DIR)/$@
++ $(CC) $(LDFLAGS) $(MUM3OBJECTS) $(LIBSTREE) $(LIBBASE) \
++ -o $@
+
+ maxmat3.dbg.x: ${MUM3DBGOBJECTS} $(LIBSTREEDBG)
+- $(LD) $(LDFLAGS) $(MUM3DBGOBJECTS) $(LIBSTREEDBG) $(LIBBASEDBG) \
+- -lm -o $(BIN_DIR)/$@; chmod 755 $(BIN_DIR)/$@
++ $(CC) $(LDFLAGS) $(MUM3DBGOBJECTS) $(LIBSTREEDBG) $(LIBBASEDBG) \
++ -lm -o $@
+
+ include Filegoals.mf
+
+--- a/src/kurtz/streesrc/Makefile
++++ b/src/kurtz/streesrc/Makefile
+@@ -23,8 +23,6 @@
+
+ #-DSTARTFACTOR=0.5
+
+-LD=${CC}
+-
+ LIBBASE=${LIBBASEDIR}/libbase.a
+ LIBBASEDBG=${LIBBASEDIR}/libbase.dbg.a
+
+@@ -65,29 +63,29 @@
+ include Filegoals.mf
+
+ libstree.4.a: $(OBJECTS4)
+- ar sruv $@ $(OBJECTS4)
++ $(AR) sruv $@ $(OBJECTS4)
+
+ libstree.a: $(OBJECTS)
+- ar sruv $@ $(OBJECTS)
++ $(AR) sruv $@ $(OBJECTS)
+
+ libstree.dbg.4.a: $(DBGOBJECTS4)
+- ar sruv $@ $(DBGOBJECTS4)
++ $(AR) sruv $@ $(DBGOBJECTS4)
+
+ libstree.dbg.a: $(DBGOBJECTS)
+- ar sruv $@ $(DBGOBJECTS)
++ $(AR) sruv $@ $(DBGOBJECTS)
+
+
+ stree.x: stree.o libstree.a
+- $(LD) $(LDFLAGS) stree.o libstree.a $(LIBBASE) -o $@
++ $(CC) $(LDFLAGS) stree.o libstree.a $(LIBBASE) -o $@
+
+ loc.x: loc.o libstree.a
+- $(LD) $(LDFLAGS) loc.o libstree.a $(LIBBASE) -o $@
++ $(CC) $(LDFLAGS) loc.o libstree.a $(LIBBASE) -o $@
+
+ stree.dbg.x: stree.dbg.o libstree.dbg.a
+- $(LD) $(LDFLAGS) stree.dbg.o libstree.dbg.a $(LIBBASEDBG) -o $@
++ $(CC) $(LDFLAGS) stree.dbg.o libstree.dbg.a $(LIBBASEDBG) -o $@
+
+ loc.dbg.x: loc.dbg.o libstree.dbg.a
+- $(LD) $(LDFLAGS) loc.dbg.o libstree.dbg.a $(LIBBASEDBG) -o $@
++ $(CC) $(LDFLAGS) loc.dbg.o libstree.dbg.a $(LIBBASEDBG) -o $@
+
+ streeproto.h: $(PROTOFILES) Mkstreeproto.sh
+ @echo "make $@"
+--- a/src/tigr/Makefile
++++ b/src/tigr/Makefile
+@@ -1,20 +1,3 @@
+-#-- Imported variables from top level makefile
+-# BIN_DIR AUX_BIN_DIR CXX CC CFLAGS CXXFLAGS LDFLAGS
+-
+-ifndef BIN_DIR
+-BIN_DIR := $(CURDIR)
+-endif
+-ifndef AUX_BIN_DIR
+-AUX_BIN_DIR := $(CURDIR)
+-endif
+-
+-OBJ_RULE = $(CXX) $(CXXFLAGS) $< -c -o $@
+-BIN_RULE = $(CXX) $(CXXFLAGS) $^ -o $(BIN_DIR)/$@; \
+- chmod 755 $(BIN_DIR)/$@
+-AUX_BIN_RULE = $(CXX) $(CXXFLAGS) $^ -o $(AUX_BIN_DIR)/$@; \
+- chmod 755 $(AUX_BIN_DIR)/$@
+-VPATH := $(AUX_BIN_DIR):$(BIN_DIR)
+-
+ ALL := annotate combineMUMs delta-filter gaps mgaps \
+ postnuc postpro prenuc prepro repeat-match \
+ show-aligns show-coords show-tiling show-snps \
+@@ -38,59 +21,22 @@
+
+ #-- not so PHONY rules --#
+ delta.o: delta.cc delta.hh
+- $(OBJ_RULE)
+-
+ tigrinc.o: tigrinc.cc tigrinc.hh
+- $(OBJ_RULE)
+-
+ sw_align.o: sw_align.cc sw_align.hh tigrinc.hh
+- $(OBJ_RULE)
+-
+ translate.o: translate.cc translate.hh
+- $(OBJ_RULE)
+-
+
+ annotate: annotate.cc tigrinc.o
+- $(BIN_RULE)
+-
+ combineMUMs: combineMUMs.cc tigrinc.o
+- $(BIN_RULE)
+-
+ delta-filter: delta-filter.cc tigrinc.o delta.o
+- $(BIN_RULE)
+-
+ gaps: gaps.cc tigrinc.o
+- $(BIN_RULE)
+-
+ mgaps: mgaps.cc tigrinc.o
+- $(BIN_RULE)
+-
+ postnuc: postnuc.cc tigrinc.o sw_align.o
+- $(AUX_BIN_RULE)
+-
+ postpro: postpro.cc tigrinc.o sw_align.o translate.o
+- $(AUX_BIN_RULE)
+-
+ prenuc: prenuc.cc tigrinc.o
+- $(AUX_BIN_RULE)
+-
+ prepro: prepro.cc tigrinc.o translate.o
+- $(AUX_BIN_RULE)
+-
+ repeat-match: repeat-match.cc tigrinc.o
+- $(BIN_RULE)
+-
+ show-aligns: show-aligns.cc tigrinc.o translate.o delta.o
+- $(BIN_RULE)
+-
+ show-coords: show-coords.cc tigrinc.o delta.o
+- $(BIN_RULE)
+-
+ show-tiling: show-tiling.cc tigrinc.o delta.o
+- $(BIN_RULE)
+-
+ show-snps: show-snps.cc tigrinc.o translate.o delta.o
+- $(BIN_RULE)
+-
+ show-diff: show-diff.cc tigrinc.o delta.o
+- $(BIN_RULE)
diff --git a/sci-biology/mummer/files/mummer-3.23-fix-c++-qa.patch b/sci-biology/mummer/files/mummer-3.23-fix-c++-qa.patch
new file mode 100644
index 000000000000..d6926c913d4a
--- /dev/null
+++ b/sci-biology/mummer/files/mummer-3.23-fix-c++-qa.patch
@@ -0,0 +1,83 @@
+--- a/src/kurtz/libbasedir/space.c
++++ b/src/kurtz/libbasedir/space.c
+@@ -379,7 +379,7 @@
+ }
+ if(numberofblocks > 0)
+ {
+- fprintf(stderr,"space leak: number of blocks = %u\n",numberofblocks);
++ fprintf(stderr,"space leak: number of blocks = %lu\n",numberofblocks);
+ exit(EXIT_FAILURE);
+ }
+ free(blocks);
+--- a/src/tigr/combineMUMs.cc
++++ b/src/tigr/combineMUMs.cc
+@@ -106,7 +106,7 @@
+ // This array [i] is the maximum number of errors allowed
+ // in a match between sequences of length i , which is
+ // i * MAXERROR_RATE .
+-char * Error_File_Name = DEFAULT_ERROR_FILE_NAME;
++const char * Error_File_Name = DEFAULT_ERROR_FILE_NAME;
+ // Name of file to write gaps listing with # errors in each gap
+ int Fill_Ct = 0;
+ // Number of non-acgt bases in ref sequence
+@@ -132,7 +132,7 @@
+ // The query sequence
+ long int Query_Len;
+ // The length of the query sequence
+-char * Query_Suffix = "Query";
++const char * Query_Suffix = "Query";
+ // Suffix for query tag
+ char * Ref = NULL;
+ // The reference sequence
+@@ -142,7 +142,7 @@
+ // The length of the reference sequence
+ long int Ref_Size;
+ // The size of the reference sequence buffer
+-char * Ref_Suffix = "Ref";
++const char * Ref_Suffix = "Ref";
+ // Suffix for reference tag
+ int Show_Differences = FALSE;
+ // If TRUE then show differences in all alignments
+--- a/src/tigr/mgaps.cc
++++ b/src/tigr/mgaps.cc
+@@ -64,9 +64,9 @@
+ static void Parse_Command_Line
+ (int argc, char * argv []);
+ static void Process_Matches
+- (Match_t * A, int N, char * label);
++ (Match_t * A, int N, const char * label);
+ static int Process_Cluster
+- (Match_t * A, int N, char * label);
++ (Match_t * A, int N, const char * label);
+ static void Union
+ (int a, int b);
+ static void Usage
+@@ -438,7 +438,7 @@
+
+
+ static int Process_Cluster
+- (Match_t * A, int N, char * label)
++ (Match_t * A, int N, const char * label)
+
+ // Process the cluster of matches in A [0 .. (N - 1)] and output them
+ // after a line containing label . Return the number of clusters
+@@ -552,7 +552,7 @@
+
+
+ static void Process_Matches
+- (Match_t * A, int N, char * label)
++ (Match_t * A, int N, const char * label)
+
+ // Process matches A [1 .. N] and output them after
+ // a line containing label .
+--- a/src/tigr/show-coords.cc
++++ b/src/tigr/show-coords.cc
+@@ -788,7 +788,7 @@
+ (vector<AlignStats> Stats)
+ {
+ time_t currtime;
+- char * type;
++ const char * type;
+ char date[MAX_LINE];
+ long int len;
+ vector<AlignStats>::iterator Sip;
diff --git a/sci-biology/mummer/files/mummer-3.23-fix-shebangs.patch b/sci-biology/mummer/files/mummer-3.23-fix-shebangs.patch
new file mode 100644
index 000000000000..97f1dd843aca
--- /dev/null
+++ b/sci-biology/mummer/files/mummer-3.23-fix-shebangs.patch
@@ -0,0 +1,75 @@
+Use portable shebangs instead of hardcoding interpreters
+See also: https://blogs.gentoo.org/mgorny/2016/02/08/a-quick-note-on-portable-shebangs/
+
+--- a/scripts/dnadiff.pl
++++ b/scripts/dnadiff.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH -w
++#!/usr/bin/env perl
+
+ #-------------------------------------------------------------------------------
+ # Programmer: Adam M Phillippy, University of Maryland
+--- a/scripts/exact-tandems.csh
++++ b/scripts/exact-tandems.csh
+@@ -1,4 +1,4 @@
+-#!__CSH_PATH -f
++#!/usr/bin/env csh
+ #
+ # Find exact tandem repeats in specified file involving an
+ # exact duplicate of at least the specified length
+--- a/scripts/mapview.pl
++++ b/scripts/mapview.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+
+ use lib "__SCRIPT_DIR";
+ use Foundation;
+--- a/scripts/mummerplot.pl
++++ b/scripts/mummerplot.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+
+ ################################################################################
+ # Programmer: Adam M Phillippy, The Institute for Genomic Research
+--- a/scripts/nucmer2xfig.pl
++++ b/scripts/nucmer2xfig.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+ # (c) Steven Salzberg 2001
+ # Make an xfig plot for a comparison of a reference chromosome (or single
+ # molecule) versus a multifasta file of contigs from another genome.
+--- a/scripts/nucmer.pl
++++ b/scripts/nucmer.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+
+ #-------------------------------------------------------------------------------
+ # Programmer: Adam M Phillippy, The Institute for Genomic Research
+--- a/scripts/promer.pl
++++ b/scripts/promer.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+
+ #-------------------------------------------------------------------------------
+ # Programmer: Adam M Phillippy, The Institute for Genomic Research
+--- a/scripts/run-mummer1.csh
++++ b/scripts/run-mummer1.csh
+@@ -1,4 +1,4 @@
+-#!__CSH_PATH -f
++#!/usr/bin/env csh
+ #
+ # **SEVERELY** antiquated script for running the mummer 1 suite
+ # -r option reverse complements the query sequence, coordinates of the reverse
+--- a/scripts/run-mummer3.csh
++++ b/scripts/run-mummer3.csh
+@@ -1,4 +1,4 @@
+-#!__CSH_PATH -f
++#!/usr/bin/env csh
+ #
+ # for running the basic mummer 3 suite, should use nucmer instead when possible
+ # to avoid the confusing reverse coordinate system of the raw programs.
diff --git a/sci-biology/mummer/mummer-3.23.ebuild b/sci-biology/mummer/mummer-3.23.ebuild
new file mode 100644
index 000000000000..4839053f4191
--- /dev/null
+++ b/sci-biology/mummer/mummer-3.23.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A rapid whole genome aligner"
+HOMEPAGE="http://mummer.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mummer/MUMmer${PV}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND="
+ app-shells/tcsh
+ dev-lang/perl"
+
+S=${WORKDIR}/MUMmer${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.23-fix-build-system.patch
+ "${FILESDIR}"/${PN}-3.23-fix-c++-qa.patch
+ "${FILESDIR}"/${PN}-3.23-fix-shebangs.patch
+)
+
+src_configure() {
+ use amd64 && append-cppflags -DSIXTYFOURBITS
+ tc-export AR CC CXX
+}
+
+src_install() {
+ dobin src/kurtz/mm3src/mummer
+ dobin src/tigr/{combineMUMs,delta-filter,gaps,mgaps,postnuc,postpro,prenuc,prepro,repeat-match,show-aligns,show-coords,show-tiling,show-snps,show-diff}
+ dobin scripts/{exact-tandems,mapview,mummerplot,dnadiff,nucmer,promer,run-mummer1,run-mummer3,nucmer2xfig}
+ newbin src/tigr/annotate mummer-annotate
+
+ insinto /usr/share/${PN}/lib
+ doins scripts/Foundation.pm
+
+ einstalldocs
+ use doc && dodoc -r docs/.
+}