source: trunk/dports/devel/dbus-python/Portfile

Last change on this file was 147906, checked in by ryandesign@…, 19 months ago

dbus-python: use https for homepage and master_sites

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.9 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 147906 2016-04-20 04:21:48Z ryandesign@macports.org $
3
4PortSystem      1.0
5
6name            dbus-python
7version         1.2.0
8revision        2
9
10set python_versions {27 34 35}
11
12# this default version should stay synchronized with python_get_default_version
13#    in the python PortGroup
14set python_default_version 27
15
16maintainers     mcalhoun openmaintainer
17license         MIT
18categories      devel python
19platforms       darwin
20description     Python bindings for the dbus message bus system.
21long_description \
22    ${description}
23homepage        https://www.freedesktop.org/wiki/Software/dbus/
24
25if {${name} eq ${subport}} {
26    # set up dbus-python as a stub port that depends on the default dbus-pythonXY
27    master_sites {}
28    fetch {}
29    checksum {}
30    extract {}
31    supported_archs noarch
32
33    depends_lib port:${name}${python_default_version}
34
35    patch {}
36    use_configure no
37    build {}
38    destroot {
39        xinstall -d ${destroot}${prefix}/share/doc/${name}
40        system "echo $name is a stub port > ${destroot}${prefix}/share/doc/${name}/README"
41    }
42}
43
44foreach python_version ${python_versions} {
45
46    set python_branch [string range ${python_version} 0 end-1].[string index ${python_version} end]
47
48    subport ${name}${python_version} {
49
50        master_sites    https://dbus.freedesktop.org/releases/dbus-python/
51
52        checksums           rmd160  cba09a1ca259bfa49c943142110a968241f40360 \
53                            sha256  e12c6c8b2bf3a9302f75166952cbe41d6b38c3441bbc6767dbd498942316c6df
54
55        livecheck.type  regex
56        livecheck.url   ${master_sites}?C=M&O=D
57        livecheck.regex ${name}-(\\d+(?:\\.\\d+)*)
58
59        distname        ${name}-${version}
60
61        depends_build   port:pkgconfig
62
63        depends_lib                               \
64            path:bin/dbus-daemon:dbus             \
65            port:dbus-glib                        \
66            port:gettext                          \
67            path:lib/pkgconfig/glib-2.0.pc:glib2  \
68            port:libiconv \
69            port:python${python_version}
70
71        set python_prefix ${frameworks_dir}/Python.framework/Versions/${python_branch}
72
73        configure.pre_args-replace --prefix=${prefix} --prefix=${python_prefix}
74
75        configure.args                                                    \
76            --docdir=${prefix}/share/doc/${subport}                       \
77            --disable-html-docs                                           \
78            --disable-api-docs
79
80        set includedir_base ${python_prefix}/include/python${python_branch}
81        set python_config ${prefix}/bin/python${python_branch}-config
82
83        pre-configure {
84            # determine any abiflags; works for Python 3+ only; will
85            # catch for Python 2.7 and we know there are no flags.
86            if {[catch {set abiflags [exec ${python_config} --abiflags]}]} {
87                set abiflags ""
88            }
89            configure.args-append --includedir=${includedir_base}${abiflags}
90        }
91
92        configure.pkg_config_path  ${python_prefix}/lib/pkgconfig
93
94        configure.python    ${prefix}/bin/python${python_branch}
95
96        variant html description {Enable HTML documentation building} {}
97
98        # pyXY-epydoc, which is required to build the api, is only supported on certain versions of python
99        if { [lsearch -exact {27} ${python_version}] != -1 } {
100            variant doc description {Enable API documentation building} {}
101        }
102
103        variant examples description {Install examples} {
104            post-destroot {
105                set docdir ${prefix}/share/doc/${subport}
106                set exdir ${docdir}/examples
107                xinstall -d ${destroot}${exdir}
108                eval xinstall -m 644 [glob ${worksrcpath}/examples/*] ${destroot}${exdir}
109            }
110        }
111
112        # pyXY-gobject, which is required to test, is only supported on certain versions of python
113        if { [lsearch -exact {27 34 35} ${python_version}] != -1 } {
114            variant test {}
115
116            test.run yes
117            test.target check
118        }
119
120        # ${python_version} and ${python_branch} do not have the right value inside variant block,
121        #    so put it here.
122        if { [variant_isset html] || ([variant_exists doc] && [variant_isset doc]) } {
123            depends_build-append port:py${python_version}-docutils
124            configure.env-append RST2HTML=${prefix}/bin/rst2html-${python_branch}.py
125        }
126
127        if { [variant_isset html] } {
128            configure.args-replace --disable-html-docs --enable-html-docs
129        }
130
131        # ${python_version} and ${python_branch} do not have the right value inside variant block,
132        #    so put it here.
133        if { [variant_exists doc] && [variant_isset doc] } {
134            depends_build-append port:py${python_version}-epydoc
135            configure.args-replace --disable-api-docs --enable-api-docs
136            configure.env-append EPYDOC=${prefix}/bin/epydoc-${python_branch}
137
138            post-destroot {
139                set docdir ${prefix}/share/doc/${subport}
140                set apidir ${docdir}/api
141                xinstall -d ${destroot}${apidir}
142                eval xinstall -m 644 [glob ${worksrcpath}/api/*] ${destroot}${apidir}
143            }
144        }
145
146        # ${python_version} and ${python_branch} do not have the right value inside variant block,
147        #    so put it here.
148        if { [variant_exists test] } {
149            if { [variant_isset test] } {
150                depends_build-append port:py${python_version}-gobject
151            } else {
152                pre-test {
153                    ui_error "test variant must be activated to enable test support."
154                    error "Please enable test variant."
155                }
156            }
157        }
158
159        platform darwin 9 {
160            post-patch {
161                reinplace "s| -export-symbols-regex.*| \\\\|g" \
162                    ${worksrcpath}/_dbus_bindings/Makefile.in \
163                    ${worksrcpath}/_dbus_glib_bindings/Makefile.in
164            }
165        }
166    }
167}
168
169# Obsolete subports for Python versions 2.4, 2.5, 2.6, 3.1, 3.2, 3.3  created on 10/26/2014.
170# See https://lists.macosforge.org/pipermail/macports-dev/2014-September/thread.html (Retiring Python 2.4 and 2.5)
171foreach python_version { 24 25 26 31 32 33 } {
172    set python_branch [string range ${python_version} 0 end-1].[string index ${python_version} end]
173
174    if { "${name}${python_version}" eq ${subport}} {
175        unset maintainers
176        unset license
177        unset categories
178        unset platforms
179        unset description
180        unset long_description
181        unset homepage
182        depends_build
183        depends_lib
184    }
185
186    subport ${name}${python_version} {
187        if { [vercmp ${python_branch} 3.0] < 0 } {
188            replaced_by  ${name}27
189        } else {
190            replaced_by ${name}34
191        }
192        PortGroup    obsolete 1.0
193    }
194}
Note: See TracBrowser for help on using the repository browser.