Skip to content
Martijn Schrage edited this page Jul 18, 2017 · 1 revision

Execute from directory $git

git clone git@github.com:Oblosys/proxima-generator.git
git clone --recursive git@github.com:Oblosys/proxima.git

(proxima-generic.git is cloned as a submodule in each of the editor instances)

Set up sandboxes

cd proxima

The sandbox for all editor instances will be in multi-editor

pushd proxima/multi-editor/
cabal sandbox init
popd
pushd proxima/dazzle-editor/
cabal sandbox init --sandbox=../multi-editor/.cabal-sandbox
popd
pushd proxima/helium-editor/
cabal sandbox init --sandbox=../multi-editor/.cabal-sandbox
popd
pushd proxima-generator
cabal sandbox init --sandbox=../proxima/multi-editor/.cabal-sandbox
popd

Install tools (happy is needed for building uuagc)

pushd proxima/multi-editor/
cabal update
cabal install alex-3.1.7 --bindir=$HOME/.cabal/bin
cabal install happy-1.19.5 --bindir=$HOME/.cabal/bin
cabal install uuagc-0.9.52 --bindir=$HOME/.cabal/bin
popd
pushd proxima-generator
cabal install --bindir=$HOME/.cabal/bin
popd

Gtk

pushd proxima/multi-editor/
cabal install -fhave-quartz-gtk gtk
popd

Build Proxima instances

Declaration form, task list, sudoku & styled-text editors

pushd proxima/multi-editor
cabal install
.cabal-sandbox/bin/multi-editor

http://localhost:8082/

Document-declaration.xml Document-styledtext.xml Document-sudoku.xml Document-tasklist.xml

popd

Dazzle documentation editor

pushd proxima/dazzle-editor
cabal install
../multi-editor/.cabal-sandbox/bin/dazzle-editor

http://localhost:8080/

popd

Helium source editor

pushd proxima/helium-editor
cabal install
../multi-editor/.cabal-sandbox/bin/helium-editor

http://localhost:8081/

popd

Fix copying

Docker apt-get update apt-get install -y make Install all: pushd proxima/multi-editor cabal install popd pushd proxima/dazzle-editor cabal install popd pushd proxima/helium-editor cabal install popd

pushd proxima/multi-editor
cabal install --only-dependencies
cabal configure
cabal build
popd

mkdir proxima/task-list && cp -r proxima/multi-editor/img proxima/task-list && cp proxima/multi-editor/Document-tasklist.xml proxima/task-list/Document.xml

../multi-editor/.cabal-sandbox/bin/multi-editor

sandbox init in copies is not really necessary, since the copied sandbox config

will already have a hard link to multi-editor

cd proxima-copied-tasklist/multi-editor cabal sandbox init --sandbox=../multi-editor/.cabal-sandbox/ cabal configure cabal build cd ../..

cd proxima-copied-sudoku/multi-editor cabal sandbox init --sandbox=../multi-editor/.cabal-sandbox/ cabal configure cabal build cd ../..

cd proxima-copied-styledtext/multi-editor cabal sandbox init --sandbox=../multi-editor/.cabal-sandbox/ cabal configure cabal build cd ../..

cd proxima/dazzle-editor cabal sandbox init --sandbox=../multi-editor/.cabal-sandbox/ cabal configure cabal build cd ../..

cd proxima/helium-editor cabal sandbox init --sandbox=../multi-editor/.cabal-sandbox/ cabal configure cabal build cd ../..

Clone this wiki locally