# Maintainer: Ariel AxionL <i at axionl dot me>
pkgname=maddy
pkgver=0.9.5
pkgrel=1
pkgdesc='Composable all-in-one mail server'
arch=('x86_64')
url="https://github.com/foxcpp/maddy"
license=('GPL-3.0-or-later')
depends=('glibc' 'pam')
makedepends=('go' 'git' 'scdoc')
options=('!lto')
backup=("etc/maddy/maddy.conf")
provides=("maddy" "maddyctl" "maddy-pam-helper" "maddy-shadow-helper")
source=("https://github.com/foxcpp/maddy/releases/download/v${pkgver}/${pkgname}-${pkgver}-src.tar.zst"{,.sig}
    "maddy.sysusers"
    "maddy.tmpfiles"
    "maddy.service"
    "maddy@.service")

b2sums=('cbe6d4b9aa369b0a3a60306b5b6f2be583bb9124c85b173542e11d06c418362aeef3d706be8704f4c6053b5d9e115b2d2560d6302dccc1ae9350f351a0ea9493'
        'SKIP'
        '2e081425075312f12f3e0a82906016787b195426fa1bd7b664e3eef020407a10fa791ce6af8db30f86c72f0b2b4784c151e1d687c6705d110f965e0dd3d154ac'
        '44fa4cc5ccd034b939a5800ea3745652500457914470f93374bf4304cd19e5fd5e315b651d5647fa48d570f3880c8a609deddbbdf63a8c9d6432e79dd4e310a5'
        '3e41339a743e37b2b7f531138360b3c9b47917af1a366deddce92147b2f729c4c6f7fea987c9d8b86e3a3c35a18f76d8e8d05a72df3cdd6dd76759b17ac006d3'
        'a3a03913b7295e425e7d7d8f4134de517c73981205bc460e249e2bb4c760a40e984e3a82833967bb312cf6f44665646a966206fe1184bcfaefd4c08a8658cf1b')

validpgpkeys=("3197BBD95137E682A59717B434BB2007081396F4")

prepare(){
  mkdir -p "gopath"
  cd "${pkgname}-${pkgver}-src"
  mkdir -p "build"
}

build() {
  export GOPATH="${srcdir}/gopath"
  chmod -R +w ${GOPATH}

  cd "${pkgname}-${pkgver}-src"
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
  go build -ldflags "-extldflags '${LDFLAGS}' -s -w -X github.com/foxcpp/maddy.Version=${pkgver}" -x -o build ./cmd/...
}

check() {
  cd "${pkgname}-${pkgver}-src"
  # go test ./...
}

package() {
  install -Dm644 "${srcdir}/maddy.sysusers" "${pkgdir}/usr/lib/sysusers.d/maddy.conf"
  install -Dm644 "${srcdir}/maddy.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/maddy.conf"
  install -Dm644 "${srcdir}/maddy.service" -t "${pkgdir}/usr/lib/systemd/system/"
  install -Dm644 "${srcdir}/maddy@.service" -t "${pkgdir}/usr/lib/systemd/system/"

  cd "${pkgname}-${pkgver}-src"

  local targets=("maddy" "maddy-pam-helper" "maddy-shadow-helper")
  for _binary in "${targets[@]}"; do
    install -Dm755 "build/${_binary}" -t "${pkgdir}/usr/bin/"
  done

  ln -s /usr/bin/maddy "${pkgdir}/usr/bin/maddyctl"

  install -Dm644 "docs/man/maddy.1.scd" "${pkgdir}/usr/share/man/man1/maddy.1"
  install -Dm600 "maddy.conf" -t "${pkgdir}/etc/maddy/"
}

# vim:set ts=2 sw=2 et:
