• Common Lisp 82.1%
  • Makefile 9.6%
  • Shell 8.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
BOURGUIGNON Pascal (EXT Insitoo) 60184282e4 Fix Emacs temporary paths under MSYS
2026-09-25 23:40:03 +02:00
documentation alpm 1.1.2: post-release bump 2026-09-25 23:00:14 +02:00
issues/closed Silent load unless *AUTOLISP-VERBOSE*; add (alpm-site-directory) 2026-09-25 22:52:49 +02:00
scripts alpm 1.0.0: HTML manual, release packaging, CI, version-rules.md 2026-08-17 20:38:58 +02:00
sources alpm 1.1.2: post-release bump 2026-09-25 23:00:14 +02:00
tests alpm-find-systems-in-tree: recursive read-only system discovery 2026-08-17 20:38:40 +02:00
.gitattributes CI verification jobs, probe suite, GPL-3 LICENSE, logos. 2026-08-08 22:20:40 +02:00
.gitignore Initial commit: ALPM specification, user manual, build infrastructure. 2026-08-08 22:19:52 +02:00
.gitlab-ci.yml docs: synchronize the manuals' Version: with *alpm-version* 2026-08-17 21:05:44 +02:00
LICENSE CI verification jobs, probe suite, GPL-3 LICENSE, logos. 2026-08-08 22:20:40 +02:00
Makefile Fix Emacs temporary paths under MSYS 2026-09-25 23:40:03 +02:00
README.org alpm 1.1.1: alpm-check-encodings survives a decoding read-char 2026-09-25 23:00:14 +02:00

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).