summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: 5d7571c16c932b6d8ab84a4f5cd6f6436c6cd461 (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
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (Arch): David Runge <dvzrv@archlinux.org>
# Contributor (Arch): Felix Yan <felixonmars@archlinux.org>
# Contributor (Arch): Techlive Zheng <techlivezheng at gmail dot com>
# Contributor (Arch): peace4all <markspost at rocketmail dot com>

# # I maintain this because:
# Artix version has a sysuser name I do not like
# Artix version has less than preferred default lists
# Artix version has 1.x migration notice

pkgname=dnscrypt-proxy
pkgver=2.0.38
pkgrel=1
pkgdesc="DNS proxy, supporting encrypted DNS protocols such as DNSCrypt v2 and DNS-over-HTTPS"
arch=('x86_64')
url="https://dnscrypt.info"
license=('custom:ISC')
depends=('glibc')
makedepends=('go-pie')
optdepends=('python-urllib3: for generate-domains-blacklist')
backup=("etc/${pkgname}/${pkgname}.toml"
        "etc/${pkgname}/blacklist.txt"
        "etc/${pkgname}/cloaking-rules.txt"
        "etc/${pkgname}/forwarding-rules.txt"
        "etc/${pkgname}/ip-blacklist.txt"
        "etc/${pkgname}/whitelist.txt"
)
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/jedisct1/${pkgname}/archive/${pkgver}.tar.gz"
        "${pkgname}.sysusers"
        "${pkgname}.tmpfiles"
        'configuration.diff'
        'blacklist.txt'
        'cloaking-rules.txt'
        'ip-blacklist.txt'
        'whitelist.txt')
b2sums=('6dd4e3a0056a7a687335fcf6f15d8dccd9088c0cb44fa8f44be65a25290e0cbbde5b122cf43a2488311ab6b65511a9311b16434bdd31df1dbed0c2dd89e224b1'
        '96acec13d773b80835ed936d8fe585d1843c67a2e70082b9f05e27fd989ace68083d74eec6088a99ca95c19b0f1c52d625197b6ece25c3e8ddac37d7e3d55b5e'
        '58920d0366de701e03e32bca188b2842e94e0d641eee264e21124338a648b5da7901ff8fde69e85a5945ccf931380796108b1234128c1ea8956c757e706d9147'
        'c2f59408c728733687e4bf464cb48abb18991e902c87f98a2119a0ccc68182cc4a32695740d8841343f1672bd17d0fc68730ebe12473f58041b49c0eb92a4d51'
        'b691146f2746844bdb79f0c67c565bbce23b978dcb613b9d1ca1d8f62efbbf7d02b3cc442ec0de298cc5f6292823442187dd7efc26b73ff1002edbe9c5f2b8a1'
        'c3b2381b1ee3ca77818eec49a564c6f907c178a3ec76f6bbb5bcfa6707b6f6a9f2a7e44be4c8be9db5984de1558bb006efa6e263d48d4d0303abd721e22d63a1'
        'c79c1962c253439052ce8cbdaeeebde4c0f5ff01d93dafef8774a1526ad23c59ab603b14ec1ef56d52f88fd0007c60ad7a54b813b3d0a92b325c00a3d28dcd1f'
        'f51984895e1aea7622d9bceb18dfbf88eeba4b215270afc00981526a0a54fc172097ba3333b389b033c8b5c93167f25d0734b3d9bd39efd442432ad5ea47d7e8')

prepare() {
  cd "$pkgname-$pkgver"
  patch -Np1 -i ../configuration.diff
  # create empty ip-blacklist.txt
  touch "${pkgname}/ip-blacklist.txt"
  # symlink upstream's vendor to src
  ln -sfv vendor src
  rm -v go.mod
}

build() {
  cd "$pkgname-$pkgver"
  # set GOPATH
  export GOPATH=$(pwd)
  cd "${pkgname}"
  go build -ldflags="-linkmode external -extldflags ${LDFLAGS} -s -w"
}

package() {
  cd $pkgname-$pkgver
  # executable
  install -vDm 755 "${pkgname}/${pkgname}" -t "${pkgdir}/usr/bin/"
  # configuration
  install -vDm 644 "${pkgname}/example-${pkgname}.toml" \
    "${pkgdir}/etc/${pkgname}/${pkgname}.toml"
  install -vDm 644 "${srcdir}/blacklist.txt" \
    "${pkgdir}/etc/${pkgname}/blacklist.txt"
  install -vDm 644 "${srcdir}/cloaking-rules.txt" \
    "${pkgdir}/etc/${pkgname}/cloaking-rules.txt"
  install -vDm 644 "${pkgname}/example-forwarding-rules.txt" \
    "${pkgdir}/etc/${pkgname}/forwarding-rules.txt"
  install -vDm 644 "${srcdir}/ip-blacklist.txt" \
    "${pkgdir}/etc/${pkgname}/ip-blacklist.txt"
  install -vDm 644 "${srcdir}/whitelist.txt" \
    "${pkgdir}/etc/${pkgname}/whitelist.txt"
  # utils
  install -vDm 644 utils/generate-domains-blacklists/*.{conf,txt} \
    -t "${pkgdir}/usr/share/${pkgname}/utils/generate-domains-blacklists"
  install -vDm 755 utils/generate-domains-blacklists/generate-domains-blacklist.py \
    "${pkgdir}/usr/bin/generate-domains-blacklist"
  # sysusers.d
  install -vDm 644 "${srcdir}/${pkgname}.sysusers" \
    "$pkgdir/usr/lib/sysusers.d/${pkgname}.conf"
  # tmpfiles.d
  install -vDm 644 "${srcdir}/${pkgname}.tmpfiles" \
    "$pkgdir/usr/lib/tmpfiles.d/${pkgname}.conf"
  # license
  install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
  # docs
  install -vDm 644 {ChangeLog,README.md} \
    -t "${pkgdir}/usr/share/doc/${pkgname}"
}