Skip to content
/ cl-icebox Public template

Cross-Platform GUI framework written in Common Lisp

License

Notifications You must be signed in to change notification settings

VitoVan/cl-icebox

Repository files navigation

icebox Icon

cl-icebox

Cross-Platform GUI framework written in Common Lisp

platform support Build Status

Abilities:

  • Write Cross-Platform GUI application easily in Common Lisp
  • Compiles to Linux / macOS / Windows
  • Deploy your application in One Single File

Useful Links:

Working Examples:

  • cl-pkr Cross-Platform Color Picker Written in Common Lisp

Hacking:

  1. Make sure you have SBCL with Quicklisp installed

    • Install a proper SBCL, you can download here
    • Install Quicklisp, you can follow the tutorial here
  2. Make sure you have a bin folder and have a proper tclkit inside

    • mkdir -p bin or just right click to create a folder name bin
    • Download yourself a proper tclkit and rename it to tclkit-gui here
  3. build your application

    sbcl --disable-debugger --load cl-icebox.asd --eval "(ql:quickload 'cl-icebox)" --eval "(asdf:make :cl-icebox)"

Voilà! Check your bin folder for the magic!

What? You use Emacs and SLIME? Great!

Eval (progn (load "cl-icebox.asd") (ql:quickload 'cl-icebox) (setf cl-icebox::*hacking* t)) in your REPL, then you can call (cl-icebox:icebox), have fun!

Deploy:

There's two options:

  1. Use Travis CI for the good of your health

    you need to add GITHUB_TOKEN according to uploadtool

  2. Use deploy.sh in the root folder

    Run deploy.sh and then check your out folder.

    • Linux and macOS should work out of the box (unless you don't have wget or internet connection).
    • on Windows, you need to have
      • A decent BASH, Git BASH or MSYS2 both should work fine
      • Make sure you have unzip and wget in your BASH.
      • EDITBIN which is part of Build Tools for Visual Studio
        • Find the location of your vcvarsall.bat, then open cmd, and call vcvarsall.bat x64
        • Then, type where editbin, you'll get the absolute path of editbin.exe
        • export EB='C:\long path with space\editbin.exe' in your BASH
        • Now you are blessed to run deploy.sh

Credits


Lisp Caution