2011-12-09 14 views

risposta

17

Risposta breve: utilizzare solo quicklisp.

Risposta lunga: se vuoi capire come è strutturato il pacchetto o, più precisamente, il sistema ASDF, è una buona idea. In realtà, non c'è niente di difficile.

Ogni sistema ASDF deve avere un file di definizione del sistema con estensione .asd. Questo file identifica altri file del sistema con i relativi percorsi relativi al file .asd, i loro tipi (per impostazione predefinita: codice sorgente lisp) e le dipendenze. Il tuo Lisp dovrebbe sapere dove trovare il file di definizione del sistema. In ASDF ci sono 2 modi per informare Lisp al riguardo: aggiungendo la directory, in cui si memorizza il file o il link simbolico ad esso, alla lista asdf:*central-registry* o alla configurazione di file di configurazione speciali (chiamati source-registry - più su quello in ASDF manual).

Ora, se si desidera installare il sistema a mano, basta scaricare le sue fonti, estrarli in una directory (come in /home/user/lib/lisp/ - si può ottenere /home/user/lib/lisp/cl-ppcre-2.3.1/, all'interno del quale c'è cl-ppcre.asd). Per consentire al tuo Lisp di scoprirlo a questo proposito, solo (push "/home/user/lib/lisp/cl-ppcre-2.3.1/" asdf:*central-registry*) (e non dimenticare la barra finale - è necessario), e quindi puoi caricare il sistema con (asdf:oos 'asdf:load-op :cl-ppcre).

Si potrebbe anche impostare una directory speciale, dove si link simbolico i sistemi esistenti, come /home/user/.lisp/ e aggiungerlo al *central-registry* all'avvio tipo Lisp (ad esempio in .sbclrc). Ora, se si desidera sovrascrivere temporaneamente parte del sistema collegato in questa directory, ad esempio, con una versione più recente, non è necessario scollegare nulla: basta spingere il percorso su un sistema alternativo su *central-registry*.

Quicklisp fa tutto questo per voi e altro ...