Permalink
96 lines (59 sloc) 3.4 KB

Initial setup

Prerequisites

OS Specific Prerequisites

OSX

None. Skip to Build.

Windows

Download Cygwin.

Getting Leiningen to Work With Cygwin

For some tips on getting Leiningen to work with Cygwin see this Stack Overflow question.

Permission Errors

If you run into permission errors you'll need to try:

  • Changing Cygwin's /etc/fstab file (see below) and/or
  • Running Cygwin as admin.

You may need to change /etc/fstab (path in Cygwin) to fix a directory permission error when building. Change this line:

none /cygdrive cygdrive binary,posix=0,user 0 0

Add ,noacl to the line:

none /cygdrive cygdrive binary,posix=0,user,noacl 0 0

Close and re-open Cygwin Terminal.

The issue:

Branding

In order to rebrand a build's resulting executable with the Light Table icon, you will need rcedit on your path. If rcedit is not found, it will maintain GitHub's Electron branding. There is a pre-built release of rcedit on GitHub.

Linux

To run electron on Linux you need to have libgconf-2.so.4 installed.

Ref: Linux (Arch) build depends on libgconf-2.so.4

Note that, on Debian-based distros, you may need to install an additional package as there is a pre-existing node package and the standard Node.js package on these distros installs a Node.js executable named nodejs instead of node as our build script expects. See issue #1931 for some background.

Build

To build LightTable from scratch on OSX, Windows Cygwin or Linux:

$ git clone https://github.com/LightTable/LightTable.git
$ cd LightTable
# Creates a directory in builds/
$ script/build.sh

This will take a few minutes the first time as electron and plugins are downloaded. Subsequent invocations are faster. To override the output directory, specify $VERSION e.g. VERSION=0.8.1-pre script/build.sh.

On subsequent builds, use script/build-app.sh for quicker builds that don't require updating plugins or electron. If any ClojureScript files change, you must run lein cljsbuild once app. On Windows, you may need to comment out the :source-map line before compiling ClojureScript to get around issue 1025.

Usage

Once you've built LightTable, run it in one of the following ways:

  • OSX
    • As a commandline executable: builds/lighttable-0.8.1-mac/light
    • As an application: open -a $PWD/builds/lighttable-0.8.1-mac/LightTable.app
  • Linux
    • As a commandline executable: builds/lighttable-0.8.1-linux/light
    • As an application: builds/lighttable-0.8.1-linux/LightTable
  • Windows
    • As an application: builds/lighttable-0.8.1-windows/LightTable.exe

You can also run LightTable with script/light.sh. This script allows you to skip running script/build-app.sh. While it's useful as a dev convenience, final changes should be QAed with a fresh build from script/build-app.sh.