2011-12-09 15 views

Odpowiedz

17

Krótka odpowiedź: po prostu użyj quicklisp.

Długa odpowiedź: jeśli chcesz zrozumieć, w jaki sposób pakiet, lub - dokładniej - system ASDF, jest gotowy, to dobry pomysł. Właściwie nie ma w tym nic trudnego.

Każdy system ASDF powinien mieć plik definicji systemu z rozszerzeniem .asd. Ten plik określa inny plik systemu ze ścieżkami w stosunku do pliku .asd, ich typami (domyślnie: kod źródłowy septa) i zależnościami. Twój Lisp powinien wiedzieć, gdzie znaleźć plik definicji systemu. W ASDF są 2 sposoby informowania Lispa o tym: dodawanie katalogu, w którym przechowujesz plik lub dowiązanie symboliczne do niego, do listy asdf:*central-registry* lub konfigurowanie specjalnych plików konfiguracyjnych (nazywanych rejestrem źródłowym - więcej o tym w ASDF manual).

Teraz, jeśli chcesz zainstalować system ręcznie, wystarczy pobrać swoje źródła, wyodrębnić je do jakiegoś katalogu (tak jak w /home/user/lib/lisp/ - możesz dostać /home/user/lib/lisp/cl-ppcre-2.3.1/, wewnątrz którego istnieje cl-ppcre.asd). Aby pozwolić twojemu Lispowi dowiedzieć się o tym tylko (push "/home/user/lib/lisp/cl-ppcre-2.3.1/" asdf:*central-registry*) (i nie zapomnij o końcowym ukośniku - jest to wymagane), a następnie możesz załadować system za pomocą (asdf:oos 'asdf:load-op :cl-ppcre).

Zobacz także konfiguracja specjalny dir, gdzie będziesz podlinkowujemy istniejących systemów, jak /home/user/.lisp/ i dodać go do *central-registry* w Lisp typu startowym (na przykład w .sbclrc). Teraz, jeśli chcesz tymczasowo przesłonić część systemu połączonego w tym katalogu, powiedzmy, z nowszą wersją, nie musisz rozłączać niczego - po prostu popchnij ścieżkę do alternatywnego systemu do *central-registry*.

Quicklisp robi to wszystko dla Ciebie i nie tylko ...