<!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 "apbs +mpich" would be equivalent to the old "apbs-mpi +mpich"
+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="-I${worksrcpath}/include -O3 -ffast-math" \
</span><span class="cx"> -DCMAKE_CXX_COMPILER_ARG1:STRING="-I${worksrcpath}/include -O3 -ffast-math"
</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 "s|mpiexec|\"${mpi.exec}\", \"-n\", \"${njobs}\"|" ${worksrcpath}/tests/apbs_tester.py
+ ui_msg "Running testsuite with $njobs jobs in parallel"
+ }
+
</ins><span class="cx"> system -W ${worksrcpath}/tests "python apbs_tester.py"
</span><span class="cx"> system -W ${worksrcpath}/tests "cat test.log"
</span><span class="cx"> system -W ${worksrcpath}/tests "if grep FAILED test.log; then echo \"FAIL\"; exit 1; fi"
</span><span class="lines">@@ -61,64 +85,33 @@
</span><span class="cx"> # Some cmake tests will fail with "error: unrecognized option '-arch'" 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 "-std=c++0x"
</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>