aboutsummaryrefslogtreecommitdiff
path: root/biology/canu
diff options
context:
space:
mode:
authorJason W. Bacon <jwb@FreeBSD.org>2019-04-18 12:15:56 +0000
committerJason W. Bacon <jwb@FreeBSD.org>2019-04-18 12:15:56 +0000
commit43103da79d02b2f43b705feb579006c33a2e9120 (patch)
treea68ee5460494edbed5a06ff515941ff72aaaf4a0 /biology/canu
parent1378000847cb189f37b164b808cad2c1364db896 (diff)
downloadports-43103da79d02b2f43b705feb579006c33a2e9120.tar.gz
ports-43103da79d02b2f43b705feb579006c33a2e9120.zip
Notes
Diffstat (limited to 'biology/canu')
-rw-r--r--biology/canu/Makefile31
-rw-r--r--biology/canu/files/patch-Makefile116
-rw-r--r--biology/canu/files/patch-pipelines_canu_Defaults.pm4
-rw-r--r--biology/canu/files/patch-pipelines_canu_Execution.pm10
4 files changed, 141 insertions, 20 deletions
diff --git a/biology/canu/Makefile b/biology/canu/Makefile
index 8911b9823389..7000b7362ede 100644
--- a/biology/canu/Makefile
+++ b/biology/canu/Makefile
@@ -12,10 +12,6 @@ COMMENT= Single molecule sequence assembler
LICENSE= GPLv2
LICENSE_FILE= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/README.license.GPL
-BROKEN_aarch64= fails to link: undefined reference to omp_set_num_threads
-BROKEN_armv6= fails to install: mv: rename site_perl to /wrkdirs/usr/ports/biology/canu/work/canu-1.7/src/usr/local/FreeBSD-armv6/lib/perl5/site_perl: No such file or directory
-BROKEN_armv7= fails to install: mv: rename site_perl to /wrkdirs/usr/ports/biology/canu/work/canu-1.7/src/usr/local/FreeBSD-armv7/lib/perl5/site_perl: No such file or directory
-
LIB_DEPENDS= libboost_regex.so:devel/boost-libs
RUN_DEPENDS= gnuplot:math/gnuplot
@@ -28,19 +24,28 @@ JAVA_VERSION= 1.8+
GH_ACCOUNT= marbl
WRKSRC_SUBDIR= src
-# Makefile compiles directly into ${DESTDIR}${PREFIX}
-MAKE_ENV+= DESTDIR=${WRKSRC}
+# Upstream Makefile compiles directly into ${DESTDIR}${PREFIX} rather than
+# using a separate install target.
+MAKE_ENV= DESTDIR=${WRKSRC} CANU_BUILD_ENV=ports
+
+.include <bsd.port.pre.mk>
+
+# GCC 4.2.1 (still base compiler on some 2nd tier platforms) cannot build canu
+.if ${COMPILER_TYPE} == gcc && ${COMPILER_VERSION} <= 42
+USE_GCC= yes
+.endif
-post-patch:
- ${REINPLACE_CMD} \
+pre-configure:
+ @${REINPLACE_CMD} \
-e 's|-O4||g' \
-e 's|-funroll-loops||g' \
-e 's|-fexpensive-optimizations||g' \
- -e 's|amd64|${ARCH}|g' \
${WRKSRC}/Makefile
- ${REINPLACE_CMD} -e 's|\\$$bin/mhap-|${JAVAJARDIR}/mhap-|g' \
+ @${REINPLACE_CMD} \
+ -e 's|\\$$bin/mhap-|${JAVAJARDIR}/mhap-|g' \
${WRKSRC}/pipelines/canu/OverlapMhap.pm
- ${REINPLACE_CMD} -e 's|RealBin/lib|RealBin/../${SITE_PERL_REL}/canu|g' \
+ @${REINPLACE_CMD} \
+ -e 's|RealBin/lib|RealBin/../${SITE_PERL_REL}/canu|g' \
${WRKSRC}/pipelines/canu.pl
# Upstream does not want to use lib/perl5/site_perl
@@ -55,9 +60,9 @@ do-install:
${COPYTREE_BIN} bin ${STAGEDIR}${PREFIX})
# STRIP_CMD fails without this on 11.1 under poudriere
@${CHMOD} u+w ${STAGEDIR}${PREFIX}/bin/*
- ${STRIP_CMD} \
+ @${STRIP_CMD} \
`file ${STAGEDIR}${PREFIX}/bin/* | ${GREP} ELF | cut -d : -f 1`
(cd ${WRKSRC}${PREFIX}/FreeBSD-${ARCH} && \
${COPYTREE_SHARE} "lib share" ${STAGEDIR}${PREFIX})
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/biology/canu/files/patch-Makefile b/biology/canu/files/patch-Makefile
new file mode 100644
index 000000000000..eba17f05a383
--- /dev/null
+++ b/biology/canu/files/patch-Makefile
@@ -0,0 +1,116 @@
+--- Makefile.orig 2018-10-22 16:47:31 UTC
++++ Makefile
+@@ -481,68 +481,65 @@ endif
+
+
+ ifeq (${OSTYPE}, FreeBSD)
+-ifeq (${MACHINETYPE}, amd64)
+- CC ?= gcc48
+- CXX ?= g++48
+
+- # GCC
+- CXXFLAGS += -I/usr/local/include -D_GLIBCXX_PARALLEL -pthread -fopenmp -fPIC
+- LDFLAGS += -L/usr/local/lib -D_GLIBCXX_PARALLEL -pthread -fopenmp -rpath /usr/local/lib/gcc48 -lm -lexecinfo
++ ifeq (${CANU_BUILD_ENV}, ports)
+
+- # CLANG
+- #CXXFLAGS += -I/usr/local/include -D_GLIBCXX_PARALLEL -pthread -fPIC
+- #LDFLAGS += -L/usr/local/lib -D_GLIBCXX_PARALLEL -pthread -lm -lexecinfo -lgomp
++ #################################################
++ # If compiling within ports system (recommended)
++ #################################################
+
+- #CXXFLAGS += -Wall -Wextra -Wformat -Wno-unused -Wno-parentheses
+- CXXFLAGS += -Wall -Wextra -Wformat -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-char-subscripts -Wno-write-strings -Wno-sign-compare -Wno-format-truncation
++ # Use architecture as defined by ports rather than uname
++ # ${ARCH} matches uname -p, not uname -m
++ MACHINETYPE=${ARCH}
+
+- # Google Performance Tools malloc and heapchecker (HEAPCHECK=normal)
+- #CXXFLAGS +=
+- #LDFLAGS += -ltcmalloc
++ # Take compiler and most flags from the env and make command line
++ CXXFLAGS += -D_GLIBCXX_PARALLEL -fPIC -pthread -fopenmp
++ LDFLAGS += -D_GLIBCXX_PARALLEL -pthread -fopenmp
+
+- # Google Performance Tools cpu profiler (CPUPROFILE=/path)
+- #CXXFLAGS +=
+- #LDFLAGS += -lprofiler
++ else
+
+- # callgrind
+- #CXXFLAGS += -g3 -Wa,--gstabs -save-temps
++ ######################################################
++ # If compiling outside ports system (not recommended)
++ ######################################################
+
+- ifeq ($(BUILDOPTIMIZED), 1)
+- else
+- CXXFLAGS += -g3
+- endif
++ CC ?= gcc48
++ CXX ?= g++48
+
+- ifeq ($(BUILDDEBUG), 1)
+- else
+- CXXFLAGS += -O3 -funroll-loops -fexpensive-optimizations -finline-functions -fomit-frame-pointer
+- endif
+-endif
+-endif
++ # GCC
++ CXXFLAGS += -I/usr/local/include -D_GLIBCXX_PARALLEL -pthread -fopenmp -fPIC
++ LDFLAGS += -L/usr/local/lib -D_GLIBCXX_PARALLEL -pthread -fopenmp -rpath /usr/local/lib/gcc48 -lm -lexecinfo
+
++ # CLANG
++ #CXXFLAGS += -I/usr/local/include -D_GLIBCXX_PARALLEL -pthread -fPIC
++ #LDFLAGS += -L/usr/local/lib -D_GLIBCXX_PARALLEL -pthread -lm -lexecinfo -lgomp
+
+-ifeq (${OSTYPE}, FreeBSD)
+-ifeq (${MACHINETYPE}, arm)
+- CC ?= gcc48
+- CXX ?= g++48
++ #CXXFLAGS += -Wall -Wextra -Wformat -Wno-unused -Wno-parentheses
++ CXXFLAGS += -Wall -Wextra -Wformat -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-char-subscripts -Wno-write-strings -Wno-sign-compare -Wno-format-truncation
+
+- CXXFLAGS += -I/usr/local/include -D_GLIBCXX_PARALLEL -pthread -fopenmp -fPIC
+- LDFLAGS += -L/usr/local/lib -D_GLIBCXX_PARALLEL -pthread -fopenmp -rpath /usr/local/lib/gcc48 -lm
++ # Google Performance Tools malloc and heapchecker (HEAPCHECK=normal)
++ #CXXFLAGS +=
++ #LDFLAGS += -ltcmalloc
+
+- CXXFLAGS += -Wall -Wextra -Wno-write-strings -Wno-unused -Wno-char-subscripts -Wno-sign-compare -Wformat -Wno-parentheses
+- CXXFLAGS += -funroll-loops -fomit-frame-pointer
+- LDFLAGS +=
++ # Google Performance Tools cpu profiler (CPUPROFILE=/path)
++ #CXXFLAGS +=
++ #LDFLAGS += -lprofiler
+
+- ifeq ($(BUILDOPTIMIZED), 1)
+- else
+- CXXFLAGS += -g3
+- endif
++ # callgrind
++ #CXXFLAGS += -g3 -Wa,--gstabs -save-temps
+
+- ifeq ($(BUILDDEBUG), 1)
+- else
+- CXXFLAGS += -O4 -funroll-loops -fexpensive-optimizations -finline-functions -fomit-frame-pointer
+- endif
+-endif
+-endif
++ ifeq ($(BUILDOPTIMIZED), 1)
++ else
++ CXXFLAGS += -g3
++ endif
++
++ ifeq ($(BUILDDEBUG), 1)
++ else
++ CXXFLAGS += -O3 -funroll-loops -fexpensive-optimizations -finline-functions -fomit-frame-pointer
++ endif
++
++ endif # CANU_BUILD_ENV
++
++endif # FreeBSD
+
+
+ ifneq (,$(findstring CYGWIN, ${OSTYPE}))
diff --git a/biology/canu/files/patch-pipelines_canu_Defaults.pm b/biology/canu/files/patch-pipelines_canu_Defaults.pm
index 6c637ae60c85..6498373c2b36 100644
--- a/biology/canu/files/patch-pipelines_canu_Defaults.pm
+++ b/biology/canu/files/patch-pipelines_canu_Defaults.pm
@@ -1,6 +1,6 @@
---- pipelines/canu/Defaults.pm.orig 2018-06-19 17:20:30 UTC
+--- pipelines/canu/Defaults.pm.orig 2018-10-22 16:47:31 UTC
+++ pipelines/canu/Defaults.pm
-@@ -812,6 +812,16 @@ sub setDefaults () {
+@@ -917,6 +917,16 @@ sub setDefaults () {
setDefault("gridEngineArraySubmitID", undef, "Grid engine configuration, not documented");
setDefault("gridEngineJobID", undef, "Grid engine configuration, not documented");
diff --git a/biology/canu/files/patch-pipelines_canu_Execution.pm b/biology/canu/files/patch-pipelines_canu_Execution.pm
index bb306d04f019..4b489761931c 100644
--- a/biology/canu/files/patch-pipelines_canu_Execution.pm
+++ b/biology/canu/files/patch-pipelines_canu_Execution.pm
@@ -1,6 +1,6 @@
---- pipelines/canu/Execution.pm.orig 2018-06-18 02:42:11 UTC
+--- pipelines/canu/Execution.pm.orig 2018-10-22 16:47:31 UTC
+++ pipelines/canu/Execution.pm
-@@ -303,10 +303,6 @@ sub skipStage ($$@) {
+@@ -333,10 +333,6 @@ sub resetIteration ($) {
sub getInstallDirectory () {
my $installDir = $FindBin::RealBin;
@@ -11,7 +11,7 @@
return($installDir);
}
-@@ -694,8 +690,8 @@ sub submitScript ($$) {
+@@ -784,8 +780,8 @@ sub submitScript ($$) {
@@ -22,7 +22,7 @@
my $off = 0;
# In some grids (SGE) this is the maximum size of an array job.
-@@ -725,8 +721,42 @@ sub buildGridArray ($$$$) {
+@@ -823,8 +819,42 @@ sub buildGridArray ($$$$) {
$off = "-F \"$off\"";
}
@@ -67,7 +67,7 @@
return($opt, $off);
}
-@@ -870,7 +900,7 @@ sub buildGridJob ($$$$$$$$$) {
+@@ -973,7 +1003,7 @@ sub buildGridJob ($$$$$$$$$) {
my $jobNameT = makeUniqueJobName($jobType, $asm);
my ($jobName, $jobOff) = buildGridArray($jobNameT, $bgnJob, $endJob, getGlobal("gridEngineArrayName"));