Skip to content

Latest commit

 

History

History
71 lines (52 loc) · 1.93 KB

QLOT.md

File metadata and controls

71 lines (52 loc) · 1.93 KB

Using QLOT with CLOG Builder

QLOT creates a local quicklisp for your project. The following instructions will show you how to take a CLOG project (or any Common Lisp project) and convert it for use with qlot.

https://github.com/fukamachi/qlot

NOTE - qlot does not appear to work with Windows

After you have created a CLOG project, copy it to its own projects directory, do not use ~/common-lisp or other project directory already in use by your global quicklisp install.

for this example I created ~/projects and then move my CLOG project qtest to ~/projects/qtest

cd ~/projects/qtest

Create a file call qlfile with:

dist http://dist.ultralisp.org/

(I am using the REPL method for maximum compatability, if you alredy know qlot you can use the command line tool if you have installed it.)

run sbcl and type:

(ql:quickload :qlot)
(setf qlot:*project-root* (uiop:getcwd))
(qlot:init (uiop:getcwd))
(qlot:install)

To work on your project using your qlot quicklisp, cd to your dir (example ~/projects/qtest ) and run sbcl with:

(ql:quickload :qlot)
(setf qlot:*project-root* (uiop:getcwd))
(qlot:init (uiop:getcwd))
(pushnew (uiop:getcwd) ql:*local-project-directories* :test #'equalp)

You are now in your private qlot world for your project, so to run the CLOG builder do:

(ql:quickload :qtest/tools)
(clog-tools:clog-builder :project :qtest)

To update your local quicklisp use (ql:update-all-dist) or in CLOG Builder Options -> Update CLOG Builder

If you used qlot and or added directly to the qlfile use (qlot:update :name-of-system)

To make things easier create a file say - ql and chmod 775

sbcl --eval "(ql:quickload :qlot)" \
     --eval "(setf qlot:*project-root* (uiop:getcwd))" \
     --eval "(qlot:init (uiop:getcwd))" \
     --eval "(pushnew (uiop:getcwd) ql:*local-project-directories* :test #'equalp)" \
     --eval "(ql:quickload :qtest/tools)" \
     --eval "(clog-tools:clog-builder :project :qtest)"