Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to configure quicklisp for offline use?

I'm about to go on a long trip to remote places with no internet access, and I want to get some lisp programming done. I thought it might be wise to

  1. download the entire quicklisp archive including all its dependencies
  2. configure quicklisp itself to quickload packages from the local copy

because it will be better for me to have something and not need it then to need it and not have it when I am out in the wilds and unable to connect to the internet by any means.

I'd be grateful for advice on how to do both things or on where to pinpoint documentation that would instruct me how to do both things.

There is plenty of room on my hard drive for many copies of the entire thing (the age of scarce disk space is long gone).

like image 769
Reb.Cabin Avatar asked Apr 07 '16 13:04

Reb.Cabin


2 Answers

Here is what I use:

(in-package :ql-dist-user)
(map nil 'ensure-installed (provided-releases (dist "quicklisp")))

I might add a shortcut for this sometime in the future. It's a common thing to want to do.

like image 126
Xach Avatar answered Nov 08 '22 04:11

Xach


Perhaps by loading all the packages that are available:

(mapc (lambda (system) 
        (let ((name (slot-value system 'QL-DIST:NAME)))
          (ql:quickload name))) 
      (ql:system-list))

Without network all of those packages are available:

1]> (ql:quickload "1am")
To load "1am":
  Load 1 ASDF system:
    1am
; Loading "1am"
like image 34
Sylwester Avatar answered Nov 08 '22 06:11

Sylwester