summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: edcf478f00b0c07854eade77ad52ba363c00d179 (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Maintainer: navigaid < navigaid@gmail.com >
# Maintainer: Wei Congrui < crvv.mail at gmail dot com >
# Maintainer: Carl George < arch at cgtx dot us >
# Contributor: Eric Engeström <eric at engestrom dot ch>
# Contributor: Andreas Linz <klingt.net at gmail dot com>

_gopkgname='github.com/caddyserver/caddy'
_forwardproxy_pkgname='github.com/caddyserver/forwardproxy'

# if you're building with gcc-go, then it'll fail to
# build some asm files needed by quic-go
if `pacman -Qq gcc-go >/dev/null 2>/dev/null`
then
	USING_GCCGO=y
	GOFLAGS="-gccgoflags -O2"
	depends=('gcc-libs')
	makedepends=('gcc-go>=9.1.0')
else
	makedepends=('go>=1.12')
fi

pkgname=caddy-with-quic
_pkgbase=caddy
pkgver=1.0.3
_forwardproxy_ver=1.0.1
pkgrel=1
pkgdesc='HTTP/2 Web Server with Automatic HTTPS, with forwardproxy plugin and quic support, works best with naiveproxy'
arch=('i686' 'x86_64' 'armv7h' 'aarch64')
url='https://github.com/klzgrad/naiveproxy/wiki/Caddy-with-QUIC'
license=('Apache')
backup=('etc/caddy/caddy.conf')
install='caddy.install'
provides=('caddy')
conflicts=('caddy')
source=("https://$_gopkgname/archive/v$pkgver/$_pkgbase-$pkgver.tar.gz"
	"https://$_forwardproxy_pkgname/archive/$_forwardproxy_ver.tar.gz"
	'https://caddyserver.com/resources/images/brand/caddy-at-your-service-white.svg'
	'index.html'
	'caddy.service'
	'caddy.tmpfiles'
	'caddy.conf'
	'plugins.patch')
sha256sums=('c1c7b337a5008d28c1956fd4f057104a78d0e24b74c30867cea988369b61fed3'
            '7df120d88633a545b5e31a90528611bd0267871f086f2fb00effaeb0c9499beb'
            'e679dd79fd92dc351fc190c7af529c73e3896986aaa6b7c0ae01e561398d6b85'
            '6db7aec45e95bbbf770ce4d120a60d8e4992d2262a8ebf668521179279aa5ae7'
            '69e25def317a6172011472bd060655142f3085a0c81392f8a7a9c42b6a58bbd9'
            'bd4d912d083be176727882ccc1bbe577a27cc160db09238e5edc05ba458aebce'
            '80520b80ccabf077a3269f6a1bf55faa3811ef5adce115131b35ef2044d37b64'
            '3bbd27ce67ec977544eb9980932bf8d1ad88da344cd7f6a25e0583893d14c9fd')

prepare() {
	export GO111MODULE=on
        pushd "$srcdir/$_pkgbase-$pkgver"
        patch -p0 -i "$srcdir/plugins.patch"
        # fix rewrite: rewrite the URI instead of just the path
        # https://github.com/mholt/caddy/issues/2129
        sed -i 's/URL.Path/URL.RequestURI()/g' caddyhttp/rewrite/rewrite.go
        if [ "$USING_GCCGO" == y ]
        then
        	patch -p1 -i "$srcdir/noquic_aesni.patch"
        fi
	go mod download
	go mod verify
	go mod vendor
	sed -i -e 's,len(path) == 0 || ,,g' ./vendor/github.com/lucas-clemente/quic-go/h2quic/request.go
}

build() {
	export GO111MODULE=on
	cd "$srcdir/$_pkgbase-$pkgver/caddy"
	go build -mod=vendor -v -o $srcdir/caddy $GOFLAGS $_gopkgname/caddy
}

package() {
	install -D -m 0755 caddy "$pkgdir/usr/bin/caddy"
	install -D -m 0644 caddy-at-your-service-white.svg "$pkgdir/usr/share/caddy/caddy-at-your-service-white.svg"
	install -D -m 0644 index.html "$pkgdir/usr/share/caddy/index.html"
	install -D -m 0644 caddy.service "$pkgdir/usr/lib/systemd/system/caddy.service"
	install -D -m 0644 caddy.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/caddy.conf"
	install -D -m 0644 caddy.conf "$pkgdir/etc/caddy/caddy.conf"
	install -d -m 0755 "$pkgdir/etc/caddy/caddy.conf.d"
}