1_pkgname=knotserver
2pkgname=${_pkgname}-git
3pkgdesc='git collaboration platform built on ATproto'
4pkgver=1.9.1.alpha.r48.g8f7177a
5pkgrel=1
6license=(MIT)
7arch=(x86_64)
8url=https://tangled.org/@tangled.org/core
9depends=(git)
10conflicts=(knotserver)
11makedepends=(go)
12options=(strip)
13install=${_pkgname}.install
14source=("tangled::git+$url"
15 ${_pkgname}.service
16 ${_pkgname}-sshd.conf
17 ${_pkgname}-tmpfiles.conf)
18sha256sums=('SKIP'
19 '91bf996bc8ea97a6c4bcd0ebf5ab2f341bb1f6fa6da0190c9ff95c4debb217f8'
20 '825ad80eccdfc473674cab83e4bd63d0e3b129d600b4628803d8241430da5bf8'
21 '21accf6d6d6c9fb545f801cb0a6d98271f7205e504249cc7fdff53ba83203394')
22
23pkgver() {
24 cd ${srcdir}/tangled
25 git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
26}
27
28build() {
29 mkdir -p ${srcdir}/build
30
31 export CGO_ENABLED=1
32 export CGO_CPPFLAGS="${CPPFLAGS}"
33 export CGO_CFLAGS="${CFLAGS}"
34 export CGO_CXXFLAGS="${CXXFLAGS}"
35 export CGO_LDFLAGS="${LDFLAGS}"
36 export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
37
38 cd ${srcdir}/tangled
39 go build -ldflags "-X tangled.org/core/knotserver/xrpc.version=${pkgver}" -o "${srcdir}/build/knot" ./cmd/knot
40}
41
42package() {
43 install -Dm644 "${srcdir}/${_pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${_pkgname}.service"
44 install -Dm644 "${srcdir}/${_pkgname}-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/${_pkgname}.conf"
45 install -Dm644 "${srcdir}/${_pkgname}-sshd.conf" "${pkgdir}/usr/lib/systemd/sshd_config.d/${_pkgname}.conf"
46 install -Dm755 "${srcdir}/build/knot" "${pkgdir}/usr/bin/knot"
47 install -Dm644 "${srcdir}/tangled/license" "${pkgdir}/usr/share/licenses/tangled/knotserver.LICENSE"
48}