summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 99695722fd737f0ae3a6c98adaa6e7f4485e1cce (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
# Maintainer: Moses Narrow <moe_narrow@use.startmail.com>
# Maintainer: Rudi [KittyCash] <rudi@skycoinmail.com>
pkgname=skycoin-hardware-wallet-daemon
pkgname1=hardware-wallet-daemon
projectname=skycoin
githuborg=SkycoinProject
pkgdesc="HTTP API to interface with the wallets supported by Skycoin"
pkgver='autogenerated'
pkggopath="github.com/${githuborg}/${pkgname1}"
pkgrel=2
arch=('any')
url="https://${pkggopath}"
license=()
makedepends=(git go skycoin-keyring)
source=("git+${url}.git#branch=${BRANCH:-master}"
"PKGBUILD.sig")
sha256sums=('SKIP'
'SKIP')
validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC'  # Moses Narrow <moe_narrow@use.startmail.com>
                           '98F934F04F9334B81DFA3398913BBD5206B19620') #iketheadore skycoin <luxairlake@protonmail.com>


case "$CARCH" in
x86)      export GOARCH="386" GO386="387" ;;
x86_64)   export GOARCH="amd64" ;;
arm*)     export GOARCH="arm" ;;
armel)    export GOARCH="arm" GOARM="5" ;;
armhf)    export GOARCH="arm" GOARM="6" ;;
armv7)    export GOARCH="arm" GOARM="7" ;;
armv8)    export GOARCH="arm64" ;;
aarch64)  export GOARCH="arm64" ;;
mips)     export GOARCH="mips" ;;
mips64)   export GOARCH="mips64" ;;
mips64el) export GOARCH="mips64le" ;;
mipsel)   export GOARCH="mipsle" ;;
*)        return 1 ;;
	esac

	pkgver() {
		cd "${srcdir}/${pkgname1}"
		local date=$(git log -1 --format="%cd" --date=short | sed s/-//g)
		local count=$(git rev-list --count HEAD)
		local commit=$(git rev-parse --short HEAD)
		echo "$date.${count}_$commit"
	}

prepare() {
	#verify PKGBUILD signature
	gpg --verify ${srcdir}/PKGBUILD.sig ../PKGBUILD
	# https://wiki.archlinux.org/index.php/Go_package_guidelines
	mkdir -p ${srcdir}/go/src/github.com/${projectname}/ ${srcdir}/go/bin
	ln -rTsf ${srcdir}/${pkgname1} ${srcdir}/go/src/github.com/${projectname}/${pkgname1}
	cd ${srcdir}/go/src/github.com/${projectname}/${pkgname1}
	export GOPATH="${srcdir}"/go
	export GOBIN=${GOPATH}/bin
	export PATH=${GOPATH}/bin:${PATH}
}

build() {
	## manually build
	export GOPATH="${srcdir}"/go
	export GOBIN=${GOPATH}/bin
	export PATH=${GOPATH}/bin:${PATH}
	cmddir=${srcdir}/go/src/github.com/${githuborg}/${pkgname1}/cmd
  #using go build for determinism
	cd ${cmddir}/daemon
  msg2 'building skywire-hw-daemon binary'
  go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ .
  #binary transparency
  cd $GOBIN
	mv daemon  skycoin-hw-daemon
  msg2 'binary sha256sums'
  sha256sum $(ls)
	}

package() {
	options=(!strip staticlibs)
	#create directory trees
	mkdir -p ${pkgdir}/usr/bin
	mkdir -p ${pkgdir}/usr/lib/${projectname}/go/bin
	#install binaries & symlink to /usr/bin
	skybin="${srcdir}"/go/bin
	#collect the binaries & install
	skybins=$( ls "$skybin")
	for i in ${skybins}; do
	  install -Dm755 ${srcdir}/go/bin/${i} ${pkgdir}/usr/lib/${projectname}/go/bin/${i}
	  ln -rTsf ${pkgdir}/usr/lib/${projectname}/go/bin/${i} ${pkgdir}/usr/bin/${i}
	  chmod 755 ${pkgdir}/usr/bin/${i}
	done
}