[101065] trunk/dports/science/mpich

eborisch at macports.org eborisch at macports.org
Thu Jan 3 14:31:19 PST 2013


Revision: 101065
          https://trac.macports.org/changeset/101065
Author:   eborisch at macports.org
Date:     2013-01-03 14:31:19 -0800 (Thu, 03 Jan 2013)
Log Message:
-----------
mpich[-devel]: Apply upstream patch for shared lib generation; turn on library versioning; improve repetitive portion of Portfile (compiler variants.)

Modified Paths:
--------------
    trunk/dports/science/mpich/Portfile

Added Paths:
-----------
    trunk/dports/science/mpich/files/
    trunk/dports/science/mpich/files/configure_ac.patch

Modified: trunk/dports/science/mpich/Portfile
===================================================================
--- trunk/dports/science/mpich/Portfile	2013-01-03 21:27:47 UTC (rev 101064)
+++ trunk/dports/science/mpich/Portfile	2013-01-03 22:31:19 UTC (rev 101065)
@@ -6,7 +6,7 @@
 
 name                mpich
 version             3.0.1
-revision            0
+revision            1
 
 license             BSD
 categories          science parallel net
@@ -39,6 +39,11 @@
     rmd160  a30aa14f9360b9cf2e88f9cd4f06b24b8800c55d \
     sha256  8e93e4426bbf10fcde7d2422d78032010f73dd3bb59ab39a17c25d95223e87d8
 
+# Upstream fix http://trac.mpich.org/projects/mpich/changeset/10820
+patchfiles          configure_ac.patch
+
+use_autoconf        yes
+
 configure.args      --disable-dependency-tracking \
                     --disable-f77 \
                     --disable-fc \
@@ -52,11 +57,12 @@
                     --with-device=ch3:nemesis \
                     --with-pm=hydra \
                     --with-thread-package=posix \
+                    --enable-versioning \
                     "F90FLAGS='' F90=''"
 
 subport mpich-devel {
     conflicts           mpich
-#    version             3.0
+#    version             3.0.1
 }
 
 if {${subport} == ${name}} {
@@ -89,41 +95,37 @@
 # As MPICH creates compiler wrappers, there are lots of
 # variants for what compiler the user would like to wrap.
 
-variant gcc47 description {
-    Enable Fortran 77 and Fortran 90 bindings using gfortran from gcc47 port
-} conflicts gcc43 gcc44 gcc45 gcc46 llvm clang clang31 clang32 {
-    depends_lib-append      port:gcc47
-    configure.compiler      macports-gcc-4.7
+# Compiler variant set
+#   name     depends_lib    configure.compiler      Description
+array set clist {
+    clang   {""             clang               "Apple native"}
+    clang31 {port:clang-3.1 macports-clang-3.1  "MacPorts' version"}
+    clang32 {port:clang-3.2 macports-clang-3.2  "MacPorts' version"}
+    gcc43   {port:gcc43     macports-gcc-4.3    "enables Fortran wrappers"}
+    gcc44   {port:gcc44     macports-gcc-4.4    "enables Fortran wrappers"}
+    gcc45   {port:gcc45     macports-gcc-4.5    "enables Fortran wrappers"}
+    gcc46   {port:gcc46     macports-gcc-4.6    "enables Fortran wrappers"}
+    gcc47   {port:gcc47     macports-gcc-4.7    "enables Fortran wrappers"}
+    llvm    {""             llvm-gcc-4.2        "Apple native"}
 }
 
-variant gcc46 description {
-    Enable Fortran 77 and Fortran 90 bindings using gfortran from gcc46 port
-} conflicts gcc43 gcc44 gcc45 gcc47 llvm clang clang31 clang32 {
-    depends_lib-append      port:gcc46
-    configure.compiler      macports-gcc-4.6
-}
+# Alphabetized list of compiler variants
+set clist_keys [lsort [array names clist]]
 
-variant gcc45 description {
-    Enable Fortran 77 and Fortran 90 bindings using gfortran from gcc45 port
-} conflicts gcc43 gcc44 gcc46 gcc47 llvm clang clang31 clang32 {
-    depends_lib-append      port:gcc45
-    configure.compiler      macports-gcc-4.5
+foreach clist_item $clist_keys {
+    # Conflict with everyone else (remove ourselves from full list)
+    set this_key [lsearch $clist_keys $clist_item]
+    set conf_list [lreplace $clist_keys $this_key $this_key]
+    
+    # Describe variant
+    variant $clist_item \
+        description "Wraps $clist_item -- [lindex $clist($clist_item) 2]" \
+        conflicts $conf_list "
+            depends_lib-append  [lindex $clist($clist_item) 0]
+            configure.compiler  [lindex $clist($clist_item) 1] 
+        "
 }
 
-variant gcc44 description {
-    Enable Fortran 77 and Fortran 90 bindings using gfortran from gcc44 port
-} conflicts gcc43 gcc45 gcc46 gcc47 llvm clang clang31 clang32 {
-    depends_lib-append      port:gcc44
-    configure.compiler      macports-gcc-4.4
-}
-
-variant gcc43 description {
-    Enable Fortran 77 and Fortran 90 bindings using gfortran from gcc43 port
-} conflicts gcc44 gcc45 gcc46 gcc47 llvm clang clang31 clang32 {
-    depends_lib-append      port:gcc43
-    configure.compiler      macports-gcc-4.3
-}
-
 if {[ variant_isset gcc43 ] ||
     [ variant_isset gcc44 ] ||
     [ variant_isset gcc45 ] ||
@@ -133,32 +135,6 @@
     configure.args-delete   --disable-f77 --disable-fc
 }
 
-variant llvm description {
-    Use Apple-supplied llvm-gcc
-} conflicts gcc43 gcc44 gcc45 gcc46 gcc47 clang clang31 clang32 {
-    configure.compiler      llvm-gcc-4.2
-}
-
-variant clang description {
-    Use Apple-supplied clang
-} conflicts gcc43 gcc44 gcc45 gcc46 gcc47 llvm clang31 clang32 {
-    configure.compiler      clang
-}
-
-variant clang31 description {
-    Use clang 3.1 from MacPorts
-} conflicts gcc43 gcc44 gcc45 gcc46 gcc47 llvm clang clang32 {
-    depends_lib-append      port:clang-3.1
-    configure.compiler      macports-clang-3.1
-}
-
-variant clang32 description {
-    Use clang 3.2 from MacPorts
-} conflicts gcc43 gcc44 gcc45 gcc46 gcc47 llvm clang clang31 {
-    depends_lib-append      port:clang-3.2
-    configure.compiler      macports-clang-3.2
-}
-
 variant gforker description {
     Use gforker process manager instead of the default hydra
 } {
@@ -172,7 +148,8 @@
                                 MPICHLIB_CFLAGS='-fomit-frame-pointer -O2'
 }
 
-if {${configure.compiler} == "clang"} {
+if {${configure.compiler} == "clang" ||
+    [ variant_isset clang ]} {
     configure.env-append    ac_cv_tls=none
 }
 

Added: trunk/dports/science/mpich/files/configure_ac.patch
===================================================================
--- trunk/dports/science/mpich/files/configure_ac.patch	                        (rev 0)
+++ trunk/dports/science/mpich/files/configure_ac.patch	2013-01-03 22:31:19 UTC (rev 101065)
@@ -0,0 +1,26 @@
+Index: configure.ac
+===================================================================
+--- configure.ac	(revision 10804)
++++ configure.ac	(revision 10820)
+@@ -652,14 +652,11 @@
+ 
+ # Before attempting to find valid compilers, set the corresponding precious
+-# shell variable to "false" (the program/builtin that always fails) for any
+-# languages that have been disabled by the user with "--disable-LANG".  This
+-# should save a bit of configure time and also prevent user complaints like
+-# ticket #1570.
+-AS_IF([test "x$enable_f77" = "xno"],[F77=false])
+-AS_IF([test "x$enable_fc"  = "xno"],[FC=false])
+-# Set CXXCPP=$CPP so that we don't fail the (fatal) preprocessor sanity check.
+-# At least as of autoconf-2.69, this sanity test does not check for any
+-# C++-specific headers.
+-AS_IF([test "x$enable_cxx" = "xno"],[CXX=false ; CXXCPP=$CPP])
++# shell variable to "no" for any languages that have been disabled by the user
++# with "--disable-LANG".  Libtool understands this as a request to disable
++# support for this language. This should save a bit of configure time and also
++# prevent user complaints like ticket #1570.
++AS_IF([test "x$enable_f77" = "xno"],[F77=no])
++AS_IF([test "x$enable_fc"  = "xno"],[FC=no])
++AS_IF([test "x$enable_cxx" = "xno"],[CXX=no])
+ 
+ # suppress default "-g -O2" from AC_PROG_CXX
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130103/3d1bfada/attachment-0001.html>


More information about the macports-changes mailing list