summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: a76e5cdbf5d195d411f2832fa736e0479dc4a820 (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
# Contributor: Paul Mulders <justinkb at gmail dot com>
# Contributor: Jan-Erik Rediger <badboy at archlinux dot us>
# Maintainer: vcup <me@vcup.moe>

pkgname=sozu
pkgver=1.1.1
pkgrel=1
pkgdesc='Sōzu HTTP reverse proxy, configurable at runtime, fast and safe, built in Rust.'
arch=('i686' 'x86_64')
url='https://github.com/sozu-proxy/sozu'
license=('AGPL-3.0')
makedepends=('cargo' 'protobuf')
backup=('etc/sozu/config.toml')
source=(
  "${pkgname}-${pkgver}.tar.gz::https://github.com/sozu-proxy/sozu/archive/refs/tags/${pkgver}.tar.gz"
  'sysusers'
  'sozu.service'
  'sozu@.service'
)
sha512sums=('6bba3f635847030cf8eba7ab61b99bcbbd2327369da891a471ce52edb03429b7b918021196cfc543f2a54153681ce74533ccb4358043d8c06655dd0f142dd7c3'
            '7d21cdcb00632970bb379e2e4240110fad77c7475e18bbf9d7205e75dfbb4e79966ee083c814f0a08dc65cddf0ec2c537039e6356a2f8dc521da3f7ffcaf5054'
            'aaca9b4ef063313f9c77d3154b45c88b11ccc97b265d7d9957e0e99c78b8a5cae3e8516715ef4f73572db4ba28a5975e60ec90c8153a70478cbc6f0ff92debb4'
            '6c1e0dc797a94a5c9a4160b2a6949ad071d64eccf925a0b2b220f85fff1a54f42b253ca3c18c5c33d16b1ce31a32af011a284c7ad2004259bb423e21fa7f604d')
options=(!lto) # https://github.com/briansmith/ring/issues/1444#issuecomment-1813262575

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  cargo build --release --locked
}

package() {
  declare -A _files
  cd "${srcdir}/${pkgname}-${pkgver}"

  install -dm755 "${pkgdir}/etc/sozu/"{pkg,html}

  _files=(
    ["target/release/sozu"]="usr/bin/sozu:755:0:0"
    ["os-build/config.toml"]="etc/sozu/config.toml:644:0:0"
    ["lib/assets/certificate.pem"]="etc/sozu/pki/certificate.pem:644:0:0"
    ["lib/assets/key.pem"]="etc/sozu/pki/key.pem:644:0:0"
    ["lib/assets/certificate_chain.pem"]="etc/sozu/pki/certificate_chain.pem:644:0:0"
    ["${srcdir}/sysusers"]="usr/lib/sysusers.d/sozu.conf:644:0:0"
    ["${srcdir}/sozu.service"]="usr/lib/systemd/system/sozu.service:644:0:0"
    ["${srcdir}/sozu@.service"]="usr/lib/systemd/system/sozu@.service:644:0:0"
    ["LICENSE"]="usr/share/licenses/${pkgname}/LICENSE:644:0:0"
  )

  for source_file in "${!_files[@]}"; do
    target_file="$(cut -f 1 -d ':' <<< "${_files[$source_file]}")"
    mode="$(cut -f 2 -d ':' <<< "${_files[$source_file]}")"
    user="$(cut -f 3 -d ':' <<< "${_files[$source_file]}")"
    group="$(cut -f 4 -d ':' <<< "${_files[$source_file]}")"
    install -Dm "$mode" -o "$user" -g "$group" "${source_file}" "${pkgdir}/${target_file}"
  done
}