48 lines
1.4 KiB
Bash
48 lines
1.4 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Simple bash script to build basic lnd tools for all the platforms
|
||
|
# we support with the golang cross-compiler.
|
||
|
#
|
||
|
# Copyright (c) 2016 Company 0, LLC.
|
||
|
# Use of this source code is governed by the ISC
|
||
|
# license.
|
||
|
|
||
|
# If no tag specified, use date + version otherwise use tag.
|
||
|
if [[ $1x = x ]]; then
|
||
|
DATE=`date +%Y%m%d`
|
||
|
VERSION="01"
|
||
|
TAG=$DATE-$VERSION
|
||
|
else
|
||
|
TAG=$1
|
||
|
fi
|
||
|
|
||
|
PACKAGE=lnd
|
||
|
MAINDIR=$PACKAGE-$TAG
|
||
|
mkdir -p $MAINDIR
|
||
|
cd $MAINDIR
|
||
|
|
||
|
SYS="windows-386 windows-amd64 openbsd-386 openbsd-amd64 linux-386 linux-amd64 linux-arm linux-arm64 darwin-386 darwin-amd64 dragonfly-amd64 freebsd-386 freebsd-amd64 freebsd-arm netbsd-386 netbsd-amd64 linux-mips64 linux-mips64le linux-ppc64 linux-arm64"
|
||
|
|
||
|
# Use the first element of $GOPATH in the case where GOPATH is a list
|
||
|
# (something that is totally allowed).
|
||
|
GPATH=$(echo $GOPATH | cut -f1 -d:)
|
||
|
|
||
|
for i in $SYS; do
|
||
|
OS=$(echo $i | cut -f1 -d-)
|
||
|
ARCH=$(echo $i | cut -f2 -d-)
|
||
|
mkdir $PACKAGE-$i-$TAG
|
||
|
cd $PACKAGE-$i-$TAG
|
||
|
echo "Building:" $OS $ARCH
|
||
|
env GOOS=$OS GOARCH=$ARCH go build -v github.com/lightningnetwork/lnd
|
||
|
env GOOS=$OS GOARCH=$ARCH go build -v github.com/lightningnetwork/lnd/cmd/lncli
|
||
|
cd ..
|
||
|
if [[ $OS = "windows" ]]; then
|
||
|
zip -r $PACKAGE-$i-$TAG.zip $PACKAGE-$i-$TAG
|
||
|
else
|
||
|
tar -cvzf $PACKAGE-$i-$TAG.tar.gz $PACKAGE-$i-$TAG
|
||
|
fi
|
||
|
rm -r $PACKAGE-$i-$TAG
|
||
|
done
|
||
|
|
||
|
shasum -a 256 * > manifest-$TAG.txt
|