summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: f55f617e01555abd7831626e976688df436305d4 (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Maintainer: Moses Narrow <moe_narrow@use.startmail.com>
# Maintainer: Steve Skydev <steve@skycoin.net>
pkgname=cx
pkgname1=cx
projectname=skycoin
pkgdesc="CX Skycoin Blockchain Programming Language"
pkgver='autogenerated'
pkggopath="github.com/$projectname/$pkgname1"
pkgrel=3
arch=('any')
url="https://${pkggopath}"
license=()
makedepends=('git' 'go' 'gcc' 'glade' 'xorg-server-xvfb' 'libxinerama' 'libxcursor' 'libxrandr' 'libglvnd' 'libglade' 'mesa' 'libxi' 'cairo' 'perl' 'pango')
source=("git+${url}.git#branch=${BRANCH:-develop}"
"Makefile")
sha256sums=('SKIP'
'40183bcce33ecc8f9dda374532efe9a303ed1490a0cc03b9fc2db8982166db74')
validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC')


export GOOS=linux
export GOPATH="$srcdir"
export GOROOT="$builddir"
export GOBIN="$GOROOT"/bin
export GOROOT_FINAL=/usr/lib/go

export CGO_ENABLED=1

case "$CARCH" in
x86)      export GOARCH="386" GO386="387" ;;
x86_64)   export GOARCH="amd64" ;;
arm*)     export GOARCH="arm" ;;
armel)    export GOARCH="arm" GOARM="5" ;;
armhf)    export GOARCH="arm" GOARM="6" ;;
armv7)    export GOARCH="arm" GOARM="7" ;;
armv8)    export GOARCH="arm64" ;;
aarch64)  export GOARCH="arm64" ;;
mips)     export GOARCH="mips" ;;
mips64)   export GOARCH="mips64" ;;
mips64el) export GOARCH="mips64le" ;;
mipsel)   export GOARCH="mipsle" ;;
*)        return 1 ;;
	esac

  pkgver() {
  	cd "$srcdir/$pkgname1"
  	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/${pkggopath//$pkgname1/} "$srcdir"/go/bin
  ln -rTsf $srcdir/$pkgname1 $srcdir/go/src/$pkggopath
  cd $srcdir/go/src/$pkggopath/
  git checkout develop
  git submodule --quiet update --init --recursive

  export GOPATH="$srcdir"/go
  export GOBIN=${GOPATH}/bin
  export PATH=${GOPATH}/bin:${PATH}
}

build() {
  export GOPATH=$srcdir/go
  export GOBIN=${GOPATH}/bin
  export PATH=${GOPATH}/bin:${PATH}
  cp -b Makefile $srcdir/go/src/$pkggopath/Makefile
  cd $srcdir/go/src/$pkggopath
  make install


#  msg2 'creating cx chains setup script'
mkdir -p $srcdir/$pkgname1-scripts
cd $srcdir/$pkgname1-scripts
echo -e '#!/bin/bash \n #setup symlink for fiber.toml along GOPATH  \n export GOBIN=/usr/lib/skycoin/go/bin \n echo "export GOBIN=/usr/lib/skycoin/go/bin" \n export GOPATH=/usr/lib/skycoin/go \n echo "export GOPATH=/usr/lib/skycoin/go" \n echo "cx --generate-address > address.txt" \n "cat address.txt"  \n echo "edit /usr/lib/skycoin/cx/fiber.toml" \n echo "export SECRET_KEY=" \n echo "export PUBLIC_KEY=" \n echo "cx --blockchain --heap-initial 100 --stack-size 100 --secret-key $SECRET_KEY --public-key $PUBLIC_KEY /usr/lib/skycoin/go/src/github.com/skycoin/cx/examples/blockchain/counter-bc.cx" \n echo "export GENESIS_ADDRESS=" \n echo "export GENESIS_SIGNATURE=" \n echo "cx --publisher --genesis-address $GENESIS_ADDRESS --genesis-signature $GENESIS_SIGNATURE --secret-key $SECRET_KEY --public-key $PUBLIC_KEY" \n echo "cx --peer --genesis-address $GENESIS_ADDRESS --port 6001 --genesis-signature $GENESIS_SIGNATURE --public-key $PUBLIC_KEY"  \n echo "cx --create-wallet --wallet-seed "museum nothing practice weird wheel dignity economy attend mask recipe minor dress""' > $pkgname1-chaintest
chmod +x $pkgname1-chaintest
}

package() {
msg2 'installing CX'
options=(!strip staticlibs)
#make dirs
mkdir -p $pkgdir/usr/bin
mkdir -p $pkgdir/usr/lib/$projectname/go/bin
mkdir -p $pkgdir/usr/lib/$projectname/go/src/github.com/$projectname/
mkdir -p $pkgdir/usr/lib/$projectname/$pkgname1/
#install sources
cp -r $srcdir/$pkgname1 $pkgdir/usr/lib/$projectname/go/src/github.com/$projectname/$pkgname1
#install binary
msg2 'installing binaries'
#cxbins="$srcdir"/go/bin
#cxbin=$( ls $cxbins )
#for i in $cxbin; do
#^MAKE DEPENDANCIES ARE IN GOBIN; GET ONLY CX & NEWCOIN
install -Dm755 $srcdir/go/bin/newcoin $pkgdir/usr/lib/$projectname/go/bin/newcoin
ln -rTsf $pkgdir/usr/lib/$projectname/go/bin/newcoin $pkgdir/usr/bin/newcoin
chmod 755 $pkgdir/usr/bin/newcoin
install -Dm755 $srcdir/go/bin/$pkgname1 $pkgdir/usr/lib/$projectname/go/bin/$pkgname1
ln -rTsf $pkgdir/usr/lib/$projectname/go/bin/$pkgname1 $pkgdir/usr/bin/$pkgname1
chmod 755 $pkgdir/usr/bin/$pkgname1
#done
#install the scripts
cxscripts=$( ls $srcdir/$pkgname1-scripts )
for i in $cxscripts; do
cp $srcdir/$pkgname1-scripts/$i $pkgdir/usr/bin/$i
done
}