summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 4ddda9f34583b5aead556363545a6ccffb541eb4 (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
# Maintainer: xiretza <aur@xiretza.xyz>
# Contributor: Bjoern Franke <bjo+aur@schafweide.org>
# Contributor: Till Faelligen <tfaelligen at gmail dot com>
_pkgname='grapevine'
pkgname="$_pkgname-git"
epoch=1
pkgver=r2774.4cc3903
pkgrel=1
arch=('x86_64' 'armv6h' 'armv7h' 'aarch64')
url='https://gitlab.computer.surgery/matrix/grapevine'
pkgdesc='A matrix homeserver originally forked from Conduit'
license=('Apache-2.0')
depends=('gcc-libs')
makedepends=('rust' 'cargo' 'git' 'clang')
provides=("$_pkgname=$pkgver")
source=(
  "$_pkgname::git+$url.git"
  "$_pkgname.service"
  "$_pkgname-example.toml"
)
backup=(
  "etc/$_pkgname/$_pkgname.toml"
)
sha256sums=('SKIP'
            '07bcf3b52875c2fad1dcbe58dd77d95cf5a5ce98274afe293bb1fadc182157db'
            '478302f2c5ae380614eac601a8e26cd9de7f1aa443b7f6b095b9e9e98049d8d8')
options=(!lto) # lto breaks linking with vendored dependencies (ring, zstd, rocksdb) due to unresolved symbols

prepare() {
  cd "$_pkgname"

  export RUSTUP_TOOLCHAIN=stable
  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}

pkgver() {
  cd "$_pkgname"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}

check() {
  cd "$_pkgname"

  export RUSTUP_TOOLCHAIN=stable
  cargo test --frozen
}

build(){
  cd "$_pkgname"
  export RUSTUP_TOOLCHAIN=stable
  export CARGO_TARGET_DIR=target
  export GRAPEVINE_VERSION_EXTRA=$(git rev-parse --short HEAD)
  cargo build --frozen --release
}

package() {
  install -Dm644 "$_pkgname.service" "$pkgdir/usr/lib/systemd/system/$_pkgname.service"

  cd "$_pkgname"
  install -D -m755 "target/release/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
  install -D -m0644 "$_pkgname-example.toml" "$pkgdir/etc/$_pkgname/$_pkgname-example.toml"
}

# vim: set et ts=2: