# $Id: Portfile 67860 2010-05-20 05:53:03Z blair@macports.org $

PortSystem 1.0

name            ice-python
version         3.4.0
set branch      [join [lrange [split ${version} .] 0 1] .]
categories      devel python
maintainers     blair
description     Fast, object-oriented RPC for C++, Java, Python, Ruby, PHP

long_description \
        The Internet Communications Engine (Ice) is a modern alternative to \
        object middleware such as CORBA or COM/DCOM/COM+, with support for \
        C++, C#, Java, PHP, Python, Ruby and Visual Basic. \
        Ice consists of the following packages. \
        Slice: The Specification Language for Ice.  Slice establishes a \
        contract between clients and servers, and is also used to describe \
        persistent data. \
        Slice Compilers: Slice specifications are compiled into various \
        programming languages. Ice supports C++, Java, C#, Visual Basic, PHP, \
        Python and Ruby.  Ice clients and servers work together, regardless \
        of the programming language. \
        Ice: The Ice core library manages all the communication tasks using a \
        highly efficient protocol (including protocol compression and support \
        for both TCP and UDP), provides a flexible thread pool for \
        multi-threaded servers. \
        This Port provides the Python bindings that sit on top of the C++ \
        Ice C++ runtime libraries.

homepage        http://www.zeroc.com/
master_sites    ${homepage}download/Ice/${branch}/
dist_subdir     ice-cpp
distname        Ice-${version}
patchfiles      patch-py.config.Make.rules.Darwin.diff
checksums       md5 998b10627ade020cb00f5beb73efc0e0 \
                sha1 1c8fe296af8d65d16cddac39a8bc24b71e069f75 \
                rmd160 e874749f8d7d1916c1e3b19c006a7f2216e10f53
platforms       darwin

depends_lib     port:python24 \
                port:ice-cpp

build.dir       ${worksrcpath}/py

post-patch {
        # Remove this reinplace when 3.4.1 is released.
        reinplace "s/nodarwing/nodarwin/" \
                ${worksrcpath}/scripts/TestUtil.py

        reinplace "s/-O2/-g -O2/" \
                ${build.dir}/config/Make.rules.Darwin

        # Prevent name conflicts between libICE.* from xorg-libice and
        # libIce.* from this port by renaming libIce.* to libZeroCIce.*.
        reinplace "s/-lIce /-lZeroCIce /" \
                ${build.dir}/config/Make.rules
        reinplace "s/-lIce /-lZeroCIce /" \
                ${build.dir}/config/Make.rules.Darwin
}

use_configure   no

build.target    prefix="${prefix}" \
                CC="${configure.cc}" \
                CXX="${configure.cxx}" \
                ICE_HOME="${prefix}" \
                PYTHON_HOME="${prefix}/Library/Frameworks/Python.framework/Versions/2.4" \
                PYTHON_VERSION=python2.4 \
                OPTIMIZE="yes" \
                all

test.run        yes
test.env        ICE_HOME=${prefix}
test.cmd        ${prefix}/bin/python2.4
test.target     allTests.py

destroot.target prefix="${destroot}${prefix}" \
                CC="${configure.cc}" \
                CXX="${configure.cxx}" \
                ICE_HOME="${prefix}" \
                PYTHON_HOME="${prefix}/Library/Frameworks/Python.framework/Versions/2.4" \
                PYTHON_VERSION=python2.4 \
                OPTIMIZE="yes" \
                install

post-destroot {
        set sharedir ${destroot}${prefix}/share
        set docdir ${sharedir}/doc/${name}

        delete ${destroot}${prefix}/slice

        xinstall -m 755 -d ${docdir}

        file mkdir ${destroot}${prefix}/lib/python2.4
        file rename ${destroot}${prefix}/python ${destroot}${prefix}/lib/python2.4/site-packages

        set cmd "${prefix}/bin/python2.4 \
                ${prefix}/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/compileall.py \
                ${destroot}${prefix}/lib/python2.4/site-packages"
        ui_debug ${cmd}
        system ${cmd}

        set cmd "${prefix}/bin/python2.4 -O \
                ${prefix}/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/compileall.py \
                ${destroot}${prefix}/lib/python2.4/site-packages"
        ui_debug ${cmd}
        system ${cmd}

        file rename ${destroot}${prefix}/ICE_LICENSE ${docdir}
        file rename ${destroot}${prefix}/LICENSE ${docdir}
        foreach f {CHANGES RELEASE_NOTES} {
                file copy ${worksrcpath}/${f} ${docdir}
        }
        file copy ${build.dir}/INSTALL ${docdir}

        if {[variant_isset demo_source_code]} {
                file copy ${build.dir}/demo ${docdir}
        }
}

variant demo_source_code description {Install demonstration Python code} {
}
