Skip to content

JoystreamClassic/joystream-desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Joystream Classic

This is the main Joystream Classic cross platform (electron) desktop application, which currently works on Windows, OSX and Linux/Debian distros.

License

Joystream Classic Desktop is released under the terms of the MIT license. See LICENSE for more information.

Disclaimer

Joystream Classic is still in its early stages and may contain bugs. Use at your own risk.

Download Binaries

You can download signed prebuilt binaries from the Releases section.

Building from source

To build the application from source you will need to have a development setup on your system. The tools required are:

  • git
  • node-js version 8
  • node-gyp
  • CMake (minimum version 3.1 for support of CMAKE_CXX_STANDARD variable)
  • python2 + pip
  • Homebrew - only for Mac
  • Conan C/C++ package manager (v0.28.1)

Follow instruction in node-gyp readme for setting up a compiler toolchain for your platform.

You may need some additional steps to get your development environment just right. The travis config file (for linux and osx) and appveyor.yml for windows have some hints.

Configuring conan

Please use conan v0.28.1 (newer versions broke the recipes and will need to be updated) To install specific version of conan:

pip install "conan==0.28.1"

Make sure to update ~/.conan/settings.yml and ~/.conan/profiles/default to configure for your compiler version if you see an error about invalid settings.compiler.version during build later.(older version of conan may not be aware of your newest compiler version)

# Add Joystream conan repository
conan remote add joystreamclassic https://api.bintray.com/conan/joystreamclassic/main True

# Configure electron-rebuild to play nice with conan (see notes at end)
mkdir ~/.electron-gyp
ln -s ~/.conan ~/.electron-gyp/.conan
ln -s ~/.local ~/.electron-gyp/.local

Step-by-Step build instructions:

# Clone the repository
git clone https://github.com/JoystreamClassic/joystream-desktop.git
cd joystream-desktop

# If building on windows install npm v4.6.1 (build fails with newer versions of npm)
npm install -g npm@4.6.1

# If building on OSX install openssl 1.0.x
brew install openssl

# Install dependencies and build c++ native libraries
npm install

# Rebuild native addons for electron framework and start the app
npm start

Notes on electron-rebuild and conan

Electron-forge relies on electron-rebulid for rebuilding native addons. electron-rebuild changes the HOME env variable to ~/.electron-gyp.

To use the same cache and configuration files a simple fix is to create a symbolic link:

mkdir -p ~/.electron-gyp
ln -s ~/.conan ~/.electron-gyp/.conan

Creating symbolic links on Windows (Enable Developer Mode on Windows 10) you can use the mklink command:

mklink /J C:\Users\your_username\.electron-gyp\.conan C:\Users\your_username\.conan

On Linux and OSX if you installed conan with --user argument to pip some python modules will be installed in ~./local directory and will not be found when running conan through electron-rebuild and you may need to also create a symbolic link:

mkdir -p ~/.electron-gyp
ln -s ~/.local ~/.electron-gyp/.local