7 # work out what python external libraries we need to install
9 "dns.resolver": "dnspython/dns",
10 "iso8601": "pyiso8601/iso8601",
14 def find_third_party_module(conf
, module
, package
):
15 conf
.COMPOUND_START("Checking for third party Python module %s" % module
)
21 # Installed on the system
22 conf
.COMPOUND_END("system")
26 sys
.path
.append(os
.path
.join(conf
.curdir
, os
.path
.dirname(package
)))
30 if (os
.path
.isdir(os
.path
.join(conf
.srcdir
, ".git")) and
31 os
.path
.isfile(os
.path
.join(conf
.srcdir
, ".gitmodule"))):
32 raise Utils
.WafError("""\
33 Unable to find Python module '%s'. Please install the system package or check \
34 out the relevant submodule by running 'git submodule init; git submodule update'.
37 raise Utils
.WafError("""\
38 Unable to find Python module '%s'. Please install the system package or place a copy in
40 """ % (module
, package
))
42 conf
.COMPOUND_END("bundled")
48 for module
, package
in external_pkgs
.items():
49 find_third_party_module(conf
, module
, package
)
57 for module
, package
in external_pkgs
.items():
64 bld
.INSTALL_WILDCARD('${PYTHONARCHDIR}/samba/third_party', e
+ '/**/*', flat
=False,
65 exclude
='*.pyc', trim_path
=os
.path
.dirname(e
))
67 bld
.SAMBA_GENERATOR('third_party_init_py',
71 bld
.INSTALL_FILES('${PYTHONARCHDIR}/samba/third_party', 'empty_file', destname
='__init__.py')