<!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>[119919] trunk/dports/devel</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/119919">119919</a></dd>
<dt>Author</dt> <dd>mcalhoun@macports.org</dd>
<dt>Date</dt> <dd>2014-05-09 20:15:11 -0700 (Fri, 09 May 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>devel/dbus-python*:
 * unify various ports
 * update version 0.84.0 -&gt; 1.2.0 for versions of python that support it
 * increase number of python versions supported (3.1, 3.2, and 3.3)
 * create variant to build extra documentation
 * create variant to install examples
 * create test variant for versions of python that support it
 * depend on py-gobject only if testing (not used otherwise)
 * Fixes #34703</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsdeveldbuspythonPortfile">trunk/dports/devel/dbus-python/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/dports/devel/dbus-python/</li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li>trunk/dports/devel/dbus-python24/</li>
<li>trunk/dports/devel/dbus-python25/</li>
<li>trunk/dports/devel/dbus-python26/</li>
<li>trunk/dports/devel/dbus-python27/</li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsdeveldbuspythonPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/devel/dbus-python/Portfile (119918 => 119919)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/dbus-python27/Portfile        2014-05-10 00:52:49 UTC (rev 119918)
+++ trunk/dports/devel/dbus-python/Portfile        2014-05-10 03:15:11 UTC (rev 119919)
</span><span class="lines">@@ -3,54 +3,161 @@
</span><span class="cx"> 
</span><span class="cx"> PortSystem      1.0
</span><span class="cx"> 
</span><del>-name            dbus-python27
-set my_name     dbus-python
-version         0.84.0
-maintainers     nomaintainer
</del><ins>+name            dbus-python
+version         1.2.0
+maintainers     mcalhoun openmaintainer
</ins><span class="cx"> license         MIT
</span><span class="cx"> categories      devel python
</span><span class="cx"> platforms       darwin
</span><span class="cx"> description     Python bindings for the dbus message bus system.
</span><span class="cx"> 
</span><ins>+set python_versions {24 25 26 27 31 32 33}
+
+# this default version should stay synchronized with python_get_default_version
+#    in the python PortGroup
+set python_default_version 27
+
</ins><span class="cx"> long_description \
</span><span class="cx">     ${description}
</span><span class="cx"> 
</span><span class="cx"> homepage        http://www.freedesktop.org/Software/dbus/
</span><span class="cx"> master_sites    http://dbus.freedesktop.org/releases/dbus-python/
</span><del>-distname        ${my_name}-${version}
</del><span class="cx"> 
</span><del>-checksums           rmd160  ec5912e28e49e89ff3f9a3a5a05292c27f11de2c \
-                    sha256  b85bc7aaf1a976627ca461b1ca7b0c4ddddff709f52fe44c9b2d1d7d8fac5906
</del><ins>+if {${name} eq ${subport}} {
+    # set up dbus-python as a stub port that depends on the default dbus-pythonXY
+    fetch {}
+    checksum {}
+    extract {}
+    supported_archs noarch
+        
+    depends_lib port:${name}${python_default_version}
+    
+    patch {}
+    use_configure no
+    build {}
+    destroot {
+        xinstall -d ${destroot}${prefix}/share/doc/${name}
+        system &quot;echo $name is a stub port &gt; ${destroot}${prefix}/share/doc/${name}/README&quot;
+    }    
+}
</ins><span class="cx"> 
</span><del>-depends_build   port:pkgconfig
</del><ins>+foreach python_version ${python_versions} {
</ins><span class="cx"> 
</span><del>-depends_lib     path:bin/dbus-daemon:dbus \
-                port:dbus-glib \
-                port:gettext \
-                path:lib/pkgconfig/glib-2.0.pc:glib2 \
-                port:libiconv \
-                port:py27-gobject
</del><ins>+    set python_branch [string range ${python_version} 0 end-1].[string index ${python_version} end]
+    
+    subport ${name}${python_version} {
+        
+        checksums           rmd160  cba09a1ca259bfa49c943142110a968241f40360 \
+                            sha256  e12c6c8b2bf3a9302f75166952cbe41d6b38c3441bbc6767dbd498942316c6df
+        
+        livecheck.type  regex
+        livecheck.url   ${master_sites}?C=M&amp;O=D
+        livecheck.regex ${name}-(\\d+(?:\\.\\d+)*)
+        
+        # dbus-python 1.x only supports Python 2.6 and above
+        if { [vercmp ${python_branch} 2.5] &lt;= 0 } {
+            version 0.84.0
+            
+            checksums           rmd160  ec5912e28e49e89ff3f9a3a5a05292c27f11de2c \
+                                sha256  b85bc7aaf1a976627ca461b1ca7b0c4ddddff709f52fe44c9b2d1d7d8fac5906
+            
+            livecheck.regex ${name}-(0(?:\\.\\d+)*)
+        }
+        
+        distname        ${name}-${version}
</ins><span class="cx"> 
</span><del>-set python_prefix ${frameworks_dir}/Python.framework/Versions/2.7
</del><ins>+        depends_build   port:pkgconfig
+        
+        depends_lib                               \
+            path:bin/dbus-daemon:dbus             \
+            port:dbus-glib                        \
+            port:gettext                          \
+            path:lib/pkgconfig/glib-2.0.pc:glib2  \
+            port:libiconv
+        
+        set python_prefix ${frameworks_dir}/Python.framework/Versions/${python_branch}
+                
+        configure.pre_args-replace --prefix=${prefix} --prefix=${python_prefix}
+        
+        configure.args                                                    \
+            --docdir=${prefix}/share/doc/${subport}                       \
+            --includedir=${python_prefix}/include/python${python_branch}  \
+            --disable-html-docs                                           \
+            --disable-api-docs
+        
+        configure.pkg_config_path  ${python_prefix}/lib/pkgconfig
+        
+        configure.python    ${prefix}/bin/python${python_branch}
+        
+        variant html description {Enable HTML documentation building} {}
+        
+        # pyXY-epydoc, which is required to build the api, is only supported on certain versions of python
+        if { [lsearch -exact {25 26 27} ${python_version}] != -1 } {
+            variant doc description {Enable API documentation building} {}
+        }
+        
+        variant examples description {Install examples} {
+            post-destroot {
+                set docdir ${prefix}/share/doc/${subport}
+                set exdir ${docdir}/examples
+                xinstall -d ${destroot}${exdir}
+                eval xinstall -m 644 [glob ${worksrcpath}/examples/*] ${destroot}${exdir}
+            }
+        }
+        
+        # pyXY-gobject, which is required to test, is only supported on certain versions of python
+        if { [lsearch -exact {26 27 32 33 34} ${python_version}] != -1 } {            
+            variant test {}
+            
+            test.run yes
+            test.target check
+        }
+        
+        # ${python_version} and ${python_branch} do not have the right value inside variant block,
+        #    so put it here.
+        if { [variant_isset html] || ([variant_exists doc] &amp;&amp; [variant_isset doc]) } {
+            depends_build-append port:py${python_version}-docutils
+            configure.env-append RST2HTML=${prefix}/bin/rst2html-${python_branch}.py
+        }
</ins><span class="cx"> 
</span><del>-configure.pre_args-delete --prefix=${prefix}
-configure.pre_args-append --prefix=${python_prefix}
</del><ins>+        if { [variant_isset html] } {
+            configure.args-replace --disable-html-docs --enable-html-docs
+        }
</ins><span class="cx"> 
</span><del>-configure.args  --mandir=${prefix}/share/man \
-                --docdir=${prefix}/share/doc/${name} \
-                --includedir=${python_prefix}/include/python2.7
-
-configure.pkg_config_path  ${python_prefix}/lib/pkgconfig
-configure.python    ${prefix}/bin/python2.7
-
-platform darwin 9 {
-    post-patch {
-        reinplace &quot;s| -export-symbols-regex.*| \\\\|g&quot; \
-            ${worksrcpath}/_dbus_bindings/Makefile.in \
-            ${worksrcpath}/_dbus_glib_bindings/Makefile.in
</del><ins>+        # ${python_version} and ${python_branch} do not have the right value inside variant block,
+        #    so put it here.
+        if { [variant_exists doc] &amp;&amp; [variant_isset doc] } {
+            depends_build-append port:py${python_version}-epydoc
+            configure.args-replace --disable-api-docs --enable-api-docs
+            configure.env-append EPYDOC=${prefix}/bin/epydoc-${python_branch}
+            
+            post-destroot {
+                set docdir ${prefix}/share/doc/${subport}
+                set apidir ${docdir}/api
+                xinstall -d ${destroot}${apidir}
+                eval xinstall -m 644 [glob ${worksrcpath}/api/*] ${destroot}${apidir}
+            }
+        }
+        
+        # ${python_version} and ${python_branch} do not have the right value inside variant block,
+        #    so put it here.
+        if { [variant_exists test] } {
+            if { [variant_isset test] } {
+                depends_build-append port:py${python_version}-gobject
+            } else {
+                pre-test {
+                    ui_error &quot;test variant must be activated to enable test support.&quot;
+                    error &quot;Please enable test variant.&quot;
+                }
+            }
+        }
+        
+        platform darwin 9 {
+            post-patch {
+                reinplace &quot;s| -export-symbols-regex.*| \\\\|g&quot; \
+                    ${worksrcpath}/_dbus_bindings/Makefile.in \
+                    ${worksrcpath}/_dbus_glib_bindings/Makefile.in
+            }
+        }
</ins><span class="cx">     }
</span><span class="cx"> }
</span><del>-
-livecheck.type  regex
-livecheck.url   ${master_sites}?C=M&amp;O=D
-livecheck.regex ${my_name}-(\\d+(?:\\.\\d+)*)
</del></span></pre>
</div>
</div>

</body>
</html>