summaryrefslogtreecommitdiff
path: root/net/lavinmq
diff options
context:
space:
mode:
Diffstat (limited to 'net/lavinmq')
-rw-r--r--net/lavinmq/Makefile71
-rw-r--r--net/lavinmq/distinfo40
2 files changed, 90 insertions, 21 deletions
diff --git a/net/lavinmq/Makefile b/net/lavinmq/Makefile
index 86d209dccf0c..d27d57820c3c 100644
--- a/net/lavinmq/Makefile
+++ b/net/lavinmq/Makefile
@@ -1,8 +1,43 @@
PORTNAME= lavinmq
DISTVERSIONPREFIX= v
-DISTVERSION= 1.2.14
+DISTVERSION= 2.3.0
CATEGORIES= net
+# JavaScripts
+MASTER_SITES+= https://github.com/chartjs/Chart.js/releases/download/v4.0.1/:chartjs \
+ https://github.com/cloudamqp/amqp-client.js/releases/download/v3.1.1/:amqpclient \
+ https://moment.github.io/luxon/es6/:luxon \
+ https://cdn.jsdelivr.net/npm/chartjs-adapter-luxon@1.3.1/dist/:chartjsadapter \
+ https://unpkg.com/@stoplight/elements@8.2.0/:elements \
+ https://raw.githubusercontent.com/eclipse-paho/paho.mqtt.javascript/master/src/:paho
+
+DISTFILES+= chart.js-4.0.1.tgz:chartjs \
+ amqp-websocket-client.mjs:amqpclient \
+ amqp-websocket-client.mjs.map:amqpclient \
+ luxon.js:luxon \
+ chartjs-adapter-luxon.esm.js:chartjsadapter \
+ web-components.min.js:elements \
+ styles.min.css:elements \
+ paho-mqtt.js:paho
+
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} \
+ 84codes-lz4.cr-${_LZ4}_GH0.tar.gz \
+ 84codes-systemd.cr-v2.0.0_GH0.tar.gz \
+ cloudamqp-amq-protocol.cr-v1.1.15_GH0.tar.gz \
+ cloudamqp-amqp-client.cr-v1.3.1_GH0.tar.gz \
+ 84codes-mqtt-protocol.cr-${_MQTT}_GH0.tar.gz \
+ chart.js-${_CHARTJS}.tgz
+
+# Crystal library versions
+_LZ4= 96d714f7593c66ca7425872fd26c7b1286806d3d
+_MQTT= d01a1210ed7adfed9aa5cd055f1788a45d9c4d52
+
+# JavaScript library versions
+_CHARTJS= 4.0.1
+_ELEMENTS= 8.2.0
+_AMQP_CLIENT= 3.1.1
+_CHARTJS_ADAPTER= 1.3.1
+
MAINTAINER= dch@FreeBSD.org
COMMENT= Next-generation AMQP 0.9.1 based message broker
WWW= https://www.lavinmq.com/
@@ -16,13 +51,11 @@ BUILD_DEPENDS= crystal:lang/crystal \
USES= pkgconfig ssl:build
USE_GITHUB= yes
GH_ACCOUNT= cloudamqp
-GH_TUPLE= \
- 84codes:lz4.cr:6cc0d0096207821222317ee02ea23d5296ad4023:a/deps/lz4.cr \
+GH_TUPLE= 84codes:lz4.cr:${_LZ4}:a/deps/lz4.cr \
84codes:systemd.cr:v2.0.0:systemd/deps/systemd.cr \
- cloudamqp:amq-protocol.cr:v1.1.14:proto/deps/amq-protocol.cr \
- cloudamqp:amqp-client.cr:v1.2.3:client/deps/amqp-client.cr \
- luislavena:radix:v0.4.1:radix/deps/radix \
- tbrand:router.cr:v0.2.8:router/deps/router.cr
+ cloudamqp:amq-protocol.cr:v1.1.15:proto/deps/amq-protocol.cr \
+ cloudamqp:amqp-client.cr:v1.3.1:client/deps/amqp-client.cr \
+ 84codes:mqtt-protocol.cr:${_MQTT}:mqtt/deps/mqtt-protocol.cr
USE_RC_SUBR= lavinmq
@@ -39,7 +72,7 @@ SHARDS_ENV= --time --verbose --production --release --no-color --stats \
.include <bsd.port.options.mk>
.if ${SSL_DEFAULT:Mopenssl} || ${SSL_DEFAULT:Mopenssl3*}
-BROKEN= fails to compile: undefined symbol: EVP_MD_size
+BROKEN= fails to compile: undefined symbol: EVP_MD_size
.endif
post-extract:
@@ -58,6 +91,28 @@ post-extract:
-e 's,/tmp/lavinmq-http.sock,/var/run/lavinmq/http.sock,' \
-e 's,/tmp/lavinmq.sock,/var/run/lavinmq/amqp.sock,' \
${WRKSRC}/extras/lavinmq.ini
+# setup javaScript directories
+ ${MKDIR} ${WRKSRC}/static/js/lib \
+ ${WRKSRC}/static/js/lib/chunks
+# extract Chart.js files from tarball
+ ${TAR} -xOf ${DISTDIR}/chart.js-${_CHARTJS}.tgz package/dist/chart.js \
+ > ${WRKSRC}/static/js/lib/chart.js
+ ${TAR} -xOf ${DISTDIR}/chart.js-${_CHARTJS}.tgz package/dist/chunks/helpers.segment.js \
+ > ${WRKSRC}/static/js/lib/chunks/helpers.segment.js
+# copy AMQP WebSocket client files
+ ${CP} ${DISTDIR}/amqp-websocket-client.mjs ${WRKSRC}/static/js/lib/
+ ${CP} ${DISTDIR}/amqp-websocket-client.mjs.map ${WRKSRC}/static/js/lib/
+# copy luxon and Chart.js adapter
+ ${CP} ${DISTDIR}/luxon.js ${WRKSRC}/static/js/lib/
+ ${CP} ${DISTDIR}/chartjs-adapter-luxon.esm.js ${WRKSRC}/static/js/lib/
+ ${SED} -i '' \
+ -e "s|\(import { _adapters } from\).*|\1 './chart.js'|; s|\(import { DateTime } from\).*|\1 './luxon.js'|" \
+ ${WRKSRC}/static/js/lib/chartjs-adapter-luxon.esm.js
+# copy stoplight Elements files
+ ${CP} ${DISTDIR}/web-components.min.js ${WRKSRC}/static/js/lib/elements-${_ELEMENTS}.js
+ ${CP} ${DISTDIR}/styles.min.css ${WRKSRC}/static/js/lib/elements-${_ELEMENTS}.css
+# copy paho MQTT
+ ${CP} ${DISTDIR}/paho-mqtt.js ${WRKSRC}/static/js/lib/
do-build:
${MKDIR} ${WRKDIR}/man1
diff --git a/net/lavinmq/distinfo b/net/lavinmq/distinfo
index 9c0c5ecd0cd6..4a0fe5e3324e 100644
--- a/net/lavinmq/distinfo
+++ b/net/lavinmq/distinfo
@@ -1,15 +1,29 @@
-TIMESTAMP = 1718876848
-SHA256 (cloudamqp-lavinmq-v1.2.14_GH0.tar.gz) = cdf14de7c31a70e69e4f79d3a45622b6bd798ba7663209985e4e27b1e19a8ef9
-SIZE (cloudamqp-lavinmq-v1.2.14_GH0.tar.gz) = 413101
-SHA256 (84codes-lz4.cr-6cc0d0096207821222317ee02ea23d5296ad4023_GH0.tar.gz) = 2c6a79de1c5b488459a752c0b6e8d6b743dab9940cac1b113a37b06b8bf352fa
-SIZE (84codes-lz4.cr-6cc0d0096207821222317ee02ea23d5296ad4023_GH0.tar.gz) = 6710
+TIMESTAMP = 1748024362
+SHA256 (chart.js-4.0.1.tgz) = 461dae2edc0eda7beeb16c7030ab630ab5129aedd3fc6de9a036f6dfe488556f
+SIZE (chart.js-4.0.1.tgz) = 793292
+SHA256 (amqp-websocket-client.mjs) = a779d8417536e31e44eaceeef5ae745e5f0b95f16cf13a45e6ac5dcaadfd1c47
+SIZE (amqp-websocket-client.mjs) = 82795
+SHA256 (amqp-websocket-client.mjs.map) = 797db087b848af4427e5632d3205fb2ceede7379cb049a2b37c8d2d408b2eec9
+SIZE (amqp-websocket-client.mjs.map) = 86911
+SHA256 (luxon.js) = b83748173e228de065fae3256042d88ce656d6cabf6c4eedaa4703a8cf09a730
+SIZE (luxon.js) = 256400
+SHA256 (chartjs-adapter-luxon.esm.js) = fa02364f717191a48067215aaf9ff93b54ff52e2de64704270742e1d15d1b6df
+SIZE (chartjs-adapter-luxon.esm.js) = 2531
+SHA256 (web-components.min.js) = 598862da6d551769ebad9d61d4e3037535de573a13d3e0bd1ded4c5fc65c5885
+SIZE (web-components.min.js) = 1942514
+SHA256 (styles.min.css) = 119784e23ffc39b6fa3fdb3df93f391f8250e8af141b78dfc3b6bed86079f93b
+SIZE (styles.min.css) = 296065
+SHA256 (paho-mqtt.js) = a0c734a00a2172d579ca1ff4f92fb366bccb40974005bdad5ea7a2f0326ac158
+SIZE (paho-mqtt.js) = 90293
+SHA256 (cloudamqp-lavinmq-v2.3.0_GH0.tar.gz) = ff8d4f013de7c3b04298f967e1119935fca299d4580108c5fef7a27fcae54653
+SIZE (cloudamqp-lavinmq-v2.3.0_GH0.tar.gz) = 1076000
+SHA256 (84codes-lz4.cr-96d714f7593c66ca7425872fd26c7b1286806d3d_GH0.tar.gz) = 6a851169d1382a35aecff253d24f6acbaaa92b906a24b5edd903637bd212f380
+SIZE (84codes-lz4.cr-96d714f7593c66ca7425872fd26c7b1286806d3d_GH0.tar.gz) = 7298
SHA256 (84codes-systemd.cr-v2.0.0_GH0.tar.gz) = 4dd0c6f838542f97338866aef36de7b464c06112c4434e4db48aa65586b68ef3
SIZE (84codes-systemd.cr-v2.0.0_GH0.tar.gz) = 4339
-SHA256 (cloudamqp-amq-protocol.cr-v1.1.14_GH0.tar.gz) = 886fa823404fb2d548884f582809bf8129724b75fe2b2670109053d373251b88
-SIZE (cloudamqp-amq-protocol.cr-v1.1.14_GH0.tar.gz) = 17800
-SHA256 (cloudamqp-amqp-client.cr-v1.2.3_GH0.tar.gz) = cb249c1743e0d78a21d1816cb455d663449d9be0636ba976a4effa7f9ddfeee2
-SIZE (cloudamqp-amqp-client.cr-v1.2.3_GH0.tar.gz) = 22948
-SHA256 (luislavena-radix-v0.4.1_GH0.tar.gz) = 5f207eb769101d94726eb476eb5f9b4603482c7941396ab4c85866722b7497b1
-SIZE (luislavena-radix-v0.4.1_GH0.tar.gz) = 13847
-SHA256 (tbrand-router.cr-v0.2.8_GH0.tar.gz) = a64540dbd57bc2feba50a432b37d3647f4ab72ee16058746623f3f024b5f3f25
-SIZE (tbrand-router.cr-v0.2.8_GH0.tar.gz) = 5132
+SHA256 (cloudamqp-amq-protocol.cr-v1.1.15_GH0.tar.gz) = 2650924ad06f80a12d4f3eeaf800da45e7d74304289692a4b26576e5bfada85a
+SIZE (cloudamqp-amq-protocol.cr-v1.1.15_GH0.tar.gz) = 18077
+SHA256 (cloudamqp-amqp-client.cr-v1.3.1_GH0.tar.gz) = 2534b98bf64a17e075871f82fcf6bdee6d6d9dba5fc29472afe61bf6f1a5388e
+SIZE (cloudamqp-amqp-client.cr-v1.3.1_GH0.tar.gz) = 24043
+SHA256 (84codes-mqtt-protocol.cr-d01a1210ed7adfed9aa5cd055f1788a45d9c4d52_GH0.tar.gz) = dbb3484fb728854ddcd288bacb9629a01b912312f6b17dc336cd8c1700a9bc10
+SIZE (84codes-mqtt-protocol.cr-d01a1210ed7adfed9aa5cd055f1788a45d9c4d52_GH0.tar.gz) = 17147