# Install python software using setup.py.
#
# === Parameters
#
#   $name:
#       Source directory.
#   $python:
#       Python executable name. Defaults to python.
#
# === Sample usage
#
# python::setup::install { "/usr/local/src/moin-1.8.8": }
#
define python::setup::install($python="python") {

    exec { "python-setup-install-${name}":
        path    => "/bin:/usr/bin:/sbin:/usr/sbin",
        cwd     => "${name}",
        command => "${python} setup.py install",
        creates => "${name}/build",
    }

}

# Compile python script into binary form.
#
# === Parameters
#
#   $name:
#       File name to compile.
#
# === Sample usage
#
# python::compile { "/usr/lib/python2.4/site-packages/dynldap.py": }
#
define python::compile() {

    exec { "python -c \"import py_compile; py_compile.compile('${name}')\"":
        path   => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin",
        onlyif => "test '${name}' -nt '${name}c'",
    }

}
