summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: b9a11ee7a2291a88b059ab45c515a689c7da3f76 (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
# Maintainer: Moses Narrow <moe_narrow@use.startmail.com>
# Maintainer: Rudi [KittyCash] <rudi@skycoinmail.com>
pkgname=skycoin-hardware-wallet-go
_pkgname=hardware-wallet-go
_projectname=skycoin
_githuborg=SkycoinProject
pkgdesc="Go bindings and CLI tool for the Skycoin hardware wallet"
pkgver='autogenerated'
#pkgver='autogenerated'
_pkggopath="github.com/${_githuborg}/${_pkgname}"
pkgrel=3
#pkgrel=3
arch=( 'i686' 'x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm' )
url="https://${_pkggopath}"
license=()
makedepends=('git' 'go' 'musl' 'kernel-headers-musl')
source=("git+${url}.git") #branch=${BRANCH:-master}"
sha256sums=('SKIP')

pkgver() {
	cd "${srcdir}/${_pkgname}"
	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() {

	# https://wiki.archlinux.org/index.php/Go_package_guidelines
	mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin
	ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/github.com/${_githuborg}/${_pkgname}

}

build() {
## manually build
export GOPATH="${srcdir}"/go
export GOBIN=${GOPATH}/bin
export CC=musl-gcc
cd ${srcdir}/go/src/github.com/${_githuborg}/${_pkgname}/
[[ ! -f go.mod ]] && go mod init
go mod tidy
cd ${srcdir}/go/src/github.com/${_githuborg}/${_pkgname}/cmd/cli
go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN .


cd ${srcdir}/go/bin
mv cli skycoin-hw-cli
}

package() {
options=(!strip staticlibs)
#create directory trees
mkdir -p ${pkgdir}/usr/bin
mkdir -p ${pkgdir}/opt/${_pkgname}/bin
#install binaries & symlink to /usr/bin
msg2 'installing binaries'
_skybin="${srcdir}"/go/bin
#avoid generic names for binaries
#collect the binaries & install
_skybins=$( ls "${_skybin}")
for i in ${_skybins}; do
  install -Dm755 ${srcdir}/go/bin/${i} ${pkgdir}/opt/${_pkgname}/bin/${i}
  ln -rTsf ${pkgdir}/opt/${_pkgname}/bin/${i} ${pkgdir}/usr/bin/${i}
  chmod 755 ${pkgdir}/usr/bin/${i}
done
}