diff options
Diffstat (limited to 'services.PKGBUILD')
-rw-r--r-- | services.PKGBUILD | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/services.PKGBUILD b/services.PKGBUILD new file mode 100644 index 000000000000..aa0b8996e9de --- /dev/null +++ b/services.PKGBUILD @@ -0,0 +1,95 @@ +# Maintainer: Moses Narrow <moe_narrow@use.startmail.com> +_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=2 +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" "$@" +} |