summarylogtreecommitdiffstats
path: root/services.PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'services.PKGBUILD')
-rw-r--r--services.PKGBUILD95
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" "$@"
+}