# $Id$ PortSystem 1.0 name openmpi version 1.4.1 categories science parallel net platforms darwin maintainers mww openmaintainer description A High Performance Message Passing Library long_description Open MPI is a project combining technologies and resources \ from several other projects (FT-MPI, LA-MPI, LAM/MPI, and \ PACX-MPI) in order to build the best MPI library available. A \ completely new MPI-2 compliant implementation, Open MPI offers \ advantages for system and software vendors, application developers \ and computer science researchers. homepage http://www.open-mpi.org/ set subdir ompi/v1.4/downloads/ master_sites http://www.open-mpi.org/software/${subdir} \ http://www.open-mpi.de/software/${subdir} \ http://icl.cs.utk.edu/open-mpi/${subdir} \ freebsd checksums md5 28a820c85e02973809df881fdeddd15e \ sha1 c5107c03a9fc738dfb4f309b470d052becfdde19 \ rmd160 c6fd5f0871eb5f963fe58270f5340a2629f5fd68 use_bzip2 yes pre-extract { file mkdir ${workpath}/build } configure.dir ${workpath}/build configure.cmd ${worksrcpath}/configure configure.args --disable-mpi-f77 --disable-mpi-f90 \ --with-xgrid \ --sysconfdir=${prefix}/etc/${name} \ --includedir=${prefix}/include/${name} \ --bindir=${prefix}/lib/${name}/bin \ --mandir=${prefix}/share/man build.dir ${configure.dir} destroot.dir ${build.dir} set wrappers {mpicc mpicxx mpic++} post-destroot { foreach bin {mpirun mpiexec} { system "cd ${destroot}${prefix}/bin \ && ln -sf ${prefix}/lib/${name}/bin/orterun open${bin}" } foreach bin ${wrappers} { system "cd ${destroot}${prefix}/bin \ && ln -sf ${prefix}/lib/${name}/bin/opal_wrapper open${bin}" system "cd ${destroot}${prefix}/share/${name} \ && ln -sf ${prefix}/share/${name}/${bin}-wrapper-data.txt \ open${bin}-wrapper-data.txt" } } variant threads description {enable threads for MPI applications} { configure.args-append --enable-mpi-threads } variant progressthreads description {enable threads asynchronous communication progress} { configure.args-append --enable-progress-threads } variant gcc42 description {build mpif77 and mpif90 using gcc42} conflicts gcc43 gcc44 g95 { configure.args-delete --disable-mpi-f77 --disable-mpi-f90 configure.args-append --enable-mpi-f77 --enable-mpi-f90 configure.f77 ${prefix}/bin/gfortran-mp-4.2 configure.fc ${prefix}/bin/gfortran-mp-4.2 depends_lib-append port:gcc42 lappend wrappers mpif77 mpif90 } variant gcc43 description {build mpif77 and mpif90 using gcc43} conflicts gcc42 gcc44 g95 { configure.args-delete --disable-mpi-f77 --disable-mpi-f90 configure.args-append --enable-mpi-f77 --enable-mpi-f90 configure.f77 ${prefix}/bin/gfortran-mp-4.3 configure.fc ${prefix}/bin/gfortran-mp-4.3 depends_lib-append port:gcc43 lappend wrappers mpif77 mpif90 } variant gcc44 description {build mpif77 and mpif90 using gcc44} conflicts gcc42 gcc43 g95 { configure.args-delete --disable-mpi-f77 --disable-mpi-f90 configure.args-append --enable-mpi-f77 --enablepi--f90 configure.f77 ${prefix}/bin/gfortran-mp-4.4 configure.fc ${prefix}/bin/gfortran-mp-4.4 depends_lib-append port:gcc44 lappend wrappers mpif77 mpif90 } variant g95 description {build mpif77 and mpif90 using g95} conflicts gcc42 gcc43 gcc44 { configure.args-delete --disable-mpi-f77 --disable-mpi-f90 configure.args-append --enable-mpi-f77 --enable-mpi-f90 configure.f77 ${prefix}/bin/g95 configure.fc ${prefix}/bin/g95 depends_lib-append port:g95 lappend wrappers mpif77 mpif90 } # dependents like netcdf need some form of fortran if {![variant_isset gcc42] && ![variant_isset gcc43] && ![variant_isset gcc44] && ![variant_isset g95]} { default_variants +gcc43 } livecheck.type regex livecheck.url http://www.open-mpi.org/software/ livecheck.regex openmpi-(\[0-9\.\]+).tar.bz2 universal_variant no