# $Id: Portfile 73679 2010-11-21 06:41:37Z blair@macports.org $

PortSystem 1.0

name		ice33-python25
version		3.3.1
categories	devel python
maintainers	blair
description	Fast, object-oriented RPC for C++, Java, Python, Ruby, PHP
conflicts	ice-python25

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/3.3/
dist_subdir	ice-cpp
distname	Ice-${version}
distfiles	${distname}${extract.suffix}
patchfiles	patch-py.config.Make.rules.Darwin.diff \
		patch-scripts.TestUtil.py.diff
checksums	Ice-${version}.tar.gz \
			md5 1f37dfcec4662fcde030553fb447d064 \
			sha1 08d0f32bdb7d909b4a531d45cccfa97bdde649aa \
			rmd160 d64d52c35640cebe1145e62f57618473d17cbeb5
platforms	darwin

depends_lib	port:python25 \
		port:ice33-cpp

post-patch {
	reinplace "s/-O2/-g -O2/" \
		${workpath}/Ice-${version}/py/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 /" \
		${workpath}/Ice-${version}/py/config/Make.rules
	reinplace "s/-lIce /-lZeroCIce /" \
		${workpath}/Ice-${version}/py/config/Make.rules.Darwin
}

use_configure	no

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

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

destroot.dir	${worksrcpath}/py
destroot.target	prefix="${destroot}${prefix}" \
		CC="${configure.cc}" \
		CXX="${configure.cxx}" \
		ICE_HOME="${prefix}" \
		PYTHON_HOME="${prefix}/Library/Frameworks/Python.framework/Versions/2.5" \
		PYTHON_VERSION=python2.5 \
		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.5
	file rename ${destroot}${prefix}/python ${destroot}${prefix}/lib/python2.5/site-packages

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

	set cmd "${prefix}/bin/python2.5 -O \
		${prefix}/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/compileall.py \
		${destroot}${prefix}/lib/python2.5/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 ${worksrcpath}/py/INSTALL ${docdir}

	if {[variant_isset demo_source_code]} {
		file copy ${worksrcpath}/py/demo ${docdir}
	}
}

variant demo_source_code description {Install demonstration Python code} {
}
