<pre style='margin:0'>
Mark Moll (mamoll) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/2c51354571f62c94dc7a8600bb95cbe7afd0c76c">https://github.com/macports/macports-ports/commit/2c51354571f62c94dc7a8600bb95cbe7afd0c76c</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 2c51354  science/ompl: another attempt to force buildbot to build port
</span>2c51354 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 2c51354571f62c94dc7a8600bb95cbe7afd0c76c
</span>Author: Mark Moll <mmoll@macports.org>
AuthorDate: Mon Mar 6 16:43:22 2017 -0600

<span style='display:block; white-space:pre;color:#404040;'>    science/ompl: another attempt to force buildbot to build port
</span>---
 science/ompl/Portfile                            |  3 ++
 science/ompl/files/patch-pybinding-buildbot.diff | 55 ++++++++++++++++++++++++
 2 files changed, 58 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/ompl/Portfile b/science/ompl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1235685..4904528 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/ompl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/ompl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,6 +19,7 @@ distname            ${name}-${version}-Source
</span> checksums           rmd160  7d277d8ba78225e65efa8471381f5dba43259233 \
                     sha256  87ab32541a461daca529d7a2d1aecd8d3f1df2d403756b7a7f98b6824be2d74e
 depends_lib-append  port:boost port:ode port:flann port:triangle port:eigen3
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-pybinding-buildbot.diff
</span> 
 configure.args-append   -DOMPL_BUILD_DEMOS=OFF -DOMPL_BUILD_TESTS=OFF
 # generate the extra C++ code needed for Python bindings. This code seems
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -93,6 +94,7 @@ foreach s ${pythons_suffixes} {
</span>             require_active_variants boost ${p}
 
             if { [variant_isset app] } {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch.pre_args      -p0
</span>                 depends_lib-append \
                     port:py${s}-pyqt5 \
                     port:py${s}-opengl \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -114,6 +116,7 @@ foreach s ${pythons_suffixes} {
</span>                            ${destroot}\${site_packages}/ompl/app/libompl_app_base.dylib
                 }
             } else {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch.pre_args      -p1
</span>                 post-destroot {
                     reinplace "s|#!/usr/bin/env python|#!${prefix}/bin/python${v}|g" \
                         ${destroot}${prefix}/bin/ompl_benchmark_statistics.py
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/ompl/files/patch-pybinding-buildbot.diff b/science/ompl/files/patch-pybinding-buildbot.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..d5b2897
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/ompl/files/patch-pybinding-buildbot.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,55 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -r 34cd59b7ccbe py-bindings/bindings_generator.py.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ompl/py-bindings/bindings_generator.py.in      Wed Mar 01 10:06:54 2017 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ompl/py-bindings/bindings_generator.py.in      Mon Mar 06 16:35:23 2017 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -39,12 +39,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # coding: utf-8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import logging
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from os.path import exists, join, isdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from os import getenv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import subprocess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from sys import platform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from pygccxml import declarations, parser
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from pygccxml.utils import xml_generator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++from pygccxml.utils import loggers as pygccxml_loggers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++from pyplusplus._logging_ import loggers as pyplusplus_loggers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from pyplusplus import module_builder, messages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from pyplusplus.module_builder import call_policies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from pyplusplus.decl_wrappers import print_declarations
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,6 +111,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     c = decl.return_type.decl_string[-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return c=='&' or c=='*'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class msgFilter(logging.Filter):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    def __init__(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        self.start = time.time()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        self.time = self.start
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    def filter(self, record):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if 'execution - done' not in record.msg:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        t = time.time()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if t - self.time > 60:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            self.time = t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            record.msg = 'still alive after %g seconds!' % (t - self.start)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class code_generator_t(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     """The base class code generator."""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -115,7 +133,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         """Constructor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         @name name of the python module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         @dep name of another module this module depends on"""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        module_builder.set_logger_level( logging.INFO )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # make binding generation more verbose to show build bots that the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # build is not stuck, but not *too* verbose:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for loggers in [pyplusplus_loggers.all, pygccxml_loggers.all_loggers]:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            for logger in loggers:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                logger.setLevel( logging.DEBUG )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                logger.addFilter(msgFilter())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         xml_generator_config = parser.load_xml_generator_configuration("@CASTXMLCONFIGPATH@")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.mb = module_builder.module_builder_t(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             files = [ 'bindings/' + name + '.h' ],
</span></pre><pre style='margin:0'>

</pre>