1 | # -*- 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 |
---|
2 | # $Id$ |
---|
3 | |
---|
4 | # MacPorts specification for the TAO CORBA package. |
---|
5 | # Includes ACE even though the libACE package is available |
---|
6 | # since TAO can not be built against an installed version of ACE. |
---|
7 | # Thanks to the boost port maintainers for a great example to follow. |
---|
8 | # Thomas Lockhart |
---|
9 | # 2012-02-06 |
---|
10 | |
---|
11 | PortSystem 1.0 |
---|
12 | PortGroup muniversal 1.0 |
---|
13 | |
---|
14 | name tao |
---|
15 | set name_package ACE+TAO |
---|
16 | version 6.1.1 |
---|
17 | distname ${name_package}-${version} |
---|
18 | categories devel |
---|
19 | platforms darwin |
---|
20 | license BSD |
---|
21 | maintainers fourpalms.org:lockhart |
---|
22 | description The ACE ORB CORBA real-time middleware |
---|
23 | long_description The ACE Orb (TAO) is a real-time implementation of CORBA built using the \ |
---|
24 | framework components and patterns provided by ACE. TAO contains the \ |
---|
25 | network interface, OS, communication protocol, and CORBA middleware \ |
---|
26 | components and features. TAO is based on the standard OMG CORBA \ |
---|
27 | reference model, with the enhancements designed to overcome the \ |
---|
28 | shortcomings of conventional ORBs for high-performance and real-time \ |
---|
29 | applications. |
---|
30 | |
---|
31 | conflicts ace libACE |
---|
32 | |
---|
33 | homepage http://www.cs.wustl.edu/~schmidt/TAO.html |
---|
34 | master_sites http://download.dre.vanderbilt.edu/previous_versions \ |
---|
35 | ftp://download.dre.vanderbilt.edu/previous_versions |
---|
36 | |
---|
37 | use_bzip2 yes |
---|
38 | checksums rmd160 a5ea828a92806cc407e1aeb3e3d48a530aa2948d \ |
---|
39 | sha256 db1b81941fcf665b7b7054db8bfca15c49d57dcb4c144016d5391b2fe6ca8cad |
---|
40 | |
---|
41 | worksrcdir ACE_wrappers |
---|
42 | |
---|
43 | patch.pre_args -p1 |
---|
44 | patchfiles patch-ace-config.h.diff \ |
---|
45 | patch-include-makeinclude-platform_macros.GNU.diff |
---|
46 | |
---|
47 | set os.name "lion" |
---|
48 | array set os.names { |
---|
49 | 7 panther |
---|
50 | 8 tiger |
---|
51 | 9 leopard |
---|
52 | 10 snowleopard |
---|
53 | 11 lion |
---|
54 | 12 mountainlion |
---|
55 | } |
---|
56 | foreach {key value} [array get os.names] { |
---|
57 | if {${key} == ${os.major}} { |
---|
58 | set os.name ${value} |
---|
59 | } |
---|
60 | } |
---|
61 | set libenv "DYLD_LIBRARY_PATH=${worksrcpath}/lib" |
---|
62 | set aceenv "ACE_ROOT=${worksrcpath}" |
---|
63 | set taoenv "TAO_ROOT=${worksrcpath}/TAO" |
---|
64 | set makearg "INSTALL_PREFIX=${prefix}" |
---|
65 | set logdir ${prefix}/var/log/tao |
---|
66 | set taodaemon tao_cosnaming |
---|
67 | set taouser _tao |
---|
68 | set subdirs { . TAO } |
---|
69 | # set subdirs { ace ACEXML ASNMP Kokyu MPC apps docs netsvcs TAO/tao TAO/orbsvcs } |
---|
70 | # set subdirs { ace ACEXML ASNMP Kokyu apps TAO/TAO_IDL TAO/tao TAO/orbsvcs } |
---|
71 | |
---|
72 | add_users ${taouser} group=${taouser} realname=TAO\ Server |
---|
73 | |
---|
74 | post-extract { |
---|
75 | copy ${filespath}/org.macports.${taodaemon}.plist \ |
---|
76 | ${worksrcpath}/ |
---|
77 | } |
---|
78 | |
---|
79 | post-patch { |
---|
80 | reinplace "s|@MACOSX@|${os.name}|g" \ |
---|
81 | ${worksrcpath}/ace/config.h \ |
---|
82 | ${worksrcpath}/include/makeinclude/platform_macros.GNU |
---|
83 | reinplace "s|@PREFIX@|${prefix}|g" \ |
---|
84 | ${worksrcpath}/org.macports.${taodaemon}.plist |
---|
85 | reinplace "s|@USER@|${taouser}|g" \ |
---|
86 | ${worksrcpath}/org.macports.${taodaemon}.plist |
---|
87 | reinplace "s|@DAEMON@|${taodaemon}|g" \ |
---|
88 | ${worksrcpath}/org.macports.${taodaemon}.plist |
---|
89 | } |
---|
90 | |
---|
91 | depends_lib path:bin/perl:perl5 \ |
---|
92 | port:tcl \ |
---|
93 | port:zlib |
---|
94 | |
---|
95 | use_configure no |
---|
96 | configure.cmd "\$ACE_ROOT/bin/mpc.pl" |
---|
97 | configure.args -type gnuace TAO_ACE.mwc |
---|
98 | configure.universal_args |
---|
99 | |
---|
100 | post-configure {} |
---|
101 | |
---|
102 | use_parallel_build no |
---|
103 | |
---|
104 | build.env "${libenv} ${aceenv} ${taoenv}" |
---|
105 | build.pre_args ${makearg} all |
---|
106 | build { |
---|
107 | foreach {subdir} $subdirs { |
---|
108 | build.dir ${worksrcpath}/${subdir} |
---|
109 | command_exec build |
---|
110 | } |
---|
111 | } |
---|
112 | |
---|
113 | destroot.env "${libenv} ${aceenv} ${taoenv}" |
---|
114 | destroot.pre_args ${makearg} install |
---|
115 | destroot.keepdirs ${logdir} |
---|
116 | destroot { |
---|
117 | xinstall -d -o ${taouser} -m 0755 ${logdir} |
---|
118 | foreach {subdir} $subdirs { |
---|
119 | destroot.dir ${worksrcpath}/${subdir} |
---|
120 | command_exec destroot |
---|
121 | } |
---|
122 | # Files required to build CosEvent classes but not installed |
---|
123 | copy ${worksrcpath}/TAO/orbsvcs/orbsvcs/ESF ${destroot}/${prefix}/include/orbsvcs/ESF |
---|
124 | } |
---|
125 | pre-install { |
---|
126 | delete ${destroot}${prefix}/etc/LaunchDaemons/org.macports.${taodaemon}/org.macports.${taodaemon}.plist |
---|
127 | delete ${destroot}${prefix}/etc/LaunchDaemons/org.macports.${taodaemon}/${taodaemon}.wrapper |
---|
128 | copy ${worksrcpath}/org.macports.${taodaemon}.plist \ |
---|
129 | ${destroot}${prefix}/etc/LaunchDaemons/org.macports.${taodaemon}/org.macports.${taodaemon}.plist |
---|
130 | } |
---|
131 | startupitem.create yes |
---|
132 | startupitem.name ${taodaemon} |
---|
133 | |
---|
134 | livecheck.type regex |
---|
135 | livecheck.url ${master_sites} |
---|
136 | livecheck.regex "ACE\\+TAO-(\[0-9.\]+\[0-9\]+)${extract.suffix}" |
---|