The cl-autorepo Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-autorepo Reference Manual

This is the cl-autorepo Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:28:40 2022 GMT+0.

Table of Contents


1 Introduction

cl-autorepo is a simple lisp library to ease inclusion of
non-Quicklisp libraries from repositories.

For example, to load my File System DataBase library:

  (ql:quickload "cl-autorepo")
  (cl-autorepo:add-system "fsdb" "https://github.com/billstclair/fsdb" :git)
  (ql:quickload "fsdb")

You can add ADD-SYSTEM calls to your library system definition (.asd)
files, to auto-download systems that aren't yet in Quicklisp.

Downloaded systems are kept in ~/.local/share/common-lisp/source/,
which is one of the places ASDF looks for systems by default.

There is currently no support for updating libraries. You can easily
do that yourself with "git pull", "svn update", etc.

I've included support for git, svn, darcs, and hg. You can add another
respository type with a simple DOWNLOAD-REPO method. Send it to me,
and I'll add it.

One way to autoload cl-autorepo itself, before it becomes part of
Quicklisp, is the code below:

(load "~/quicklisp/setup")              ;may be in your init file

(unless (or (find-package :cl-autorepo)
            (ignore-errors (ql:quickload "cl-autorepo")))
  (let* ((dir "~/.local/share/common-lisp/source/")
         (autorepo-asd (merge-pathnames "cl-autorepo/cl-autorepo.asd" dir))
         (url "https://github.com/billstclair/cl-autorepo"))
    (asdf:run-shell-command "mkdir -p ~a;cd ~a;git clone ~a" dir dir url)
    (load autorepo-asd)
    (ql:quickload "cl-autorepo")))

For an example of using cl-autorepo in a real system, see:

  https://github.com/billstclair/truledger/blob/master/truledger.asd

Tested in ccl 1.7-r14927M and SBCL 1.0.49.0.debian

Bill St. Clair
bill@billstclair.com
11 August, 2011


2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cl-autorepo

A simple mechanism to auto-load ASDF systems from repositories.

Author

Bill St. Clair <bill@billstclair.com>

License

Apache

Version

1.0.0

Source

cl-autorepo.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 cl-autorepo/src

Source

cl-autorepo.asd.

Parent Component

cl-autorepo (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

4.1.1 cl-autorepo/cl-autorepo.asd

Source

cl-autorepo.asd.

Parent Component

cl-autorepo (system).

ASDF Systems

cl-autorepo.


4.1.2 cl-autorepo/src/package.lisp

Source

cl-autorepo.asd.

Parent Component

src (module).

Packages

cl-autorepo.


4.1.3 cl-autorepo/src/autorepo.lisp

Dependency

package.lisp (file).

Source

cl-autorepo.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 cl-autorepo

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Public Interface


6.1.1 Ordinary functions

Function: add-system (name url &optional repository-type)

Download the system named NAME of REPOSITORY-TYPE from the URL, unless it’s already defined.

Package

cl-autorepo.

Source

autorepo.lisp.


6.1.2 Generic functions

Generic Function: download-repo (repository-type url directory)

Download a repository of REPOSITORY-TYPE from URL, as a
subdirectory of DIRECTORY. REPOSITORY-TYPE can be :GIT, :SVN, :DARCS, or :HG

Package

cl-autorepo.

Source

autorepo.lisp.

Methods
Method: download-repo ((repository-type (eql :hg)) url directory)
Method: download-repo ((repository-type (eql :darcs)) url directory)
Method: download-repo ((repository-type (eql :svn)) url directory)
Method: download-repo ((repository-type (eql :git)) url directory)

6.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.1 Special variables

Special Variable: *repo-dir*
Package

cl-autorepo.

Source

autorepo.lisp.


Previous: , Up: Internals   [Contents][Index]

6.2.2 Ordinary functions

Function: download-repo-helper (program-args directory url)
Package

cl-autorepo.

Source

autorepo.lisp.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
S  
Index Entry  Section

*
*repo-dir*: Private special variables

S
Special Variable, *repo-dir*: Private special variables

Jump to:   *  
S