Ticket #39715: Portfile-raxml.diff
File Portfile-raxml.diff, 4.0 KB (added by mattoates@…, 11 years ago) |
---|
-
Portfile
old new 2 2 # $Id$ 3 3 4 4 PortSystem 1.0 5 PortGroup github 1.0 5 6 6 7 name raxml 7 version 7.2.9 8 version 7.6.6 9 github.setup stamatak standard-RAxML 88d5f2bb66f4a5177aa52bc77ca3fc951da99ea8 8 10 description Estimation of phylogenetic trees 9 11 long_description RAxML is a program for sequential and parallel estimation of\ 10 12 phylogenetic trees written by Alexandros Stamatakis. By default the Pthreads\ 11 implementation will be installed, use -pthreads +mpi for the MPI variant. 13 implementation will be installed, use -pthreads +mpi for the MPI variant. The\ 14 SSE3 and AVX capability of your CPU will be detected and set automatically. 15 12 16 license GPL-2+ 13 17 maintainers gmail.com:mattoates 14 categories science 15 homepage http:// sco.h-its.org/exelixis18 categories science biology 19 homepage http://www.exelixis-lab.org/ 16 20 platforms darwin 17 master_sites ${homepage}/software/18 distfiles RAxML-${version}.tar.bz219 checksums md5 028b70c7c96900e1f70cdc2c2acab449 \20 sha1 a038b72e197434d7fa8a7c35687b70adb4b0750b21 use_bzip2 yes22 21 23 patchfiles Makefiles.patch 22 checksums sha256 15ee8094370872f8ed0292544fdadaeedf4e7c43c25dc96a1815f289243f2211 \ 23 rmd160 88c41e384cfaba128065cb1e99686223061573b9 24 24 25 25 use_configure no 26 26 27 27 #Strings used by the variant options 28 28 set HPCm "" 29 29 set HPCb "" 30 set SSEm "" 31 set SSEb "" 30 set EXTm "" 31 set EXTb "" 32 33 #Use the HYBRID implementation 34 variant hybrid conflicts pthreads,mpi description {Hybrid MPI implementation} { 35 depends_lib-append port:openmpi 36 set HPCm ".HYBRID" 37 set HPCb "-HYBRID" 38 configure.cc ${prefix}/bin/openmpicc 39 } 32 40 33 41 #Use the MPI implementation 34 variant mpi conflicts pthreads description {MPI implementation} {35 depends_lib port:openmpi42 variant mpi conflicts pthreads,hybrid description {MPI implementation} { 43 depends_lib-append port:openmpi 36 44 set HPCm ".MPI" 37 45 set HPCb "-MPI" 38 46 configure.cc ${prefix}/bin/openmpicc 39 47 } 40 48 41 49 #Use the pthreads implementation (default) 42 variant pthreads conflicts mpi description {Pthreads implementation} {50 variant pthreads conflicts hybrid,mpi description {Pthreads implementation} { 43 51 set HPCm ".PTHREADS" 44 52 set HPCb "-PTHREADS" 45 53 } … … 48 56 default_variants +pthreads 49 57 } 50 58 51 #For Intel machines add SSE a s a variant and use it by default with pthreads59 #For Intel machines add SSE and AVX as a variant and use it by default with pthreads 52 60 if {$build_arch == "i386" || $build_arch == "x86_64"} { 53 61 54 variant sse3 description {Use the SSE3 extended instruction set from Intel since 2004} { 55 set SSEm ".SSE3" 56 set SSEb "-SSE3" 62 variant sse3 conflicts avx description {Use the SSE3 extended instruction set from Intel since 2004} { 63 set EXTm ".SSE3" 64 set EXTb "-SSE3" 65 } 66 67 variant avx conflicts sse3 description {Use the ATX extended instruction set from Intel i7 (sandy bridge) and AMD Bulldozer} { 68 set EXTm ".AVX" 69 set EXTb "-AVX" 57 70 } 58 71 59 72 if {![catch {sysctl hw.optional.sse3} result] && $result == 1} { 60 default_variants-append +sse3 73 if {![catch {sysctl hw.optional.avx1_0} result] && $result == 1} { 74 default_variants-append +avx 75 } else { 76 default_variants-append +sse3 77 } 61 78 } 79 62 80 } else { 63 81 post-patch { 64 82 reinplace "s/-msse//" ${worksrcpath}/Makefile.gcc \ … … 73 91 74 92 #Make sure we are using the correct Makefile for this variant combo 75 93 pre-build { 76 build.pre_args -f Makefile${ SSEm}${HPCm}.gcc94 build.pre_args -f Makefile${EXTm}${HPCm}.gcc 77 95 build.args-append CC="${configure.cc}" 78 96 } 79 97 80 98 #We only need the single raxml binary 81 99 destroot { 82 copy ${worksrcpath}/raxmlHPC${HPCb}${ SSEb} ${destroot}${prefix}/bin/raxml100 copy ${worksrcpath}/raxmlHPC${HPCb}${EXTb} ${destroot}${prefix}/bin/raxml 83 101 }