# Maintainer: Moses Narrow _projectname=skycoin pkgname=skywire-services _pkgname=${pkgname} _githuborg="SkycoinPro" pkgdesc="Skywire production deployment services. Skycoin.com" _pkggopath="github.com/${_githuborg}/${_pkgname}" pkgver='autogenerated' pkgrel=1 #pkgrel=1 arch=( 'i686' 'x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm' ) url="ssh://${_pkggopath}" license=('license-free') makedepends=('git' 'go' 'musl' 'kernel-headers-musl') depends=('redis') source=("git+${url}.git#branch=develop") sha256sums=('SKIP') pkgver() { _version=$(git ls-remote --tags --refs --sort="version:refname" ${url}.git | tail -n1) _version=${_version##*/} _version=${_version%%-*} _version=${_version//v/} echo ${_version} } prepare() { # https://wiki.archlinux.org/index.php/Go_package_guidelines mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin ${srcdir}/go/apps ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/${_pkggopath} cd ${srcdir}/go/src/${_pkggopath}/ } build() { export GOPATH=${srcdir}/go export GOBIN=${GOPATH}/bin export _GOAPPS=${GOPATH}/apps export GOOS=linux export CGO_ENABLED=1 #default anyways #use musl-gcc for static compilation export CC=musl-gcc #local _version="${pkgver}" #DMSG_BASE="github.com/skycoin/dmsg" #BUILDINFO_PATH="${DMSG_BASE}/buildinfo" #BUILDINFO_VERSION="${BUILDINFO_PATH}.version=${_version}" #BUILDINFO=${BUILDINFO_VERSION} ${BUILDINFO_DATE} ${BUILDINFO_COMMIT} #create the skywire binaries cd ${srcdir}/go/src/${_pkggopath} _cmddir=${srcdir}/go/src/${_pkggopath}/cmd cd ${_cmddir} for i in * ; do _msg2 "building ${i} binary" cd ${_cmddir}/${i} go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . done #binary transparency cd $GOBIN _msg2 'binary sha256sums' sha256sum $(ls) } package() { _pkgdir=${pkgdir} #create directory trees or the visor might make them with weird permissions #only path differing between debian & archlinux #_systemddir="usr/lib/systemd/system" _skydir="opt/${_pkgname}" #_skyapps="${_skydir}/apps" #_skyscripts="${_skydir}/scripts" _skybin="${_skydir}/bin" _msg2 'creating dirs' mkdir -p ${_pkgdir}/usr/bin mkdir -p ${_pkgdir}/${_skydir}/bin #mkdir -p ${_pkgdir}/${_systemddir} _msg2 'installing binaries' install -Dm755 ${GOBIN}/* ${_pkgdir}/${_skybin}/ for _i in ${_pkgdir}/${_skybin}/* ; do ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} done chmod +x ${_pkgdir}/usr/bin/* #install systemd services #_msg2 'Installing systemd services' #install -Dm644 ${srcdir}/*.service ${_pkgdir}/${_systemddir}/ } _msg2() { (( QUIET )) && return local mesg=$1; shift printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" }