# Maintainer: Vladislav Nepogodin (vnepogodin) <vnepogodin@cachyos.org>
# Contributor: Nicola Revelant <nicolarevelant@outlook.com>
# Contributor: Luis Martinez <luis dot martinez at disroot dot org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Roman Vishnevsky <aka [dot] x0x01 [at] gmail [dot] com>
# Contributor: Erikas Rudinskas <erikmnkl@gmail.com>

pkgname=blocky
pkgver=0.34.0
pkgrel=1
pkgdesc="Fast and lightweight DNS proxy as ad-blocker"
arch=('x86_64')
url="https://github.com/0xERR0R/blocky"
license=('Apache-2.0')
depends=('glibc')
makedepends=('git' 'go')
backup=('etc/blocky/blocky.yml')
source=("$pkgname::git+$url.git#tag=v${pkgver}"
    'blocky.service'
    'blocky.sysusers'
    'blocky.yml'
)
b2sums=('0dd88df3d30d582aa2ab85cf16b8519bc0b3089877347982766477f8f57a3a3efdad72c07796151ebadfbf847dd778e0c54f22de2e3436f3e2c97befbd28f85e'
        '15786ea9006210df1e65dfe91e535a0cacaf57ff6c8068169cd5d09630d939a112dda0a4bdb0c963d0c3748472bf0656ea053227a56b972a3dc23ae2298d5fa4'
        '9641b73253d80a8f64fdd1c10a35ae7631e9eec8d2feda3214836af7634fc0d33d55a5b150912996b3380ef9242b17fbb2a847557b68bf5b657da68eb7d8321c'
        '6272d0f01cffdca26576034afd4f8e19e3404e7ec25273a60530fde7bb1757dc775f1d47fa32672b816570e44de6f6651608e6b66bdee768367646c5ac910795')

prepare() {
  cd "${pkgname}"
  export GOPATH="${srcdir}"
  go mod download -modcacherw
}

build() {
  cd "${pkgname}"
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"

  go build .
}

check() {
  cd "${pkgname}"
  # requires docker e2e environment running
  #go test ./...
}

package() {
  install -Dm 644 blocky.yml "$pkgdir"/etc/blocky/blocky.yml
  install -Dm 644 blocky.service "$pkgdir"/usr/lib/systemd/system/blocky.service
  install -Dm 644 blocky.sysusers "$pkgdir"/usr/lib/sysusers.d/blocky.conf

  cd "${pkgname}"
  install -Dm 755 blocky "$pkgdir"/usr/bin/blocky
  setcap CAP_NET_BIND_SERVICE=+ep "$pkgdir"/usr/bin/blocky
}
