summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: aea7c491fa6714267238bde5be38f1fbf10a3419 (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.33
pkgrel=2
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')
sha512sums=('5c6eb655aa70457889253cbf630e7e37011a461a7f181f0a667694d53146ad9dee88bbbf80c7db3187bba0054af2a63b7b5be1a229800b2566a9758e9d047429'
            'e302ea9b5556ba6e0342ebecbf6b55b68a8ad4e472f1790751074232fd5a478e643d2d94f7e12675b551b0849c83ad21b29cc3ea746d89fcdce1e9d5c59da1b2'
            '1b89196341ae21f39efc46d2adc3d3458292d00f12cc4dc8d7e55b5e70856e6f8ed5f13ace76ae9b958b6eee5700f1df9cc07d828744349fa4ae0f41b382ef97'
            '456a81906c9713f7b9bdc6e152d3688899da6f760758fce91a9c625da3d7286bf0fd1d54419a57aa5ec1d9d50e1d2db32b6d5f36c2f265e227dc7e8eef65cfdd'
            '8e09f315f35bf8d0b0cd26c33226f995a894577aab840172779a9d8bd19b4bf0c12e360d89ada2e462520883045f365c8f57481118a3295561a07816e86d8262'
            'fa12d8f93d2e2d52732104d2c88610c849fcde54f6dde38a24b7f539a1af10919aed0a1dcc2736be7b4ed2ee141ca3da0cc9998f2ccac48649269d13d6ccfffa'
            '4ef94b24ba77918065366e62dffd7fed8116fac863bd697133fdac8d7538d2d71aa2417ebc9ed49e9835267e82fae4e6fc164cb93cdb1647c36b91ecf61216d3'
            '7a723fc87d8aaa62ee7bb467e1cf3d75e5ad248fb574881b47f4f5555d56535a657f104dc51679ca9a3cbd7fc59bc92e9cf93b548c45e458c40f070d2825822a')

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}"
}