# -*- 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
# $Id: Portfile 102428 2013-02-02 18:34:49Z blair@macports.org $

PortSystem      1.0
PortGroup       python 1.0

name            ansible
version         devel
categories      sysutils
supported_archs noarch

maintainers     nomaintainer

homepage        http://ansibleworks.com/
description     SSH-based configuration management and deployment system
long_description \
    Ansible is a radically simple model-driven configuration \
    management, multi-node deployment, and orchestration \
    engine.  Ansible works over SSH and does not require any software \
    or daemons to be installed on remote nodes.  Extension modules can \
    be written in any language and are transferred to managed machines \
    automatically.

license         GPL-3+

platforms       darwin

fetch.type         git
git.url            https://github.com/ansible/ansible.git
git.branch         ${version}

python.default_version  27
depends_lib-append      port:py${python.version}-jinja2 \
                        port:py${python.version}-paramiko \
                        port:py${python.version}-yaml
# fireball mode requires py-zmq, py-asn1, py-crypto and py-keyczar

patch {
    fs-traverse f ${worksrcpath} {
        if {[file isfile ${f}]} {
            reinplace -locale C "s#/etc/ansible#${prefix}/etc/ansible#g" ${f}
            reinplace -locale C "s#/usr/share/ansible#${prefix}/share/ansible#g" ${f}
        }
    }
}

post-destroot {
  # documentation and examples
  xinstall -m 644 -W ${worksrcpath} README.md CHANGELOG.md CONTRIBUTING.md COPYING  \
    ${destroot}${prefix}/share/doc/${name}

  xinstall -m 755 -d ${destroot}${prefix}/share/doc/examples
  xinstall -m 755 ${worksrcpath}/examples/ansible.cfg ${destroot}${prefix}/share/doc/${name}/examples
  xinstall -m 755 ${worksrcpath}/examples/hosts ${destroot}${prefix}/share/doc/${name}/examples

  file copy ${worksrcpath}/examples/playbooks ${destroot}${prefix}/share/doc/${name}/examples/

  # man pages
  xinstall -d 644 ${destroot}${prefix}/share/man/man1
  eval xinstall -m 755 [glob ${worksrcpath}/docs/man/man1/*.1] ${destroot}${prefix}/share/man/man1

  # install sample config and hosts file
  xinstall -m 755 -d ${destroot}${prefix}/etc/ansible
  xinstall -m 755 ${worksrcpath}/examples/ansible.cfg ${destroot}${prefix}/etc/ansible/ansible.cfg
  xinstall -m 755 ${worksrcpath}/examples/hosts ${destroot}${prefix}/etc/ansible/hosts
}

python.link_binaries_suffix
