/
Portfile
110 lines (90 loc) · 3.37 KB
/
Portfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# $Id$
PortSystem 1.0
name ice-python25
version 3.3.0
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 http://www.zeroc.com/download/Ice/3.3/
dist_subdir ice-cpp
distname Ice-${version}
checksums md5 0500306d9cdbc0fbb553fbb529de557a \
sha1 b599c3a4d1d3006b868bf2cbcd8e2a2d4575fb22 \
rmd160 e85b37c93f12d9ae97c6b7b2f64f506fa051e4f8
platforms darwin
depends_lib port:python25 \
port:ice-cpp
patchfiles patch-py.config.Make.rules.Darwin.diff \
patch-config.TestUtil.py.diff
post-patch {
reinplace "s#python Client.py#${prefix}/bin/python2.5 Client.py#" \
${worksrcpath}/py/test/Slice/keyword/run.py
}
use_configure no
build.dir ${worksrcpath}/py
build.target prefix="${prefix}" \
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}" \
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} {
}