blob: c0d1942245894f75485631c930f44411c0e71b33 (
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# Maintainer: Carl George < arch at cgtx dot us >
_provider=github
_tld=com
_project=mholt
_repo=caddy
_import="$_provider.$_tld/$_project/$_repo"
pkgname=caddy
pkgver=0.10.4
pkgrel=2
pkgdesc='HTTP/2 Web Server with Automatic HTTPS'
arch=('i686' 'x86_64' 'armv7h' 'aarch64')
url='https://caddyserver.com'
license=('Apache')
backup=('etc/caddy/caddy.conf')
install='caddy.install'
makedepends=('go>=1.8.1' 'git')
source=("https://$_import/archive/v$pkgver/$_repo-$pkgver.tar.gz"
'https://caddyserver.com/resources/images/brand/caddy-at-your-service-white.svg'
'index.html'
'caddy.service'
'caddy.tmpfiles'
'caddy.conf'
'plugins.go')
sha256sums=('411e6bf10520e938712887a31f2132bfd19e2c79543e7aef158f7c77d03ae2bf'
'e679dd79fd92dc351fc190c7af529c73e3896986aaa6b7c0ae01e561398d6b85'
'6db7aec45e95bbbf770ce4d120a60d8e4992d2262a8ebf668521179279aa5ae7'
'69e25def317a6172011472bd060655142f3085a0c81392f8a7a9c42b6a58bbd9'
'bd4d912d083be176727882ccc1bbe577a27cc160db09238e5edc05ba458aebce'
'80520b80ccabf077a3269f6a1bf55faa3811ef5adce115131b35ef2044d37b64'
'f5a0fbb961e7c9ecf99e88d0959a3164cbea54660c1c08c3ba3cdf1d45563929')
patch_plugins() {
IFS=''
n=0
while read -r line; do
echo "$line"
if [[ $line =~ ^import && $n = 0 ]]; then
go run $srcdir/plugins.go "${plugins[@]}"
n=1
fi
done
}
prepare() {
cd $_repo-$pkgver
mkdir -p src/$_provider.$_tld/$_project
ln -s ../../.. src/$_import
}
build() {
cd $_repo-$pkgver
export GOPATH=$(pwd)
cd $GOPATH/src/$_import/caddy/caddymain/
if [ ${#plugins[@]} -gt 0 ]; then
echo enable plugins ${plugins[@]}
patch_plugins < run.go > run1.go
mv run1.go run.go
go get -v -d $_import/caddy/caddymain
fi
cd $GOPATH
go build -v -o ../caddy -ldflags "-X $_import/caddy/caddymain.gitTag=v$pkgver" $_import/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"
}
plugins=(
# 'dns'
# 'hook.pluginloader'
# 'hook.service'
# 'http.authz'
# 'http.awslambda'
# 'http.cgi'
# 'http.cors'
# 'http.datadog'
# 'http.expires'
# 'http.filemanager'
# 'http.filter'
# 'http.git'
# 'http.grpc'
# 'http.hugo'
# 'http.ipfilter'
# 'http.jwt'
# 'http.login'
# 'http.mailout'
# 'http.minify'
# 'http.prometheus'
# 'http.proxyprotocol'
# 'http.ratelimit'
# 'http.realip'
# 'http.reauth'
# 'http.upload'
# 'net'
# 'tls.dns.cloudflare'
# 'tls.dns.digitalocean'
# 'tls.dns.dnsimple'
# 'tls.dns.dnspod'
# 'tls.dns.dyn'
# 'tls.dns.exoscale'
# 'tls.dns.gandi'
# 'tls.dns.googlecloud'
# 'tls.dns.linode'
# 'tls.dns.namecheap'
# 'tls.dns.ovh'
# 'tls.dns.rackspace'
# 'tls.dns.rfc2136'
# 'tls.dns.route53'
# 'tls.dns.vultr'
)
|