# -*- 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 # MacPorts specification for the TAO CORBA package. # Includes ACE even though the ace port is available # since TAO can not be built against an installed version of ACE. # Thanks to the boost port maintainers for a great example to follow. # Thomas Lockhart # 2012-02-06 PortSystem 1.0 PortGroup github 1.0 github.setup DOCGroup ACE_TAO 7_0_5 ACE+TAO- github.tarball_from releases name tao set name_package ACE+TAO version [string map {_ .} ${github.version}] revision 0 distname ${name_package}-${version} categories devel platforms darwin license BSD maintainers {gmail.com:tlockhart1976 @lockhart} {remedy.nl:jwillemsen @jwillemsen} openmaintainer description The ACE ORB CORBA real-time middleware long_description The ACE ORB (TAO) is a real-time implementation of CORBA built using the \ framework components and patterns provided by ACE. TAO contains the \ network interface, OS, communication protocol, and CORBA middleware \ components and features. TAO is based on the standard OMG CORBA \ reference model, with the enhancements designed to overcome the \ shortcomings of conventional ORBs for high-performance and real-time \ applications. homepage https://www.dre.vanderbilt.edu/~schmidt/TAO.html checksums rmd160 9b601017137cdcea4842f9237ef73f2f1f8e11a1 \ sha256 3f6b5aa5e6aecae970f84d522496fe8848ca6bc9d1c699dc3f338f4c10bcb600 \ size 22954824 conflicts ace universal_variant yes default_variants +server use_bzip2 yes worksrcdir ACE_wrappers patchfiles patch-ace-config.h.diff \ patch-ace-config-macosx-sierra.h.diff \ patch-include-makeinclude-platform_macros.GNU.diff \ patch-archflags.diff set os.name "mojave" array set os.names { 7 panther 8 tiger 9 leopard 10 snowleopard 11 lion 12 mountainlion 13 mavericks 14 yosemite 15 elcapitan 16 sierra 17 highsierra 18 mojave } foreach {key value} [array get os.names] { if {${key} == ${os.major}} { set os.name ${value} } } set logdir ${prefix}/var/log/tao set taodaemon tao_cosnaming set daemondir ${prefix}/etc/LaunchDaemons/org.macports.${taodaemon} set taouser _tao set subdirs { ace ACEXML ASNMP Kokyu apps netsvcs TAO/TAO_IDL TAO/tao TAO/orbsvcs TAO/utils } add_users ${taouser} group=${taouser} realname=TAO\ Server post-patch { reinplace "s|@MACOSX@|${os.name}|g" \ ${worksrcpath}/ace/config.h \ ${worksrcpath}/include/makeinclude/platform_macros.GNU reinplace "s|@@CFLAGS@@|[get_canonical_archflags cc]|g" \ ${worksrcpath}/include/makeinclude/platform_macosx_common.GNU reinplace "s|@@LDFLAGS@@|[get_canonical_archflags ld] -stdlib=${configure.cxx_stdlib}|g" \ ${worksrcpath}/include/makeinclude/platform_macosx_common.GNU reinplace "s|@@CXXFLAGS@@|[get_canonical_archflags cc] -stdlib=${configure.cxx_stdlib}|g" \ ${worksrcpath}/include/makeinclude/platform_macosx_common.GNU } depends_lib-append path:bin/perl:perl5 \ port:tcl \ port:zlib variant ssl description {Enable SSL} { depends_lib-append path:lib/libssl.dylib:openssl post-patch { reinplace "s|ssl=0|ssl=1|g" \ ${worksrcpath}/include/makeinclude/platform_macros.GNU } } variant server description {Enable CosNaming server} { startupitem.create yes startupitem.name ${taodaemon} startupitem.executable ${prefix}/bin/${taodaemon} -ORBListenEndpoints iiop://:2809 } use_configure no use_parallel_build no build.env DYLD_LIBRARY_PATH=${worksrcpath}/lib \ ACE_ROOT=${worksrcpath} \ TAO_ROOT=${worksrcpath}/TAO build.args CC=${configure.cc} \ CXX=${configure.cxx} \ CPP=${configure.cpp} \ INSTALL_PREFIX=${prefix} build { foreach {subdir} $subdirs { build.dir ${worksrcpath}/${subdir} command_exec build } } destroot.env {*}${build.env} destroot.args {*}${build.args} destroot.keepdirs ${logdir} destroot { xinstall -d -o ${taouser} -m 0755 ${logdir} foreach {subdir} $subdirs { destroot.dir ${worksrcpath}/${subdir} command_exec destroot } # Files required to build CosEvent classes but not installed copy ${worksrcpath}/TAO/orbsvcs/orbsvcs/ESF ${destroot}${prefix}/include/orbsvcs/ESF } livecheck.type regex livecheck.url ${master_sites} livecheck.regex "ACE\\+TAO-(\[0-9.\]+\[0-9\]+)${extract.suffix}"