<!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 -> 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 "echo $name is a stub port > ${destroot}${prefix}/share/doc/${name}/README"
+ }
+}
</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&O=D
+ livecheck.regex ${name}-(\\d+(?:\\.\\d+)*)
+
+ # dbus-python 1.x only supports Python 2.6 and above
+ if { [vercmp ${python_branch} 2.5] <= 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] && [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 "s| -export-symbols-regex.*| \\\\|g" \
- ${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] && [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 "test variant must be activated to enable test support."
+ error "Please enable test variant."
+ }
+ }
+ }
+
+ platform darwin 9 {
+ post-patch {
+ reinplace "s| -export-symbols-regex.*| \\\\|g" \
+ ${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&O=D
-livecheck.regex ${my_name}-(\\d+(?:\\.\\d+)*)
</del></span></pre>
</div>
</div>
</body>
</html>