Skip to content

Files

Latest commit

 

History

History
This branch is 382 commits behind iketheadore/skycoinproject-skycoin:develop.

electron

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Feb 26, 2020
Oct 12, 2017
Jul 25, 2018
Nov 26, 2019
Jul 28, 2018
Nov 5, 2019
Feb 26, 2020
Oct 13, 2018
Dec 20, 2019
Oct 13, 2018
Oct 13, 2018
Sep 24, 2019
Oct 13, 2018
Oct 13, 2018
Oct 13, 2018
Oct 13, 2018
Oct 13, 2018
Jan 25, 2017
Oct 13, 2018
Feb 26, 2020
Nov 5, 2019
Feb 26, 2020
Oct 13, 2018
Feb 15, 2020
Oct 12, 2018
Feb 26, 2020
Feb 15, 2020

Build system

The GUI client is an Electron (http://electron.atom.io/) app.

It cross compiles for osx, linux and windows 64 bit systems.

Requirements

gox (go cross compiler), node and npm.

gox

To install gox:

go get github.com/gz-c/gox

NPM

Node and npm installation is system dependent.

Linux

sudo apt-get install npm
sudo apt-get install nodejs-legacy
sudo npm cache clean -f

sudo npm install -g n
sudo n stable

node -v
npm -v

Make sure that the wallet dist is up to date

Recompile the wallet frontend. See Wallet GUI Development README for instructions.

Use electron-builder to pack and create app installer

Install electron-builder

sudo npm install --global electron-builder

Install electron-download

sudo npm install --global electron-download

For macOS

Use brew to install required packages.

To build app for Windows on macOS:

brew install wine --without-x11
brew install mono

To build app for Linux on macOS:

brew install gnu-tar graphicsmagick xz

Code signing

Set the CSC_IDENTITY_AUTO_DISCOVERY environment variable to false if you don't want to do code signing, otherwise, you can create a certificate in login.keychain for testing purpose.

Create new certificate:

Keychain Access -> Certificate Assistant -> Create a Certificate...

Set certificate name and select Code Signing as Certificate Type.

Once you generated the certificate, you can use it by setting your environment variable:

export CSC_NAME="Certificate Name"

Now, when you run electron-builder, it will choose the name and sign the app with the certificate.

For Linux

To build app in distributable format for Linux:

sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils

To build app for Windows on Linux:

  • Install Wine (1.8+ is required):
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ubuntu-wine/ppa -y
sudo apt-get update
sudo apt-get install --no-install-recommends -y wine1.8
  • Install Mono (4.2+ is required):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install --no-install-recommends -y mono-devel ca-certificates-mono

To build app in 32 bit from a machine with 64 bit:

sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib

Building

./build.sh

Final results are placed in the release/ folder.