summaryrefslogtreecommitdiff
path: root/pcr/acmetool/PKGBUILD
blob: 7aa453789a8151688ead44d50b452a15895edfad (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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# Maintainer: Luke Shumaker <lukeshu@parabola.nu>

pkgname=acmetool
pkgver=0.0.51
url=https://github.com/hlandau/acme
pkgdesc="Automatic certificate acquisition tool for ACME (Let's Encrypt)"

pkgrel=1
arch=(x86_64 i686)
depends=(libcap)
makedepends=(go)

_source=(
  #import-path                      license    version download-spec
  "github.com/hlandau/acme          MIT        $pkgver %n-%v.tar.gz::https://github.com/hlandau/%n/archive/v%v.tar.gz"

  'github.com/coreos/go-systemd     Apache     6       %n-%v.tar.gz::https://github.com/coreos/%n/archive/v%v.tar.gz' # master~5
  'github.com/godbus/dbus           BSD2       4.0.0   %n-%v.tar.gz::https://github.com/godbus/%n/archive/v%v.tar.gz' # master~5
  'github.com/hlandau/xlog          MIT        1.0.0   %n-%v.tar.gz::https://github.com/hlandau/%n/archive/v%v.tar.gz'
  'github.com/jmhodges/clock        MIT        1.0     %n-%v.tar.gz::https://github.com/jmhodges/%n/archive/v%v.tar.gz' # master~4
  'github.com/ogier/pflag           BSD3       0.0.1   %n-%v.tar.gz::https://github.com/ogier/%n/archive/v%v.tar.gz' # master~7
  'github.com/peterhellberg/link    MIT        1.0.0   %n-%v.tar.gz::https://github.com/peterhellberg/%n/archive/v%v.tar.gz'
  'github.com/satori/go.uuid        MIT        1.0.0   %n-%v.tar.gz::https://github.com/satori/%n/archive/v%v.tar.gz'
  'gopkg.in/alecthomas/kingpin.v2   MIT        2.1.11  %n-%v.tar.gz::https://github.com/alecthomas/%n/archive/v%v.tar.gz'
  'gopkg.in/cheggaaa/pb.v1          BSD3       1.0.3   %n-%v.tar.gz::https://github.com/cheggaaa/%n/archive/v%v.tar.gz'
  'gopkg.in/hlandau/configurable.v1 MIT        1.0.1   %n-%v.tar.gz::https://github.com/hlandau/%n/archive/v%v.tar.gz'
  'gopkg.in/hlandau/easyconfig.v1   MIT        1.0.14  %n-%v.tar.gz::https://github.com/hlandau/%n/archive/v%v.tar.gz'
  'gopkg.in/hlandau/service.v2      ISC        2.0.15  %n-%v.tar.gz::https://github.com/hlandau/%n/archive/v%v.tar.gz'
  'gopkg.in/hlandau/svcutils.v1     MIT,Apache 1.0.7   %n-%v.tar.gz::https://github.com/hlandau/%n/archive/v%v.tar.gz'
  'gopkg.in/square/go-jose.v1       Apache     1.0.2   %n-%v.tar.gz::https://github.com/square/%n/archive/v%v.tar.gz'
  'gopkg.in/tylerb/graceful.v1      MIT        1.2.5   %n-%v.tar.gz::https://github.com/tylerb/%n/archive/v%v.tar.gz'

  'github.com/alecthomas/template   BSD3      a0175ee3bccc567396460bf5acd36800cb10c49c %n-%v.tar.gz::https://github.com/alecthomas/%n/archive/%v.tar.gz'
  'github.com/alecthomas/units      MIT       2efee857e7cfd4f3d0138cc3cbb1b4966962b93a %n-%v.tar.gz::https://github.com/alecthomas/%n/archive/%v.tar.gz'
  'github.com/hlandau/degoutils     MIT       389a84765529fb80bf6fff3cdcdf814cbc42ee47 %n-%v.tar.gz::https://github.com/hlandau/%n/archive/%v.tar.gz'
  'github.com/hlandauf/gspt         MIT       25f3bd3f5948489aa5f31c949310ae9f2b0e956c %n-%v.tar.gz::https://github.com/hlandauf/%n/archive/%v.tar.gz'
  'github.com/mattn/go-isatty       MIT       56b76bdf51f7708750eac80fa38b952bb9f32639 %n-%v.tar.gz::https://github.com/mattn/%n/archive/%v.tar.gz'
  'github.com/mitchellh/go-wordwrap MIT       ad45545899c7b13c020ea92b2072220eefad42b8 %n-%v.tar.gz::https://github.com/mitchellh/%n/archive/%v.tar.gz'
  'github.com/shiena/ansicolor      MIT       a422bbe96644373c5753384a59d678f7d261ff10 %n-%v.tar.gz::https://github.com/shiena/%n/archive/%v.tar.gz'
  'golang.org/x/crypto              BSD3      5bcd134fee4dd1475da17714aac19c0aa0142e2f %n-%v.tar.gz::https://github.com/golang/%n/archive/%v.tar.gz'
  'golang.org/x/net                 BSD3      0c607074acd38c5f23d1344dfe74c977464d1257 %n-%v.tar.gz::https://github.com/golang/%n/archive/%v.tar.gz'
  'gopkg.in/yaml.v2                 MIT,LGPL3 a83829b6f1293c91addabc89d0571c246397bbf4 %n-%v.tar.gz::https://github.com/go-yaml/%n/archive/%v.tar.gz'
)
license=($(
  for spec in "${_source[@]}"; do
    read import lic ver dlspec <<<"$spec"
    printf '%s\n' ${lic//,/ }
  done | sort -u
))
source=($(
  for spec in "${_source[@]}"; do
    read import lic ver dlspec <<<"$spec"
    name=${import##*/}
    name=${name%%.v*}
    dlspec=${dlspec//%v/$ver}
    dlspec=${dlspec//%n/$name}
    echo "${dlspec}"
  done
))
md5sums=('faa334178c2d410761826db50aa830ee'
         '6644085da9ae245a41026379e8631a9c'
         '23075bbed798cd3595fa3f13abf0a855'
         'd15021ff2511e28417c4c0891c15a595'
         '3740f33ada637ade0a2be702b6079c26'
         '5f723bcbcf087db25c8f4632c284b8f7'
         'a100c218269357217b8619e5acff83e6'
         'b8446830f46c3253d9d59d79cae35a42'
         '50ba53846f917bc2d7dbde289d257891'
         'e1e375f2bed8df78d0f39dfb224ac137'
         'b08b85ab86aa2bc685b0345f60709db3'
         'c2565474cb007f1952be9c066ccfa286'
         '429d0652cb564b90691ee2be617c514b'
         'a364243349d387c8a639f9b44db7b6e8'
         'a2bdbf2c9ec7c0c70aedc85dfdbb8b33'
         '91adf3962839df852ea8938ddc64c74c'
         '46654457851ef6e7f795df572a710fb5'
         'fef2a852aab48bbfd89cd872b315ce11'
         '11651a53b4e33190c230e12d9af41d1a'
         '5112b44c1dce49d44059c5fd20689aa6'
         'eaed246cf927a4aa2cd2c01959ccd632'
         '123bc1f8f3dc842fc1dfccf65e4ffe6b'
         '4f1ce87e11abc3da157a380bce08a256'
         'e7b9d7a2285341c4b9a04a0591541968'
         'c3149e2e6d121cd0776f08703b2350ff'
         'ed07a5ae129a7203d7f5c1d68472d394')

prepare() {
  cd "$srcdir"
  local spec import ver dlspec name tarname
  for spec in "${_source[@]}"; do
    read import lic ver dlspec <<<"$spec"
    name=${import##*/}
    name=${name%%.v*}
    dlspec=${dlspec//%v/$ver}
    dlspec=${dlspec//%n/$name}
    tarname="$(get_filename "${dlspec}")"
    mkdir -p "$(dirname "gopath/src/$import")"
    ln -srTf "${tarname%.tar.gz}" "gopath/src/$import"
  done
}

build() {
  cd "$srcdir/gopath"
  GOPATH=$PWD go install github.com/hlandau/acme/cmd/acmetool
}

package() {
  cd "$srcdir"
  install -Dm755 gopath/bin/acmetool "$pkgdir"/usr/bin/acmetool
  install -d "$pkgdir"/usr/share/doc/$pkgname
  install -Dm644 acme-$pkgver/README.md acme-$pkgver/_doc/* -t "$pkgdir"/usr/share/doc/$pkgname

  install -d "$pkgdir"/usr/share/licenses/$pkgname
  local spec import lic ver dlspec name base found
  for spec in "${_source[@]}"; do
    read import lic ver dlspec <<<"$spec"
    name=${import##*/}
    name=${name%%.v*}

    base=$name
    if [[ $name != acme ]]; then
      base=lib-$base
    fi
    base="$pkgdir"/usr/share/licenses/$pkgname/$base
    case $name in
      acme)
        install -m644 $name-$ver/_doc/COPYING.MIT $base.COPYING.txt
        ;;
      yaml)
        install -m644 $name-$ver/LICENSE         $base-primary.LICENSE.txt
        install -m644 $name-$ver/LICENSE.libyaml $base-libyaml.LICENSE.txt
        ;;
      kingpin|units)
        install -m644 $name-$ver/COPYING $base.COPYING.txt
        ;;
      net|crypto)
        install -m644 $name-$ver/LICENSE $base.LICENSE.txt
        install -m644 $name-$ver/PATENTS $base.PATENTS.txt
        ;;
      ansicolor|clock|dbus|degoutils|go-isatty|go-jose|go-systemd|go.uuid|graceful|gspt|pb|pflag|template)
        install -m644 $name-$ver/LICENSE $base.LICENSE.txt
        ;;
      go-wordwrap)
        install -m644 $name-$ver/LICENSE.md $base.LICENSE.txt
        ;;
      svcutils)
        grep -h © $name-$ver/README.md           > $base-primary.txt
        grep -h © $name-$ver/systemd/* | sort -u > $base-systemd.txt
        ;;
      xlog|link)
        sed -n '/## License/,$p' $name-$ver/README.md > $base.txt
        ;;
      service)
        sed -n '/ISC License/,${s/^\s*//p}' $name-$ver/README.md > $base.txt
        ;;
      configurable)
        grep © $name-$ver/README.md > $base.txt
        ;;
      easyconfig)
        sed -n '/^License$/,$p' $name-$ver/README.md > $base.txt
        ;;
      *)
        error 'No rule for license of package %s' $name
        false
        ;;
    esac
  done
}