Page MenuHomeFreeBSD

D31410.id93935.diff
No OneTemporary

D31410.id93935.diff

Index: GIDs
===================================================================
--- GIDs
+++ GIDs
@@ -242,7 +242,7 @@
backuppc:*:300:
# free: 301
netdata:*:302:
-# free: 303
+avalanchemq:*:303:
# free: 304
# free: 305
# free: 306
Index: UIDs
===================================================================
--- UIDs
+++ UIDs
@@ -247,7 +247,7 @@
backuppc:*:300:300::0:0:BackupPC pseudo-user:/nonexistent:/usr/sbin/nologin
# free: 301
netdata:*:302:302::0:0:NetData Daemon:/var/cache/netdata:/usr/sbin/nologin
-# free: 303
+avalanchemq:*:303:303::0:0:AvalancheMQ user:/nonexistent:/usr/sbin/nologin
# free: 304
# free: 305
# free: 306
Index: net/Makefile
===================================================================
--- net/Makefile
+++ net/Makefile
@@ -47,6 +47,7 @@
SUBDIR += avahi-libdns
SUBDIR += avahi-qt5
SUBDIR += avahi-sharp
+ SUBDIR += avalanchemq
SUBDIR += axa
SUBDIR += babeld
SUBDIR += balance
Index: net/avalanchemq/Makefile
===================================================================
--- /dev/null
+++ net/avalanchemq/Makefile
@@ -0,0 +1,52 @@
+PORTNAME= avalanchemq
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.0.0-alpha.31
+CATEGORIES= net
+
+MAINTAINER= dch@FreeBSD.org
+COMMENT= Next-generation AMQP 0.9.1 based message broker
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= crystal:lang/crystal \
+ shards:devel/shards
+
+USES= pkgconfig ssl:build
+USE_GITHUB= yes
+GH_ACCOUNT= cloudamqp
+GH_TUPLE= dch:avalanchemq-lib:${DISTVERSION}:lib
+
+USE_RC_SUBR= avalanchemq
+
+USERS= avalanchemq
+GROUPS= avalanchemq
+
+PORTDOCS= CHANGELOG.md NOTICE README.md SECURITY.md
+
+OPTIONS_DEFINE= DOCS
+
+SHARDS_ENV= --release --production --local --no-color --progress --stats --static
+
+post-extract:
+ @${MV} ${WRKDIR}/avalanchemq-lib-${DISTVERSION} ${WRKSRC}/lib
+
+do-build:
+ (cd ${WRKSRC} && ${LOCALBASE}/bin/shards build ${SHARDS_ENV})
+
+do-install:
+ ${MKDIR} \
+ ${STAGEDIR}${ETCDIR} \
+ ${STAGEDIR}/var/db/avalanchemq \
+ ${STAGEDIR}/var/log/avalanchemq
+.for f in mq mqctl mqperf
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/avalanche${f} \
+ ${STAGEDIR}${PREFIX}/bin
+.endfor
+
+do-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for f in ${PORTDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}
+.endfor
+
+.include <bsd.port.mk>
Index: net/avalanchemq/distinfo
===================================================================
--- /dev/null
+++ net/avalanchemq/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1628108503
+SHA256 (cloudamqp-avalanchemq-v1.0.0-alpha.31_GH0.tar.gz) = c4264e6dff3b3b65e17604a3dea21e2614a8167495c8167a431f59bef9218ec0
+SIZE (cloudamqp-avalanchemq-v1.0.0-alpha.31_GH0.tar.gz) = 871165
+SHA256 (dch-avalanchemq-lib-1.0.0-alpha.31_GH0.tar.gz) = 15fd65ae3b6ae8a36605e70f34c67ca6a3f0ee94fdbedaba4c4b3d06c71292a6
+SIZE (dch-avalanchemq-lib-1.0.0-alpha.31_GH0.tar.gz) = 121562
Index: net/avalanchemq/files/avalanchemq.in
===================================================================
--- /dev/null
+++ net/avalanchemq/files/avalanchemq.in
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+# PROVIDE: avalanchemq
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# avalanchemq_enable (bool): Set it to YES to enable avalanchemq.
+# Default is "NO".
+# avalanchemq_user (user): Set user to run avalanchemq.
+# Default is "avalanchemq".
+# avalanchemq_group (group): Set group to run avalanchemq.
+# Default is "avalanchemq".
+# avalanchemq_config (file): Set avalanchemq config file.
+# Default is "%%ETCDIR%%/avalanchemq.conf".
+# avalanchemq_syslog_output_enable (bool): Set to enable syslog output.
+# Default is "NO". See daemon(8).
+# avalanchemq_syslog_output_priority (str): Set syslog priority if syslog enabled.
+# Default is "info". See daemon(8).
+# avalanchemq_syslog_output_facility (str): Set syslog facility if syslog enabled.
+# Default is "daemon". See daemon(8).
+
+. /etc/rc.subr
+
+name=avalanchemq
+rcvar=avalanchemq_enable
+
+load_rc_config $name
+
+: ${avalanchemq_enable:="NO"}
+: ${avalanchemq_dir:="/var/db/avalanchemq"}
+: ${avalanchemq_run:="/var/run/avalanchemq"}
+: ${avalanchemq_user:="avalanchemq"}
+: ${avalanchemq_group:="avalanchemq"}
+: ${avalanchemq_config:="%%ETCDIR%%/config.ini"}
+
+DAEMON=$(/usr/sbin/daemon 2>&1 | grep -q syslog ; echo $?)
+if [ ${DAEMON} -eq 0 ]; then
+ : ${avalanchemq_syslog_output_enable:="NO"}
+ : ${avalanchemq_syslog_output_priority:="info"}
+ : ${avalanchemq_syslog_output_facility:="daemon"}
+ if checkyesno avalanchemq_syslog_output_enable; then
+ avalanchemq_syslog_output_flags="-T ${name}"
+
+ if [ -n "${avalanchemq_syslog_output_priority}" ]; then
+ avalanchemq_syslog_output_flags="${avalanchemq_syslog_output_flags} -s ${avalanchemq_syslog_output_priority}"
+ fi
+
+ if [ -n "${avalanchemq_syslog_output_facility}" ]; then
+ avalanchemq_syslog_output_flags="${avalanchemq_syslog_output_flags} -l ${avalanchemq_syslog_output_facility}"
+ fi
+ fi
+else
+ avalanchemq_syslog_output_enable="NO"
+ avalanchemq_syslog_output_flags=""
+fi
+
+pidfile=/var/run/avalanchemq/daemon.pid
+procname="%%PREFIX%%/bin/avalanchemq"
+command="/usr/sbin/daemon"
+command_args="-f -t ${name} ${avalanchemq_syslog_output_flags} -p ${pidfile} /usr/bin/env ${avalanchemq_env} ${procname} --config=${avalanchemq_config}"
+
+extra_commands="reload monitor"
+monitor_cmd=avalanchemq_monitor
+start_precmd=avalanchemq_startprecmd
+required_files="$avalanchemq_config"
+
+avalanchemq_monitor()
+{
+ sig_reload=USR1
+ run_rc_command "reload"
+}
+
+avalanchemq_startprecmd()
+{
+ if [ ! -d ${avalanchemq_run} ]; then
+ install -d -o ${avalanchemq_user} -g ${avalanchemq_group} ${avalanchemq_run}
+ fi
+
+ if [ ! -d ${avalanchemq_dir} ]; then
+ install -d -o ${avalanchemq_user} -g ${avalanchemq_group} ${avalanchemq_dir}
+ fi
+
+ if [ ! -e ${pidfile} ]; then
+ install -o ${avalanchemq_user} -g ${avalanchemq_group} /dev/null ${pidfile};
+ fi
+
+ # remove stray sockets that can block startup
+ rm -rf ${avalanchemq_run}/*.sock /tmp/avalanchemq
+}
+
+run_rc_command "$1"
Index: net/avalanchemq/pkg-descr
===================================================================
--- /dev/null
+++ net/avalanchemq/pkg-descr
@@ -0,0 +1,16 @@
+AvalancheMQ is a message queue server, also called a message broker,
+where messages are published by a sending service called a producer, via
+the broker, to then be consumed by the receiving service called a
+consumer. When not handling messages, the queue can route, buffer, and
+persist the messages according to rules set up by the user.
+
+Messages can be sent across languages, platforms, and OS, which decouple
+processes and creates a highly scalable system. AvalancheMQ, as queue
+management software, gives an organized, safe place for messages to wait
+until another application or part of the system can come along and
+consume them for processing.
+
+AvalancheMQ is written in Crystal, a statically compiled LLVM-based
+language with a ruby-like syntax.
+
+WWW: https://www.avalanchemq.com/
Index: net/avalanchemq/pkg-plist
===================================================================
--- /dev/null
+++ net/avalanchemq/pkg-plist
@@ -0,0 +1,7 @@
+@dir(avalanchemq,avalanchemq,750) %%ETCDIR%%
+@dir(avalanchemq,avalanchemq,750) /var/db/avalanchemq
+@dir(avalanchemq,avalanchemq,750) /var/log/avalanchemq
+@comment TBH is there a default to use yet? @sample %%ETCDIR%%/avalanchemq.conf.sample
+bin/avalanchemq
+bin/avalanchemqctl
+bin/avalanchemqperf

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 22, 2:40 AM (10 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27131777
Default Alt Text
D31410.id93935.diff (7 KB)

Event Timeline