mpiblast: new package (#5106)
This commit is contained in:
parent
3a0e9f29e6
commit
ad8c60239f
@ -0,0 +1,182 @@
|
|||||||
|
diff -rwu mpiblast-1.6.0/ncbi/corelib/ncbienv.c mpiblast-1.6.0-patched/ncbi/corelib/ncbienv.c
|
||||||
|
--- mpiblast-1.6.0/ncbi/corelib/ncbienv.c 2009-11-22 01:17:48.000000000 -0500
|
||||||
|
+++ mpiblast-1.6.0-patched/ncbi/corelib/ncbienv.c 2011-08-06 17:10:08.000000000 -0400
|
||||||
|
@@ -1932,7 +1932,7 @@
|
||||||
|
static char **targv = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
-#if defined(WIN_MAC)
|
||||||
|
+#if defined(WIN_MAC) || defined(OS_UNIX_DARWIN)
|
||||||
|
static FSSpec apFileSpec;
|
||||||
|
static Str255 apName;
|
||||||
|
static Handle apParam;
|
||||||
|
@@ -2047,7 +2047,7 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* defined(OS_UNIX_DARWIN) */
|
||||||
|
-#endif /* defined(WIN_MAC) */
|
||||||
|
+#endif /* defined(WIN_MAC) || defined(OS_UNIX_DARWIN) */
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(OS_MSWIN) || defined(OS_VMS)
|
||||||
|
diff -rwu mpiblast-1.6.0/ncbi/make/makedis.csh mpiblast-1.6.0-patched/ncbi/make/makedis.csh
|
||||||
|
--- mpiblast-1.6.0/ncbi/make/makedis.csh 2010-06-28 21:04:36.000000000 -0400
|
||||||
|
+++ mpiblast-1.6.0-patched/ncbi/make/makedis.csh 2011-08-06 17:06:42.000000000 -0400
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#!/bin/csh -f
|
||||||
|
#
|
||||||
|
-# $Id: makedis.csh 148594 2008-12-30 15:11:36Z ucko $
|
||||||
|
+# $Id: makedis.csh 179886 2010-01-04 17:28:02Z ucko $
|
||||||
|
#
|
||||||
|
## PUBLIC DOMAIN NOTICE
|
||||||
|
# National Center for Biotechnology Information
|
||||||
|
@@ -54,7 +54,7 @@
|
||||||
|
endif
|
||||||
|
|
||||||
|
ls -l $tar_file
|
||||||
|
- tar xvf $tar_file
|
||||||
|
+ tar xf $tar_file
|
||||||
|
else
|
||||||
|
# make sure that ncbi/build directory exists
|
||||||
|
if ( ! -d "ncbi/build" ) then
|
||||||
|
@@ -74,6 +74,7 @@
|
||||||
|
set HAVE_MAC=0
|
||||||
|
#we will try to build OpenGL version of vibrant
|
||||||
|
set HAVE_OGL=1
|
||||||
|
+set MPBL_HAVE_MAC=0
|
||||||
|
|
||||||
|
switch ($os)
|
||||||
|
case SunOS:
|
||||||
|
@@ -164,7 +165,7 @@
|
||||||
|
gcc -v
|
||||||
|
switch (`uname -m`)
|
||||||
|
case "ia64":
|
||||||
|
- if (-e `which ecc`) then
|
||||||
|
+ if (-e `which icc`) then
|
||||||
|
set platform=linux_ecc
|
||||||
|
else
|
||||||
|
set platform=linux
|
||||||
|
@@ -253,7 +254,11 @@
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
set HAVE_MOTIF=0
|
||||||
|
- set HAVE_MAC=1
|
||||||
|
+#MPIBLAST <<<
|
||||||
|
+# set HAVE_MAC=1
|
||||||
|
+ set MPBL_HAVE_MAC=1
|
||||||
|
+ set HAVE_MAC=0
|
||||||
|
+#MPIBLAST
|
||||||
|
breaksw
|
||||||
|
case NetBSD:
|
||||||
|
set platform=netbsd
|
||||||
|
@@ -319,6 +324,7 @@
|
||||||
|
goto BADPLATFORM
|
||||||
|
endif
|
||||||
|
|
||||||
|
+
|
||||||
|
set noglob
|
||||||
|
# take the file $NCBI_DOT_MK and convert it to be suitable for csh eval:
|
||||||
|
# (1) remove comments at the beginning of the lines
|
||||||
|
@@ -328,6 +334,7 @@
|
||||||
|
eval `sed -e 's/^ *#.*//g' -e 's/\$(\([a-zA-Z_]*\))/\${\1}/g' -e 's/ *= */=/g' -e 's/^\([^=]*\)=\(.*\)$/setenv \1 "\2";/' < $NCBI_DOT_MK`
|
||||||
|
unset noglob
|
||||||
|
|
||||||
|
+
|
||||||
|
# disable assert() unless ENABLE_ASSERT is set
|
||||||
|
if ("$?ENABLE_ASSERT" == 0) then
|
||||||
|
set NCBI_OPTFLAG="-DNDEBUG $NCBI_OPTFLAG"
|
||||||
|
@@ -441,13 +448,23 @@
|
||||||
|
set NET_VIB=(VIB=\"blastcl3 taxblast idfetch bl2seq asn2gb tbl2asn gene2xml $NONVIBWWWBLAST \")
|
||||||
|
endif
|
||||||
|
|
||||||
|
+# MPIBLAST <<<<<
|
||||||
|
+if ("$MPBL_HAVE_MAC" == 1) then
|
||||||
|
+set CMD='make $MFLG \
|
||||||
|
+ CFLAGS1=\"-I/Developer/Headers/FlatCarbon $NCBI_OPTFLAG $NCBI_CFLAGS1 $OGL_INCLUDE $PNG_INCLUDE\" \
|
||||||
|
+ LDFLAGS1=\"$NCBI_LDFLAGS1\" OTHERLIBS=\"$NCBI_OTHERLIBS\" \
|
||||||
|
+ SHELL=\"$NCBI_MAKE_SHELL\" LCL=\"$NCBI_DEFAULT_LCL\" \
|
||||||
|
+ RAN=\"$NCBI_RANLIB\" AR=\"$NCBI_AR\" CC=\"$NCBI_CC\" $ALL_VIB all'
|
||||||
|
+else
|
||||||
|
set CMD='make $MFLG \
|
||||||
|
CFLAGS1=\"$NCBI_OPTFLAG $NCBI_CFLAGS1 $OGL_INCLUDE $PNG_INCLUDE\" \
|
||||||
|
LDFLAGS1=\"$NCBI_LDFLAGS1\" OTHERLIBS=\"$NCBI_OTHERLIBS\" \
|
||||||
|
SHELL=\"$NCBI_MAKE_SHELL\" LCL=\"$NCBI_DEFAULT_LCL\" \
|
||||||
|
RAN=\"$NCBI_RANLIB\" AR=\"$NCBI_AR\" CC=\"$NCBI_CC\" $ALL_VIB all'
|
||||||
|
+endif
|
||||||
|
eval echo $CMD
|
||||||
|
eval echo $CMD | sh
|
||||||
|
+# MPIBLAST >>>>>
|
||||||
|
|
||||||
|
set make_stat = $status
|
||||||
|
|
||||||
|
@@ -463,12 +480,18 @@
|
||||||
|
endif
|
||||||
|
|
||||||
|
# MPIBLAST <<<<<
|
||||||
|
-
|
||||||
|
+if ("$MPBL_HAVE_MAC" == 1) then
|
||||||
|
set CMD='make $MFLG -f makempiblast.unx CFLAGS1=\"$NCBI_OPTFLAG $NCBI_CFLAGS1\" \
|
||||||
|
LDFLAGS1=\"$NCBI_LDFLAGS1\" SHELL=\"$NCBI_MAKE_SHELL\" \
|
||||||
|
LCL=\"$NCBI_DEFAULT_LCL\" RAN=\"$NCBI_RANLIB\" AR=\"$NCBI_AR\" CC=\"$NCBI_CC\"'
|
||||||
|
+else
|
||||||
|
+set CMD='make $MFLG -f makempiblast.unx CFLAGS1=\"$NCBI_OPTFLAG $NCBI_CFLAGS1\" \
|
||||||
|
+ LDFLAGS1=\"$NCBI_LDFLAGS1\" SHELL=\"$NCBI_MAKE_SHELL\" \
|
||||||
|
+ LCL=\"$NCBI_DEFAULT_LCL\" RAN=\"$NCBI_RANLIB\" AR=\"$NCBI_AR\" CC=\"$NCBI_CC\"'
|
||||||
|
+endif
|
||||||
|
eval echo $CMD
|
||||||
|
eval echo $CMD | sh
|
||||||
|
+if ($status != 0) exit $status
|
||||||
|
|
||||||
|
if( "$platform" == "bluegenel" || "$platform" == "bluegenep" ) then
|
||||||
|
exit 0
|
||||||
|
@@ -476,7 +499,7 @@
|
||||||
|
# MPIBLAST >>>>>
|
||||||
|
|
||||||
|
set CMD='make $MFLG -f makedemo.unx CFLAGS1=\"$NCBI_OPTFLAG $NCBI_CFLAGS1\" \
|
||||||
|
- LDFLAGS1=\"$NCBI_LDFLAGS1\" SHELL=\"$NCBI_MAKE_SHELL\" \
|
||||||
|
+ LDFLAGS1=\"$NCBI_LDFLAGS1\" SHELL=\"$NCBI_MAKE_SHELL\" OTHERLIBS=\"$NCBI_OTHERLIBS\" \
|
||||||
|
LCL=\"$NCBI_DEFAULT_LCL\" RAN=\"$NCBI_RANLIB\" AR=\"$NCBI_AR\" CC=\"$NCBI_CC\" $DEMO_VIB'
|
||||||
|
eval echo $CMD
|
||||||
|
eval echo $CMD | sh
|
||||||
|
@@ -495,7 +518,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
set CMD='make $MFLG -f makedemo.unx CFLAGS1=\"$NCBI_OPTFLAG $NCBI_CFLAGS1\" \
|
||||||
|
- LDFLAGS1=\"$NCBI_LDFLAGS1\" SHELL=\"$NCBI_MAKE_SHELL\" \
|
||||||
|
+ LDFLAGS1=\"$NCBI_LDFLAGS1\" SHELL=\"$NCBI_MAKE_SHELL\" OTHERLIBS=\"$NCBI_OTHERLIBS\" \
|
||||||
|
LCL=\"$NCBI_DEFAULT_LCL\" RAN=\"$NCBI_RANLIB\" AR=\"$NCBI_AR\" CC=\"$NCBI_CC\" \
|
||||||
|
THREAD_OBJ=$NCBI_THREAD_OBJ THREAD_OTHERLIBS=\"$NCBI_MT_OTHERLIBS\" \
|
||||||
|
$DEMO_VIB $mtapps'
|
||||||
|
diff -rwu mpiblast-1.6.0/src/Makefile.am mpiblast-1.6.0-patched/src/Makefile.am
|
||||||
|
--- mpiblast-1.6.0/src/Makefile.am 2009-11-22 01:17:48.000000000 -0500
|
||||||
|
+++ mpiblast-1.6.0-patched/src/Makefile.am 2011-08-06 17:06:42.000000000 -0400
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
-D_LARGEFILE64_SOURCE -DMPIBLAST_PIO \
|
||||||
|
-I$(top_srcdir)/include/ -I@CONFIG_NCBIDIR@/include/ $(MPE_INCS) \
|
||||||
|
-I@CONFIG_NCBIDIR@/corelib/
|
||||||
|
-AM_CXXFLAGS = -DMPICH_IGNORE_CXX_SEEK -DINSTALL_PREFIX="\"@prefix@\"" \
|
||||||
|
+AM_CXXFLAGS = -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX -DINSTALL_PREFIX="\"@prefix@\"" \
|
||||||
|
@COMPILE_FLAGS@ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
|
||||||
|
-I$(top_srcdir)/include/ -I@CONFIG_NCBIDIR@/include/ $(MPE_INCS) \
|
||||||
|
-I@CONFIG_NCBIDIR@/corelib/
|
||||||
|
@@ -31,7 +31,7 @@
|
||||||
|
@CONFIG_NCBIDIR@/build/blast_hooks.o -lmyncbitool -lblastcompadj -lmyncbiobj \
|
||||||
|
-lmyncbi -L. -L@CONFIG_NCBIDIR@/lib/ $(MPE_LIBS) -lm @LINK_FLAGS@
|
||||||
|
mpiblast_DEPENDENCIES = @GETOPT_LONG_SYSTEM@
|
||||||
|
-mpiblast_CPPFLAGS = -DUSING_MPI -DMPICH_IGNORE_CXX_SEEK
|
||||||
|
+mpiblast_CPPFLAGS = -DUSING_MPI -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX
|
||||||
|
|
||||||
|
mpiformatdb_SOURCES = mpiformatdb.cpp mpiblast_config.cpp mpiblast_config.hpp \
|
||||||
|
file_util.cpp file_util.hpp mpiblast_util.cpp mpiblast_util.hpp \
|
||||||
|
diff -rwu mpiblast-1.6.0/src/pio_intercept.h mpiblast-1.6.0-patched/src/pio_intercept.h
|
||||||
|
--- mpiblast-1.6.0/src/pio_intercept.h 2009-11-22 01:17:48.000000000 -0500
|
||||||
|
+++ mpiblast-1.6.0-patched/src/pio_intercept.h 2011-08-06 17:06:42.000000000 -0400
|
||||||
|
@@ -60,7 +60,7 @@
|
||||||
|
#include <txalign.h>
|
||||||
|
|
||||||
|
/* marcros are duplicated in ncbi files to avoid header file conflict */
|
||||||
|
-#define CHECK_NULPTR(x) if(x==NULL) fprintf(stderr, "%s, line%d: cannot allocate enough memory\n", __FILE__, __LINE__);
|
||||||
|
+#define CHECK_NULPTR(x) if(x==NULL) { perror("Cannot allocate enough memory:"); exit(-1); }
|
||||||
|
|
||||||
|
#ifndef NO_MPI
|
||||||
|
typedef struct _output_record {
|
51
var/spack/repos/builtin/packages/mpiblast/package.py
Normal file
51
var/spack/repos/builtin/packages/mpiblast/package.py
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/llnl/spack
|
||||||
|
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Mpiblast(AutotoolsPackage):
|
||||||
|
"""mpiBLAST is a freely available, open-source, parallel implementation of
|
||||||
|
NCBI BLAST"""
|
||||||
|
|
||||||
|
homepage = "http://www.mpiblast.org/"
|
||||||
|
url = "http://www.mpiblast.org/downloads/files/mpiBLAST-1.6.0.tgz"
|
||||||
|
|
||||||
|
version('1.6.0', '707105ccd56825db776b50bfd81cecd5')
|
||||||
|
|
||||||
|
patch('mpiBLAST-1.6.0-patch-110806')
|
||||||
|
|
||||||
|
depends_on('mpi')
|
||||||
|
|
||||||
|
def configure_args(self):
|
||||||
|
args = ['--with-mpi=%s' % self.spec['mpi'].prefix]
|
||||||
|
return args
|
||||||
|
|
||||||
|
def build(self, spec, prefix):
|
||||||
|
make('ncbi')
|
||||||
|
make()
|
||||||
|
|
||||||
|
def setup_environment(self, spack_env, run_env):
|
||||||
|
spack_env.set('ac_cv_path_CC', self.spec['mpi'].mpicc)
|
||||||
|
spack_env.set('ac_cv_path_CXX', self.spec['mpi'].mpicxx)
|
Loading…
Reference in New Issue
Block a user