summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: a762c290b88e61fdea56aad3842fe1e65e2352c0 (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
# Contributor: Maddie Zhan <maddie@emzee.be>
# Maintainer: Maddie Zhan <maddie@emzee.be>

pkgname=overture
pkgver=1.3.3
pkgrel=5
pkgdesc="A DNS upstream switcher written in Go in order to purify DNS records"
arch=("i686" "x86_64" "armv6h" "armv7h")
url="https://github.com/shawn1m/overture"
license=("MIT")
provides=("overture")
optdepends=("dnsmasq: advanced DNS configuration")
makedepends=("go>=1.7")
backup=("etc/overture/config.json" "etc/overture/hosts" "etc/overture/china_ip_list.txt" "etc/overture/gfwlist.txt")

install=${pkgname}.install

_gourl=github.com/shawn1m/${pkgname}
source=("git+https://github.com/shawn1m/${pkgname}.git#tag=$pkgver"
        "china_ip_list.txt"
        "config.json"
        "gfwlist.txt"
        "hosts"
        "overture.service")

sha256sums=("SKIP"
            "58e26e8037056729d27f37cd13852e13e9b9766146eaf0e736b6b0c00cdec279"
            "a9a7000c665583c84252d0c589eab0ea3ba13997d14e7ac097c3b227e165d0ee"
            "46c344510738143bd83057494273cf78095743070ad05d80a8d985098b2ff7ec"
            "02c82a9ffce44f1517b0b64380e11ea41d15812267a0fbff97221b5a6921df50"
            "9529e60a7963fd284ad2afb99d28803af90f16db99a1ba662ac5c7fd52903d3f")

_goroot="/usr/lib/go"

prepare() {
  export GOROOT=/usr/lib/go

  rm -rf build
  mkdir -p build/go
  cd build/go

  for f in "$GOROOT/"*; do
    ln -s "$f"
  done

  rm -rf pkg
  mkdir pkg
  cd pkg

  for f in "$GOROOT/pkg/"*; do
    ln -s "$f"
  done

  export GOROOT="$srcdir/build/go"
  export GOPATH="$srcdir/build"

  mkdir -p "$GOPATH/src/github.com/shawn1m"

  mv "$srcdir/$pkgname" $GOPATH/src/${_gourl}
}

build() {
  cd $GOPATH/src/${_gourl}
  go get ./...

  msg2 "Building overture"
  CGO_ENABLED=0 go build -ldflags="-w -s" -o $pkgname main/main.go
}

package() {
  # Binary
  install -Dm0755 "$srcdir/build/src/${_gourl}/$pkgname" "$pkgdir/usr/bin/$pkgname"

  # Config and other files
  install -Dm0644 "$srcdir/config.json" "$pkgdir/etc/overture/config.json"
  install -Dm0644 "$srcdir/china_ip_list.txt" "$pkgdir/etc/overture/china_ip_list.txt"
  install -Dm0644 "$srcdir/gfwlist.txt" "$pkgdir/etc/overture/gfwlist.txt"
  install -Dm0644 "$srcdir/hosts" "$pkgdir/etc/overture/hosts"

  # Service
  install -Dm0644 "$srcdir/$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service"

  # License
  install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$pkgname"
}