# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 name rabbitmq-server version 3.7.9 categories net platforms darwin maintainers nomaintainer license MPL-1.1 MIT Apache-2 supported_archs noarch description The RabbitMQ AMQP Server long_description \ RabbitMQ is an implementation of AMQP, the emerging standard for \ high performance enterprise messaging. The RabbitMQ server is a \ robust and scalable implementation of an AMQP broker. homepage http://www.rabbitmq.com/ master_sites https://www.rabbitmq.com/releases/rabbitmq-server/v${version}/ \ https://dl.bintray.com/rabbitmq/all/rabbitmq-server/${version}/ use_xz yes distfiles ${name}-generic-unix-${version}${extract.suffix} worksrcdir [string map {- _} $name]-$version checksums rmd160 b1d2e22d39eb711c9fb201513af5dcc7f788422e \ sha256 43214e32316ce4eb6a0a0013b897b2a0c7c96d6814ba6bd01ae60032e8c2479f \ size 9200564 depends_lib port:erlang depends_build port:libxslt platform darwin 8 { depends_build-append port:py27-simplejson build.args PYTHON=${prefix}/bin/python2.7 } platform darwin 9 { depends_build-append port:py27-simplejson build.args PYTHON=${prefix}/bin/python2.7 } # no need for simplejson on Snow Leopard or higher if {${os.major} > 9 && ${os.platform} eq "darwin"} { # python3.X doesn't work build.args PYTHON=python2.7 } set serveruser rabbitmq set servergroup rabbitmq set serverhome ${prefix}/var/lib/rabbitmq set logdir ${prefix}/var/log/rabbitmq set confdir ${prefix}/etc/rabbitmq set mnesiadbdir ${prefix}/var/lib/rabbitmq/mnesia set plistloc ${prefix}/etc/LaunchDaemons/org.macports.${name} set rootdest ${prefix}/lib/rabbitmq set rootserver ${rootdest}/lib/${worksrcdir} set sbindir ${destroot}${rootdest}/bin set wrappersbin ${destroot}${prefix}/sbin set realsbin ${destroot}${rootserver}/sbin set mansrc ${workpath}/${worksrcdir}/share/man set mandest ${destroot}${prefix}/share/man add_users ${serveruser} group=${servergroup} realname=RabbitMQ\ Server home=${serverhome} use_configure no build {} destroot.keepdirs \ ${destroot}${confdir} \ ${destroot}${logdir} \ ${destroot}${mnesiadbdir} destroot { # This is a hack: We need to patch the startupitem, so generate it manually # here, then define the function to empty to avoid overwriting it later package require portstartupitem 1.0 portstartupitem::startupitem_create proc portstartupitem::startupitem_create {args} {} system -W "${destroot}${plistloc}" "/usr/libexec/PlistBuddy -c \"Add :UserName string ${serveruser}\" org.macports.${name}.plist" xinstall -d -m 775 ${destroot}${confdir} xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot}${logdir} xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot}${serverhome} xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot}${mnesiadbdir} xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot}${rootserver} xinstall -d -g [existsgroup ${servergroup}] -m 775 ${destroot} xinstall -d -g [existsgroup ${servergroup}] -m 775 ${sbindir} copy {*}[glob ${worksrcpath}/*] ${destroot}${rootserver}/ reinplace -E "s:^SYS_PREFIX=\\\${RABBITMQ_HOME}$:SYS_PREFIX=${prefix}:" \ ${realsbin}/rabbitmq-defaults xinstall -m 755 ${filespath}/rabbitmq-script-wrapper \ ${wrappersbin}/rabbitmq-server reinplace -E "s:@MACPORTS_PREFIX@:${prefix}:g" \ ${wrappersbin}/rabbitmq-server reinplace -E "s:/usr/lib/rabbitmq/bin/:${prefix}/lib/rabbitmq/bin/:g" \ ${wrappersbin}/rabbitmq-server reinplace -E "s:/var/lib/rabbitmq:${prefix}/var/lib/rabbitmq:g" \ ${wrappersbin}/rabbitmq-server copy ${wrappersbin}/rabbitmq-server ${wrappersbin}/rabbitmqctl copy ${wrappersbin}/rabbitmq-server ${wrappersbin}/rabbitmq-plugins file attributes ${destroot}${serverhome} -owner ${serveruser} -group ${servergroup} file attributes ${destroot}${logdir} -owner ${serveruser} -group ${servergroup} foreach script {rabbitmq-defaults rabbitmq-env rabbitmq-plugins rabbitmq-server rabbitmqctl cuttlefish} { ln -s ../lib/${worksrcdir}/sbin/${script} ${sbindir}/${script} } xinstall -m 644 -W ${mansrc}/man8 rabbitmq-plugins.8.gz \ rabbitmq-server.8.gz rabbitmqctl.8.gz ${mandest}/man8/ xinstall -m 644 -W ${mansrc}/man5 rabbitmq-env.conf.5.gz ${mandest}/man5/ } startupitem.create yes startupitem.init "PATH=${prefix}/bin:${prefix}/sbin:\$PATH; export PATH" startupitem.start "rabbitmq-server 2>&1" startupitem.stop "rabbitmqctl stop 2>&1" startupitem.logfile ${prefix}/var/log/rabbitmq/startupitem.log livecheck.type regex livecheck.url http://www.rabbitmq.com/releases/rabbitmq-server/current/ livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)"