<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[149279] trunk/dports/science/apbs/Portfile</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/149279">149279</a></dd>
<dt>Author</dt> <dd>dstrubbe@macports.org</dd>
<dt>Date</dt> <dd>2016-06-09 07:55:43 -0700 (Thu, 09 Jun 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>apbs: Abolish subport apbs-mpi (now obsolete) which can be more simply handled as MPI variants. Enable use of MPI in testing. Blacklist gcc 4.2 more generally to try to avoid Snow Leopard build failure.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsscienceapbsPortfile">trunk/dports/science/apbs/Portfile</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsscienceapbsPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/science/apbs/Portfile (149278 => 149279)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/apbs/Portfile        2016-06-09 11:54:59 UTC (rev 149278)
+++ trunk/dports/science/apbs/Portfile        2016-06-09 14:55:43 UTC (rev 149279)
</span><span class="lines">@@ -7,8 +7,14 @@
</span><span class="cx"> PortGroup               github 1.0
</span><span class="cx"> 
</span><span class="cx"> name                    apbs
</span><del>-subport                 apbs-mpi {}
-# set revision separately for each subport, below.
</del><ins>+
+# For example, now &quot;apbs +mpich&quot; would be equivalent to the old &quot;apbs-mpi +mpich&quot;
+subport apbs-mpi {
+    replaced_by         apbs
+    PortGroup           obsolete 1.0
+    revision            2
+}
+
</ins><span class="cx"> categories              science
</span><span class="cx"> license                 BSD
</span><span class="cx"> maintainers             gmail.com:howarth.at.macports openmaintainer
</span><span class="lines">@@ -26,6 +32,7 @@
</span><span class="cx"> version                 1.4.1
</span><span class="cx"> homepage                http://www.poissonboltzmann.org
</span><span class="cx"> worksrcdir              ${worksrcdir}/apbs
</span><ins>+revision                2
</ins><span class="cx"> 
</span><span class="cx"> checksums               rmd160  5c4d583e12deb3fbc2b5a8031882311cbfd22c7e \
</span><span class="cx">                         sha256  f98ce6a51d8f813e1b4fa626c054ddbf7a985403ca30f890733cb1abf2bd6e05
</span><span class="lines">@@ -43,12 +50,29 @@
</span><span class="cx">                         -DCMAKE_C_COMPILER_ARG1:STRING=&quot;-I${worksrcpath}/include -O3 -ffast-math&quot; \
</span><span class="cx">                         -DCMAKE_CXX_COMPILER_ARG1:STRING=&quot;-I${worksrcpath}/include -O3 -ffast-math&quot;
</span><span class="cx"> 
</span><del>-patchfiles              patch-CMakeLists.txt.diff patch-Eigen-include-path.diff
</del><ins>+# otherwise obsolete subport installation will fail on patch phase and not get to pre-configure error about replacement
+if {${subport} == ${name}} {
+    patchfiles              patch-CMakeLists.txt.diff patch-Eigen-include-path.diff
+    if {[mpi_variant_isset]} {
+        patchfiles-append   patch-tests-apbs_tester.py.diff
+    }
+}
</ins><span class="cx"> 
</span><span class="cx"> test.run  yes
</span><span class="cx"> test {
</span><span class="cx">     ln ${worksrcpath}/tools/manip/inputgen.py ${worksrcpath}/tests/
</span><span class="cx">     ln ${worksrcpath}/tools/manip/psize.py    ${worksrcpath}/tests/
</span><ins>+
+    if {[mpi_variant_isset]} {
+        if {![catch {sysctl hw.ncpu} result]} {
+            set njobs $result
+        } else {
+            set njobs 1
+        }
+        reinplace &quot;s|mpiexec|\&quot;${mpi.exec}\&quot;, \&quot;-n\&quot;, \&quot;${njobs}\&quot;|&quot; ${worksrcpath}/tests/apbs_tester.py
+        ui_msg &quot;Running testsuite with $njobs jobs in parallel&quot;
+    }
+    
</ins><span class="cx">     system -W ${worksrcpath}/tests &quot;python apbs_tester.py&quot;
</span><span class="cx">     system -W ${worksrcpath}/tests &quot;cat test.log&quot;
</span><span class="cx">     system -W ${worksrcpath}/tests &quot;if grep FAILED test.log; then echo \&quot;FAIL\&quot;; exit 1; fi&quot;
</span><span class="lines">@@ -61,64 +85,33 @@
</span><span class="cx"> # Some cmake tests will fail with &quot;error: unrecognized option '-arch'&quot; from gcc 4.6 and earlier. Same with dragonegg based on it.
</span><span class="cx"> # llvm-gcc-4.2 will fail to build with: error: unrecognized command line option &quot;-std=c++0x&quot;
</span><span class="cx"> compiler.blacklist      macports-gcc-4.4 macports-gcc-4.5 macports-gcc-4.6 \
</span><del>-                        macports-dragonegg-3.3 macports-dragonegg-3.4 llvm-gcc-4.2
</del><ins>+                        macports-dragonegg-3.3 macports-dragonegg-3.4 *gcc-4.2
</ins><span class="cx"> # g++ will just fail to link apbs_geoflow. probably about -lstdc++ stuff. So, just use Fortran.
</span><span class="cx"> compilers.choose        fc
</span><ins>+mpi.setup
</ins><span class="cx"> 
</span><del>-switch ${subport} {
-    apbs {
-        compilers.setup
</del><ins>+configure.args-append   -DENABLE_MPI:BOOL=OFF
</ins><span class="cx"> 
</span><del>-        revision                1
</del><ins>+post-destroot {
+    set tools ${destroot}${prefix}/share/${subport}/tools
+    
+    move ${tools}/manip/psize.py ${destroot}${prefix}/bin/apbs-psize.py
+    file attributes ${destroot}${prefix}/bin/apbs-psize.py \
+        -permissions 0755
</ins><span class="cx"> 
</span><del>-        configure.args-append   -DENABLE_MPI:BOOL=OFF
-
-        post-destroot {
-            set tools ${destroot}${prefix}/share/${subport}/tools
-
-            move ${tools}/manip/psize.py ${destroot}${prefix}/bin/apbs-psize.py
-            file attributes ${destroot}${prefix}/bin/apbs-psize.py \
-                -permissions 0755
-
-            foreach {bin} ${bins} {
-                move ${tools}/bin/${bin} ${destroot}${prefix}/bin/apbs-${bin}
-                file attributes ${destroot}${prefix}/bin/apbs-${bin} \
-                    -permissions 0755
-            }
-        }
</del><ins>+    foreach {bin} ${bins} {
+        move ${tools}/bin/${bin} ${destroot}${prefix}/bin/apbs-${bin}
+        file attributes ${destroot}${prefix}/bin/apbs-${bin} \
+            -permissions 0755
</ins><span class="cx">     }
</span><del>-    apbs-mpi {
-        mpi.setup               require
</del><ins>+}
</ins><span class="cx"> 
</span><del>-        revision                1
-
-        description             ${description} (MPI version)
-
-        depends_run             port:apbs
-
-        compilers.enforce_c     apbs
-
-        pre-configure {
-            configure.args-append   -DENABLE_MPI:BOOL=ON \
-                    -DCMAKE_C_COMPILER=${configure.cc} \
-                    -DCMAKE_CXX_COMPILER=${configure.cxx} \
-                    -DMPI_C_COMPILER=${mpi.cc} \
-                    -DMPI_CXX_COMPILER=${mpi.cxx}
-        }
-
-        destroot {
-            xinstall ${worksrcpath}/bin/apbs \
-                ${destroot}${prefix}/bin/apbs-mpi
-            foreach {bin} ${bins} {
-                xinstall ${worksrcpath}/tools/bin/${bin} \
-                    ${destroot}${prefix}/bin/apbs-mpi-${bin}
-            }
-            xinstall -d ${destroot}${prefix}/share/${subport}
-            copy ${worksrcpath}/examples \
-                    ${worksrcpath}/tools \
-                    ${worksrcpath}/doc \
-                ${destroot}${prefix}/share/${subport}
-        }
</del><ins>+pre-configure {
+    if {[mpi_variant_isset]} {
+        configure.args-delete   -DENABLE_MPI:BOOL=OFF
+        configure.args-append   -DENABLE_MPI:BOOL=ON \
+            -DMPI_C_COMPILER=${mpi.cc} \
+            -DMPI_CXX_COMPILER=${mpi.cxx}
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>