vendor lavinmq build inputs
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
|
||||||
pkgname=lavinmq
|
pkgname=lavinmq
|
||||||
pkgver=2.10.0
|
pkgver=2.10.0
|
||||||
pkgrel=0
|
pkgrel=1
|
||||||
pkgdesc="High-performance AMQP and MQTT message queue server"
|
pkgdesc="High-performance AMQP and MQTT message queue server"
|
||||||
url="https://github.com/cloudamqp/lavinmq"
|
url="https://github.com/cloudamqp/lavinmq"
|
||||||
arch="x86_64"
|
arch="x86_64"
|
||||||
@@ -9,7 +9,6 @@ license="Apache-2.0"
|
|||||||
depends="ca-certificates /bin/sh"
|
depends="ca-certificates /bin/sh"
|
||||||
makedepends="
|
makedepends="
|
||||||
crystal=1.21.0-r0
|
crystal=1.21.0-r0
|
||||||
curl
|
|
||||||
gc-dev
|
gc-dev
|
||||||
help2man
|
help2man
|
||||||
libevent-dev
|
libevent-dev
|
||||||
@@ -29,15 +28,21 @@ subpackages="
|
|||||||
$pkgname-doc
|
$pkgname-doc
|
||||||
$pkgname-openrc:_openrc:noarch
|
$pkgname-openrc:_openrc:noarch
|
||||||
"
|
"
|
||||||
options="net"
|
|
||||||
source="
|
source="
|
||||||
$pkgname-$pkgver.tar.gz::https://github.com/cloudamqp/lavinmq/archive/refs/tags/v$pkgver.tar.gz
|
$pkgname-$pkgver.tar.gz::https://github.com/cloudamqp/lavinmq/archive/refs/tags/v$pkgver.tar.gz
|
||||||
|
$pkgname-$pkgver-shards.tar.gz
|
||||||
|
$pkgname-$pkgver-assets.tar.gz
|
||||||
lavinmq.confd
|
lavinmq.confd
|
||||||
lavinmq.initd
|
lavinmq.initd
|
||||||
|
use-vendored-build-inputs.patch
|
||||||
"
|
"
|
||||||
|
|
||||||
export CRYSTAL_CACHE_DIR="${CRYSTAL_CACHE_DIR:-$srcdir/crystal-cache}"
|
prepare() {
|
||||||
export SHARDS_CACHE_PATH="${SHARDS_CACHE_PATH:-$srcdir/shards-cache}"
|
default_prepare
|
||||||
|
tar -xzf "$srcdir/$pkgname-$pkgver-shards.tar.gz" -C "$builddir"
|
||||||
|
mkdir -p "$builddir/.alpine-assets"
|
||||||
|
tar -xzf "$srcdir/$pkgname-$pkgver-assets.tar.gz" -C "$builddir/.alpine-assets"
|
||||||
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
crystal --version
|
crystal --version
|
||||||
@@ -46,9 +51,7 @@ build() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check() {
|
check() {
|
||||||
bin/lavinmq -v
|
crystal spec spec/config_spec.cr
|
||||||
bin/lavinmqctl --version
|
|
||||||
bin/lavinmqperf --version
|
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
@@ -70,6 +73,9 @@ _openrc() {
|
|||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
b494892dada6eb713025bc3245e16035a63265805d77c537b4530226195f00dacab1fb14de5bf4c999165faa6bf2f7ef7c6b8ffb4c6f4a921977f1c13a4f1545 lavinmq-2.10.0.tar.gz
|
b494892dada6eb713025bc3245e16035a63265805d77c537b4530226195f00dacab1fb14de5bf4c999165faa6bf2f7ef7c6b8ffb4c6f4a921977f1c13a4f1545 lavinmq-2.10.0.tar.gz
|
||||||
|
d0dfdd5c0e474024f57deb9e31c76e3f176e798c8d21dea53d3aea1b05436bd03fa34e69ccddf322bc89adedce5f379df5a316cddbbdfe12520e5bf672ad8228 lavinmq-2.10.0-shards.tar.gz
|
||||||
|
ae3cea2534b211abbcbd1e4fcb6da73dfaf383a19aef1c45f367cba77492cc20a7ce8283fc42f26c0a023149114c369bed307fb8cde0b8f27fba61165092e986 lavinmq-2.10.0-assets.tar.gz
|
||||||
62a609d50f28db960098c4c84ce4f1dad78413366a9a9aca18fe321114d687be3bf7b71924d4ace69bd74383c5ac40d2ee09ae0eef9c1bfe653b97448e42e110 lavinmq.confd
|
62a609d50f28db960098c4c84ce4f1dad78413366a9a9aca18fe321114d687be3bf7b71924d4ace69bd74383c5ac40d2ee09ae0eef9c1bfe653b97448e42e110 lavinmq.confd
|
||||||
1853196e70297b5c4a2207fde50df735620cf6d99c4994644fd676bffaf863d67300ad7ae771c4bbb86fce1a0485c2a7968cf912c5f5bb878e08b15e5a28ba1b lavinmq.initd
|
1853196e70297b5c4a2207fde50df735620cf6d99c4994644fd676bffaf863d67300ad7ae771c4bbb86fce1a0485c2a7968cf912c5f5bb878e08b15e5a28ba1b lavinmq.initd
|
||||||
|
e7617099f745ecbf2f0686830d0a1b28044741ebd543798505b5b3c08f1be96b6cc478eb18f6785af49b100c2f49d837775f0721ac27519ddf3f081e681c581c use-vendored-build-inputs.patch
|
||||||
"
|
"
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
# LavinMQ Alpine Package
|
# LavinMQ Alpine Package
|
||||||
|
|
||||||
Builds LavinMQ from the upstream source release for `x86_64` and packages the
|
Builds LavinMQ from the upstream source release for `x86_64` and packages the
|
||||||
OpenRC service plus `/etc/lavinmq` defaults.
|
OpenRC service plus `/etc/lavinmq` defaults. The locked Shards dependencies and
|
||||||
|
frontend assets are versioned, checksummed source inputs, so the build does not
|
||||||
|
need network access.
|
||||||
|
|
||||||
Build command:
|
Build command:
|
||||||
|
|
||||||
@@ -9,7 +11,9 @@ Build command:
|
|||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
LavinMQ 2.9.2 requires Crystal 1.21.0. The package pins Alpine edge's native
|
Crystal package, avoiding a glibc toolchain in the Alpine musl build.
|
||||||
|
LavinMQ 2.10.0 requires Crystal 1.21.0. The package pins Alpine edge's native
|
||||||
|
Crystal package, avoiding a glibc toolchain in the Alpine musl build.
|
||||||
Crystal package, avoiding a glibc toolchain in the Alpine musl build.
|
Crystal package, avoiding a glibc toolchain in the Alpine musl build.
|
||||||
|
|
||||||
## Runtime Layout
|
## Runtime Layout
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,36 @@
|
|||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -8,0 +9 @@
|
||||||
|
+LAVINMQ_ASSET_DIR ?= .alpine-assets
|
||||||
|
@@ -55,2 +56,2 @@
|
||||||
|
-lib: shard.yml shard.lock
|
||||||
|
- shards install --production
|
||||||
|
+lib:
|
||||||
|
+ test -d lib
|
||||||
|
@@ -62,3 +63 @@
|
||||||
|
- curl --fail --retry 5 -sL https://github.com/chartjs/Chart.js/releases/download/v4.0.1/chart.js-4.0.1.tgz | \
|
||||||
|
- tar -zxOf- package/dist/chart.js > $@
|
||||||
|
- [ "038d0a4f9c61f0b35ff70f883e7591403a349542625a4caaf48caa141adedfd5 *$@" = "$$(openssl dgst -sha256 -r $@)" ]
|
||||||
|
+ install -Dm644 "$(LAVINMQ_ASSET_DIR)/chart.js" "$@"
|
||||||
|
@@ -67,3 +66 @@
|
||||||
|
- curl --fail --retry 5 -sL https://github.com/chartjs/Chart.js/releases/download/v4.0.1/chart.js-4.0.1.tgz | \
|
||||||
|
- tar -zxOf- package/dist/chunks/helpers.segment.js > $@
|
||||||
|
- [ "b4746b748fe583a18ef921e341b8b65166c2ebd0b737fde6527b254baaeb1aa1 *$@" = "$$(openssl dgst -sha256 -r $@)" ]
|
||||||
|
+ install -Dm644 "$(LAVINMQ_ASSET_DIR)/helpers.segment.js" "$@"
|
||||||
|
@@ -72,2 +69 @@
|
||||||
|
- curl --fail --retry 5 -sLo $@ https://moment.github.io/luxon/es6/luxon.mjs
|
||||||
|
- [ "b495ad5cabea3439d04387e6622f2c3fa81d319424d9d76d9e7f874ac5a0807a *$@" = "$$(openssl dgst -sha256 -r $@)" ]
|
||||||
|
+ install -Dm644 "$(LAVINMQ_ASSET_DIR)/luxon.js" "$@"
|
||||||
|
@@ -76,3 +72 @@
|
||||||
|
- curl --fail --retry 5 -sLo $@ https://cdn.jsdelivr.net/npm/chartjs-adapter-luxon@1.3.1/dist/chartjs-adapter-luxon.esm.js
|
||||||
|
- sed -i'' -e "s|\(import { _adapters } from\).*|\1 './chart.js'|; s|\(import { DateTime } from\).*|\1 './luxon.js'|" $@
|
||||||
|
- [ "17d7b6567d656a004f86b6b5cbdbe64cb308e9a2ebfa7675caa79ba0bc72ef91 *$@" = "$$(openssl dgst -sha256 -r $@)" ]
|
||||||
|
+ install -Dm644 "$(LAVINMQ_ASSET_DIR)/chartjs-adapter-luxon.esm.js" "$@"
|
||||||
|
@@ -81,2 +75 @@
|
||||||
|
- curl --fail --retry 5 -sLo $@ https://unpkg.com/@stoplight/elements@8.2.0/web-components.min.js
|
||||||
|
- [ "598862da6d551769ebad9d61d4e3037535de573a13d3e0bd1ded4c5fc65c5885 *$@" = "$$(openssl dgst -sha256 -r $@)" ]
|
||||||
|
+ install -Dm644 "$(LAVINMQ_ASSET_DIR)/elements-8.2.0.js" "$@"
|
||||||
|
@@ -85,2 +78 @@
|
||||||
|
- curl --fail --retry 5 -sLo $@ https://unpkg.com/@stoplight/elements@8.2.0/styles.min.css
|
||||||
|
- [ "119784e23ffc39b6fa3fdb3df93f391f8250e8af141b78dfc3b6bed86079f93b *$@" = "$$(openssl dgst -sha256 -r $@)" ]
|
||||||
|
+ install -Dm644 "$(LAVINMQ_ASSET_DIR)/elements-8.2.0.css" "$@"
|
||||||
Reference in New Issue
Block a user