summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 1ec21b90200ec24d4ed605f67f3c63897fb28b36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Maintainer: Einar Arnason einsiarna@gmail.com

ORG_NAME=emqx
REPO_NAME=emqx
LATEST_INFO="$(curl -s https://api.github.com/repos/${ORG_NAME}/${REPO_NAME}/releases/latest)"
TAG=$(echo "$LATEST_INFO" | grep "tag_name" | cut -d'"' -f4)

pkgname=$REPO_NAME-git
pkgver="${TAG//v/}"
pkgrel=1
pkgdesc="EMQX, a distributed, massively scalable, highly extensible MQTT message broker."
arch=('x86_64')
url="https://github.com/$ORG_NAME/$REPO_NAME"
license=('APACHE')
backup=("etc/emqx/emqx.conf")
provides=("$REPO_NAME" "$REPO_NAME-git")
conflicts=("$REPO_NAME" "$REPO_NAME-bin")
source=(
    "git+https://github.com/$ORG_NAME/$REPO_NAME.git"
)
sha256sums=(
    'SKIP'
)
depends=(coreutils ncurses zlib)
makedepends=(
    cmake
    coreutils
    git
    unzip
)
optdepends=()
install=$REPO_NAME.install
options=()

pkgver() {
    echo "${TAG//v/}"
}

prepare() {
    cd "$srcdir/$REPO_NAME" || exit
    git checkout "$TAG"
}

build() {
    cd "$srcdir/$REPO_NAME" || exit
    BUILD_WITHOUT_JQ=false make
}

package() {
    install -d "$pkgdir"/usr/lib/emqx/bin
    install -d "$pkgdir"/usr/lib/emqx/plugins
    install -d "$pkgdir"/usr/lib/emqx/releases
    install -d "$pkgdir"/etc/emqx
    install -d "$pkgdir"/var/lib/emqx
    install -d "$pkgdir"/var/log/emqx

    local buildDir="$srcdir"/emqx/_build/emqx/rel/emqx
    touch "$pkgdir"/usr/lib/emqx/plugins/.keep
    find "$buildDir"/bin/ -type f -exec install -D -m 755 {} "$pkgdir/usr/lib/emqx/bin/$(basename "$1")" \;
    find "$buildDir"/etc/ -type f -exec install -D -m 644 {} "$pkgdir/etc/emqx/$(basename "$1")" \;
    find "$buildDir"/data/ -type f -exec install -D -m 644 {} "$pkgdir/var/lib/emqx/$(basename "$1")" \;
    find "$buildDir"/lib/ -type f -exec install -D -m 644 {} "$pkgdir/usr/lib/emqx/$(basename "$1")" \;
    find "$buildDir"/releases/ -type f -exec install -D -m 644 {} "$pkgdir/usr/lib/emqx/$(basename "$1")" \;
    find "$buildDir"/erts*/ -type f -exec install -D -m 644 {} "$pkgdir/usr/lib/emqx/$(basename "$(dirname "$1")")/$(basename "$1")" \;
    install -D -m 644 "$srcdir"/emqx/deploy/packages/emqx.service "$pkgdir"/usr/lib/systemd/system/emqx.service
}