commit: 2bc641372ed0e7637f0c3e281e4bfb0c19037aa1 Author: Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz> AuthorDate: Sun Apr 22 22:06:03 2018 +0000 Commit: Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz> CommitDate: Sun Apr 22 22:06:03 2018 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=2bc64137
sci-biology/SOAPdenovo2: Respect CC/CXX/CFLAGS/CXXFLAGS variables This commit cleans up the Makefiles a bit. 1. Do not override user's environment if the variables were are set. 2. Prefer site-wide installation of samtools-0.1.x if existing. 3. Do not force -L/lib or -L/usr/lib64, that is handled by the compiler/linker and very importantly, properly. 4. Cleanup spaces and other style inconsistencies. https://github.com/aquaskyline/SOAPdenovo2/pull/44 Package-Manager: Portage-2.3.31, Repoman-2.3.9 ...APdenovo2-240.ebuild => SOAPdenovo2-241.ebuild} | 20 +- .../files/SOAPdenovo2-r241-Makefile.patch | 204 +++++++++++++++++++++ 2 files changed, 215 insertions(+), 9 deletions(-) diff --git a/sci-biology/SOAPdenovo2/SOAPdenovo2-240.ebuild b/sci-biology/SOAPdenovo2/SOAPdenovo2-241.ebuild similarity index 58% rename from sci-biology/SOAPdenovo2/SOAPdenovo2-240.ebuild rename to sci-biology/SOAPdenovo2/SOAPdenovo2-241.ebuild index affce03d3..e3679664d 100644 --- a/sci-biology/SOAPdenovo2/SOAPdenovo2-240.ebuild +++ b/sci-biology/SOAPdenovo2/SOAPdenovo2-241.ebuild @@ -1,14 +1,14 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 -inherit toolchain-funcs +inherit toolchain-funcs eutils DESCRIPTION="Whole genome shotgun assembler (sparse de Bruijn graph) (now MEGAHIT)" HOMEPAGE="https://github.com/aquaskyline/SOAPdenovo2 http://gigascience.biomedcentral.com/articles/10.1186/2047-217X-1-18" -SRC_URI="" +SRC_URI="https://github.com/aquaskyline/SOAPdenovo2/archive/r241.tar.gz -> ${P}.tar.gz" LICENSE="GPL-3" SLOT="0" @@ -19,14 +19,16 @@ DEPEND="dev-libs/libaio sci-biology/samtools:0.1-legacy" RDEPEND="${DEPEND}" -S="${WORKDIR}"/"${PN}"-src-r"${PV}" # version is 2.04-r240 +S="${WORKDIR}"/"${PN}"-r"${PV}" # version is 2.04-r241 src_prepare(){ - # pass to broken Makefile's a proper C++ compiler through the CC variable - sed -e "s/CC = g++/CC = "$(tc-getCXX)"/;s/CFLAGS=/CFLAGS = ${CXXFLAGS} #/;s/-lbam/-lbam-0.1-legacy/" -i Makefile || die - sed -e 's#-I./sparsePregraph/inc#-I/usr/include/bam-0.1-legacy -I./sparsePregraph/inc#' -i Makefile || die - sed -e "s/CC = g++/CC = "$(tc-getCXX)"/;s/CFLAGS=/CFLAGS = ${CXXFLAGS} #/;s/-lbam/-lbam-0.1-legacy/" -i sparsePregraph/Makefile || die - sed -e 's#-I./sparsePregraph/inc#-I/usr/include/bam-0.1-legacy -I./sparsePregraph/inc#' -i sparsePregraph/Makefile || die + epatch "${FILESDIR}"/SOAPdenovo2-r241-Makefile.patch + # this will be partly covered by + # https://github.com/aquaskyline/SOAPdenovo2/pull/44 + # + for f in Makefile standardPregraph/Makefile sparsePregraph/Makefile; do + sed -e 's#^INCLUDES =#INCLUDES = -I/usr/include/bam-0.1-legacy -I./inc#;s#-lbam#-lbam-0.1-legacy#' -i $f || die + done rm -f standardPregraph/*.a standardPregraph/inc/sam.h standardPregraph/inc/bam.h standardPregraph/inc/bgzf.h \ sparsePregraph/inc/sam.h sparsePregraph/inc/bam.h sparsePregraph/inc/bgzf.h standardPregraph/inc/zlib.h \ standardPregraph/inc/zconf.h sparsePregraph/inc/zlib.h sparsePregraph/inc/zconf.h standardPregraph/inc/*.so \ diff --git a/sci-biology/SOAPdenovo2/files/SOAPdenovo2-r241-Makefile.patch b/sci-biology/SOAPdenovo2/files/SOAPdenovo2-r241-Makefile.patch new file mode 100644 index 000000000..a710c2d86 --- /dev/null +++ b/sci-biology/SOAPdenovo2/files/SOAPdenovo2-r241-Makefile.patch @@ -0,0 +1,204 @@ +--- sparsePregraph/Makefile.ori 2017-01-03 21:34:59.000000000 +0100 ++++ sparsePregraph/Makefile 2018-04-22 22:07:47.303546845 +0200 +@@ -1,28 +1,28 @@ +-CC= g++ ++CXX ?= g++ + ifdef debug +-CFLAGS= -O0 -g -fomit-frame-pointer ++CXXFLAGS ?= -O0 -g -fomit-frame-pointer + else +-CFLAGS= -O3 -fomit-frame-pointer -w ++CXXFLAGS ?= -O3 -fomit-frame-pointer -w + endif + +-DFLAGS= +-OBJS= build_graph.o build_edge.o multi_threads.o \ +- build_preArc.o pregraph_sparse.o io_func.o\ +- global.o convert_soapdenovo.o +-PROG= +-INCLUDES= -I./inc +-SUBDIRS= . +-LIBPATH= -L/usr/lib64 +-LIBS= -pthread -lz -L./inc ++DFLAGS = ++OBJS = build_graph.o build_edge.o multi_threads.o \ ++ build_preArc.o pregraph_sparse.o io_func.o\ ++ global.o convert_soapdenovo.o ++PROG = ++INCLUDES = -I./inc ++SUBDIRS = . ++LIBPATH = -L/usr/lib64 ++LIBS = -pthread -lz -L./inc + EXTRA_FLAGS= +-VERSION = 1.0.3 ++VERSION = 1.0.3 + + ifdef 127mer +-CFLAGS += -D_127MER_ ++CXXFLAGS += -D_127MER_ + PROG = pregraph_sparse_127mer.v$(VERSION) + + else +-CFLAGS += -D_63MER_ ++CXXFLAGS += -D_63MER_ + PROG = pregraph_sparse_63mer.v$(VERSION) + endif + +@@ -38,22 +38,22 @@ + endif + + ifneq (,$(findstring $(shell uname -m), x86_64)) +-CFLAGS += -m64 ++CXXFLAGS += -m64 + endif + + ifneq (,$(findstring $(shell uname -m), ia64)) +-CFLAGS += ++CXXFLAGS += + endif + + ifneq (,$(findstring $(shell uname -m), ppc64)) +-CFLAGS += -mpowerpc64 ++CXXFLAGS += -mpowerpc64 + endif + + .SUFFIXES:.cpp .o + + .cpp.o: + @printf "Compiling $<... \r" +- @$(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< || echo "Error in command: $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $<" ++ @$(CXX) -c $(CXXFLAGS) $(DFLAGS) $(INCLUDES) $< || echo "Error in command: $(CXX) -c $(CXXFLAGS) $(DFLAGS) $(INCLUDES) $<" + + all: $(OBJS) + @printf "$(PROG) objects generated. \n" +@@ -66,7 +66,7 @@ + + pregraph_sparse: clean envTest $(OBJS) + @printf "Linking... \r" +- @$(CC) $(CFLAGS)$(INCLUDES) -o $(PROG) $(OBJS) $(LIBPATH) $(LIBS) $(ENTRAFLAGS) ++ @$(CXX) $(CXXFLAGS)$(INCLUDES) -o $(PROG) $(OBJS) $(LIBPATH) $(LIBS) $(ENTRAFLAGS) + @printf "$(PROG) compilation done. \n" + + clean: +--- Makefile.ori 2017-01-03 21:34:59.000000000 +0100 ++++ Makefile 2018-04-22 22:09:16.526124921 +0200 +@@ -1,17 +1,17 @@ + MAKEFLAGS += --no-print-directory +-CC = g++ ++CXX ?= g++ + ifdef debug +-CFLAGS= -O0 -g -fomit-frame-pointer ++CXXFLAGS ?= -O0 -g -fomit-frame-pointer + else +-CFLAGS= -O3 -fomit-frame-pointer ++CXXFLAGS ?= -O3 -fomit-frame-pointer + endif + + SUBDIRS = sparsePregraph standardPregraph fusion +-PROG= SOAPdenovo-63mer SOAPdenovo-127mer SOAPdenovo-fusion +-INCLUDES= -I./sparsePregraph/inc -I./standardPregraph/inc ++PROG = SOAPdenovo-63mer SOAPdenovo-127mer SOAPdenovo-fusion ++INCLUDES = -I./sparsePregraph/inc -I./standardPregraph/inc + +-LIBPATH= -L/lib64 -L/usr/lib64 -L./sparsePregraph/inc -L./standardPregraph/inc +-LIBS= -pthread -lz -lm ++LIBPATH = -L./sparsePregraph/inc -L./standardPregraph/inc ++LIBS = -pthread -lz -lm + EXTRA_FLAGS= + + BIT_ERR = 0 +@@ -25,15 +25,15 @@ + endif + + ifneq (,$(findstring $(shell uname -m), x86_64)) +-CFLAGS += -m64 ++CXXFLAGS += -m64 + endif + + ifneq (,$(findstring $(shell uname -m), ia64)) +-CFLAGS += ++CXXFLAGS += + endif + + ifneq (,$(findstring $(shell uname -m), ppc64)) +-CFLAGS += -mpowerpc64 ++CXXFLAGS += -mpowerpc64 + endif + + +@@ -46,20 +46,20 @@ + SOAPdenovo-63mer: + @cd sparsePregraph;make 63mer=1 debug=1;cd ..; + @cd standardPregraph;make 63mer=1 debug=1;cd ..; +- @$(CC) sparsePregraph/*.o standardPregraph/*.o $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-63mer ++ @$(CXX) sparsePregraph/*.o standardPregraph/*.o $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-63mer + SOAPdenovo-127mer: + @cd sparsePregraph;make 127mer=1 debug=1;cd ..; + @cd standardPregraph;make 127mer=1 debug=1;cd ..; +- @$(CC) sparsePregraph/*.o standardPregraph/*.o $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-127mer ++ @$(CXX) sparsePregraph/*.o standardPregraph/*.o $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-127mer + else + SOAPdenovo-63mer: + @cd sparsePregraph;make 63mer=1;cd ..; + @cd standardPregraph;make 63mer=1;cd ..; +- @$(CC) sparsePregraph/*.o standardPregraph/*.o $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-63mer ++ @$(CXX) sparsePregraph/*.o standardPregraph/*.o $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-63mer + SOAPdenovo-127mer: + @cd sparsePregraph;make 127mer=1;cd ..; + @cd standardPregraph;make 127mer=1;cd ..; +- @$(CC) sparsePregraph/*.o standardPregraph/*.o $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-127mer ++ @$(CXX) sparsePregraph/*.o standardPregraph/*.o $(LIBPATH) $(LIBS) $(EXTRA_FLAGS) -o SOAPdenovo-127mer + endif + + clean: +--- standardPregraph/Makefile.ori 2017-01-03 21:34:59.000000000 +0100 ++++ standardPregraph/Makefile 2018-04-22 22:10:33.108337752 +0200 +@@ -5,13 +5,13 @@ + # + ################################### + +-CC= gcc ++CC ?= gcc + GCCVERSIONMAJOR := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4) + GCCVERSIONMINOR := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 4) + ifdef debug +-CFLAGS= -O0 -g -fomit-frame-pointer #-msse4.2 ++CFLAGS ?= -O0 -g -fomit-frame-pointer #-msse4.2 + else +-CFLAGS= -O3 -fomit-frame-pointer -w #-msse4.2 ++CFLAGS ?= -O3 -fomit-frame-pointer -w #-msse4.2 + endif + DFLAGS= + OBJS= arc.o attachPEinfo.o bubble.o check.o compactEdge.o \ +@@ -24,12 +24,12 @@ + prlRead2path.o prlReadFillGap.o read2scaf.o readInterval.o stack.o\ + readseq1by1.o scaffold.o searchPath.o seq.o splitReps.o \ + cutTip_graph2.o linearEdge.o kmerhash.o read2edge.o iterate.o +-PROG= SOAPdenovo-63mer +-INCLUDES= -Iinc +-SUBDIRS= . +-LIBPATH= -L/lib64 -L/usr/lib64 -L./inc +-LIBS= -pthread -lz -lm +-EXTRA_FLAGS= ++PROG = SOAPdenovo-63mer ++INCLUDES = -Iinc ++SUBDIRS = . ++LIBPATH = -L./inc ++LIBS = -pthread -lz -lm ++EXTRA_FLAGS = + + BIT_ERR = 0 + ifeq (,$(findstring $(shell uname -m), x86_64 ppc64 ia64)) +--- fusion/Makefile.ori 2017-01-03 21:34:59.000000000 +0100 ++++ fusion/Makefile 2018-04-22 22:11:21.209727636 +0200 +@@ -6,8 +6,8 @@ + libdir = + mandir = + +-CC = gcc +-CCOPT = -O3 -fprefetch-loop-arrays -funroll-loops -fomit-frame-pointer -w ++CC ?= gcc ++CCOPT ?= -O3 -fprefetch-loop-arrays -funroll-loops -fomit-frame-pointer -w + LIBS = -lm -lpthread + INCDIRS = -Iinc/ + CFLAGS = ${CCOPT} ${INCDIRS}
