- Common Lisp 82.1%
- Makefile 9.6%
- Shell 8.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| documentation | ||
| issues/closed | ||
| scripts | ||
| sources | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| LICENSE | ||
| Makefile | ||
| README.org | ||
ALPM — AutoLISP Package Management
A system definition and loading facility for AutoLISP, in the spirit
of ASDF (https://asdf.common-lisp.dev): define systems of AutoLISP
source files with dependencies (system->system and file->file), load
them in dependency order on AutoCAD, BricsCAD, or clautolisp,
generate standalone loader files, and import existing .prj
projects.
Status: released, ALPM 1.1.1 — implementation complete, 56 tests
green under clautolisp (make test).
- documentation/alpm-specification.org — the ALPM specification (decisions D-1…D-8 resolved; see the checklist section for the verification record V-1…V-11, all DONE).
- documentation/alpm-user-manual.org — the user manual (also installed as Info and HTML, see below).
- documentation/vlisp-project-files.org — observed reference of the
VLISP
.prj=/.prv= formats (reverse-engineered from real samples; no official specification exists). sources/alpm.lsp— the implementation, one self-contained file.tests/— the test suite (run-tests.lsp) and its fixtures.
Installation
make install (default PREFIX=/opt/local) generates a single
self-contained alpm.lsp (make dist) and installs it as
$PREFIX/share/autolisp/alpm.lsp; then
(load "/opt/local/share/autolisp/alpm.lsp") defines ALPM and
registers the site directory (recursively), the engine support path,
and TRUSTEDPATHS. Systems install as
$PREFIX/share/autolisp/<name>/<name>.alpm + sources.
make test runs the suite headless under clautolisp.
make install also installs the documentation
($PREFIX/share/doc/alpm/: org sources + PDF) and the user manual as
Info ($PREFIX/share/info/alpm.info, read with info alpm) and as
HTML ($PREFIX/share/doc/alpm/html/: alpm-user-manual.html is the
single-page manual, like the PDF; html/manual/ is the same manual
paginated one node per page with Next/Prev/Up navigation, like Info).
Building the documentation
make build-documentation (or its parts: make pdf, make info,
make html) renders every org-mode document under build/: PDF
(e.g. build/documentation/alpm-user-manual.pdf), the user manual as
Info (build/documentation/alpm.info) and as HTML
(build/documentation/html/, single-page and paginated — see
Installation above). These are generated artifacts and are not
committed. make clean removes build/.
License
GPL-3.0 — see LICENSE.
Continuous integration
.gitlab-ci.yml: the documentation:pdf job runs make
build-documentation (PDF + Info + HTML) on the always-on Linux
runner; the verify:* jobs run
tests/verification/verification.lsp on the CAD-equipped
runners (clautolisp/BricsCAD on macOS, BricsCAD/AutoCAD on Windows —
manual, non-blocking: those runners are intermittent).
Conventions
- Documents: org-mode, UTF-8, LF line terminators.
- AutoLISP sources: pure ASCII, LF line terminators.
- Line terminators are stored as LF in the repository (checkouts on
Windows may convert to CR-LF; see
.gitattributes).