Skip to content

Latest commit

 

History

History
162 lines (112 loc) · 3.22 KB

DEVEL.md

File metadata and controls

162 lines (112 loc) · 3.22 KB

Development

Build Linux package in Docker

In order to build VeLisp Linux package you need to have Docker with non-root access installed.

$ ./build-linux-package.sh
...
Build Done

Build Windows package in Vagrant

In order to build VeLisp Windows package you need to have VirtualBox and Vagrant installed.

Build Windows build deps Vagrant box

Download Windows 10 Vagrant box from https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ and import it.

$ unzip MSEdge.Win10.Vagrant.zip
$ vagrant box add win10 'MSEdge - Win10.box'

Build Windows build deps box

$ export VAGRANT_VAGRANTFILE=Vagrantfile.win10.deps
$ vagrant up --provision

Build Windows package

$ ./build-windows-package.sh
...
Build Done

Upgrade MinGW64 deps

Inside the MSYS shell (Run as administrator)

# gflags -i node.exe +sls
# windows/find-mingw64-deps.sh node.exe src/main.js examples/slides.lsp
# gflags -i node.exe -sls

See https://ten0s.github.io/blog/2022/07/25/find-dlls-and-typelibs-dependencies-for-nodejs-gtk-application-on-windows for detail.

Build MacOS package in Vagrant

In order to build VeLisp MacOS package you need to have VirtualBox and Vagrant installed.

Build MacOS build deps Vagrant box

Download MacOS Big Sur Vagrant box from https://app.vagrantup.com/jakubknejzlik/boxes/macos and import it.

$ curl -s https://app.vagrantup.com/jakubknejzlik/boxes/macos | jq .
$ wget https://vagrantcloud.com/jakubknejzlik/boxes/macos/versions/11.2.3/providers/virtualbox.box
$ vagrant box add macos-big_sur-11.2.3 virtualbox.box

Download Command Line Tools for Xcode

Download Command_Line_Tools_for_Xcode_12.5.1.dmg and copy it to macos/ directory

Build MacOS build deps box

$ export VAGRANT_VAGRANTFILE=Vagrantfile.macos.deps
$ export MACOS_NAME=big_sur
$ vagrant up
... some manual setup?
$ vagrant up --provision

Build MacOS package

$ ./build-macos-package.sh
...
Build Done

Upgrade Homebrew deps

Inside MacOS Terminal

% macos/find-homebrew-deps.sh ./velisp examples/slides.lsp

On host machine

$ vagrant-scp :velisp/macos/homebrew-dylibs.txt   macos/
$ vagrant-scp :velisp/macos/homebrew-typelibs.txt macos/

Build on host (Linux only)

Build deps

$ sudo apt install jq make
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
$ nvm install 18

GTK+3 deps

$ sudo apt-get install build-essential libgtk-3-dev gobject-introspection libgirepository1.0-dev libcairo2 libcairo2-dev

ANTLR is only needed for making changes in the grammars:

Build

$ make

Run tests

$ make test

Re-build grammars

$ make grammar