--- Portfile.orig	2013-06-06 14:40:52.000000000 -0400
+++ Portfile	2013-06-06 16:19:54.000000000 -0400
@@ -2,6 +2,7 @@
 
 PortSystem 1.0
 PortGroup  muniversal 1.0
+PortGroup  active_variants 1.1
 
 name          arpack
 version       3.1.2
@@ -67,30 +68,42 @@
 variant gcc43 description {build with gfortran-mp-4.3} conflicts gcc44 gcc45 gcc46 gcc47 g95 universal {
 	depends_build-append    port:gcc43
 	configure.env-append F77=${prefix}/bin/gfortran-mp-4.3
+	if {[variant_isset mpich]}   { require_active_variants mpich   gcc43 }
+	if {[variant_isset openmpi]} { require_active_variants openmpi gcc43 }
 }
 
 variant gcc44 description {build with gfortran-mp-4.4} conflicts gcc43 gcc45 gcc46 gcc47 g95 {
 	depends_build-append    port:gcc44
 	configure.env-append F77=${prefix}/bin/gfortran-mp-4.4
+	if {[variant_isset mpich]}   { require_active_variants mpich   gcc44 }
+	if {[variant_isset openmpi]} { require_active_variants openmpi gcc44 }
 }
 
 variant gcc45 description {build with gfortran-mp-4.5} conflicts gcc43 gcc44 gcc46 gcc47 g95 {
 	depends_build-append    port:gcc45
 	configure.env-append F77=${prefix}/bin/gfortran-mp-4.5
+	if {[variant_isset mpich]}   { require_active_variants mpich   gcc45 }
+	if {[variant_isset openmpi]} { require_active_variants openmpi gcc45 }
 }
 
 variant gcc46 description {build with gfortran-mp-4.6} conflicts gcc43 gcc44 gcc45 gcc47 g95 {
 	depends_build-append    port:gcc46
 	configure.env-append F77=${prefix}/bin/gfortran-mp-4.6
+	if {[variant_isset mpich]}   { require_active_variants mpich   gcc46 }
+	if {[variant_isset openmpi]} { require_active_variants openmpi gcc46 }
 }
 
 variant gcc47 description {build with gfortran-mp-4.7} conflicts gcc43 gcc44 gcc45 gcc46 g95 {
 	depends_build-append    port:gcc47
 	configure.env-append F77=${prefix}/bin/gfortran-mp-4.7
+	if {[variant_isset mpich]}   { require_active_variants mpich   gcc47 }
+	if {[variant_isset openmpi]} { require_active_variants openmpi gcc47 }
 }
 variant g95 description {build with g95} conflicts gcc43 gcc44 gcc45 gcc46 gcc47 universal {
         depends_build-append    port:g95
         configure.env-append F77=${prefix}/bin/g95
+	if {[variant_isset mpich]}   { require_active_variants mpich   g95 }
+	if {[variant_isset openmpi]} { require_active_variants openmpi g95 }
 }
 
 if { ![variant_isset gcc43] && ![variant_isset gcc44] && ![variant_isset gcc45] && ![variant_isset gcc46] && ![variant_isset g95] } {
@@ -117,6 +130,16 @@
 post-destroot {
     delete ${destroot}${prefix}/bin/dnsimp
     reinplace "s|/usr|${prefix}|g" ${destroot}${prefix}/lib/pkgconfig/arpack.pc
+
+    if {[variant_isset openmpi] || [variant_isset mpich]} {
+       delete ${destroot}${prefix}/bin/pcndrv1
+       delete ${destroot}${prefix}/bin/pdndrv1
+       delete ${destroot}${prefix}/bin/pdndrv3
+       delete ${destroot}${prefix}/bin/pdsdrv1
+       delete ${destroot}${prefix}/bin/psndrv3
+       delete ${destroot}${prefix}/bin/pssdrv1
+       delete ${destroot}${prefix}/bin/pzndrv1
+    }
 }
 
 livecheck.type  regex
