Re: packagers of CCL
"R. Matthew Emerson" <[email protected]> Tue, 30 Apr 2024 10:40:33 -0700
| Newsgroups | gmane.lisp.openmcl.devel |
|---|---|
| Message-ID | <[email protected]> |
> On Apr 29, 2024, at 11:07=E2=80=AFPM, Andrey G. Grozin = <[email protected]> wrote: >=20 > On Mon, 29 Apr 2024, R. Matthew Emerson wrote: >> Are any readers are involved in packaging CCL (for Homebrew, = MacPorts, various Linux distributions, whatever)? >> If there are reasonable things that I could do with CCL to make that = packaging effort easier, won=E2=80=99t you please get in touch? > I'm the packager of ccl for Gentoo Linux. Gentoo is a source-based = distro, each user compiles all packages on his/her own computer using = ebuilds (bash scripts written according to some strict rules). In the = case of ccl, both the source tarball and the binary one are downloaded, = the binary is used to compile the source, and the result is = installed.This is not very difficult. >=20 > I have just one critical comment. If the USE flag "doc" is set, the = ebuild also downloads and installs = https://ccl.clozure.com/docs/ccl.html. And this file name is = unversioned. It can silently change at any moment. If this happens, all = users wanting to install ccl (with USE=3Ddoc) will find that this file's = checksum differs from the one recorded in the corresponding Gentoo = database, and the installation process will fail. It would be much = better if this file were named not ccl.html but ccl-1.12.2.html, and it = won't change during the lifespan of the version 1.12.2. I see. I didn=E2=80=99t expect that = <https://ccl.clozure.com/docs/ccl.html> would be part of a package. The sources for the manual are included in the CCL sources in = doc/manual, but the CCLDoc processor code is in a separate repository, = namely <https://github.com/clozure/ccldoc>. I wonder if there=E2=80=99s something we can do to make it easier to = format the documentation as an optional part of the CCL build process. = CCLDoc is an ASDF system, and it uses a few dependencies. But the = dependencies are not used very extensively; I could imagine copying the = small amount of code from the dependencies into CCLDoc itself or else = re-implementing it. The benefit of this would be that CCLDoc could load in plain CCL, and = could therefore process the files in doc/manual. It would be necessary = to clone the ccldoc repo separately, but I could imagine a simple = Makefile or a little .lisp file to start CCL, do (require 'asdf), point = ASDF at the ccldoc source, and then format the manual via (defparameter *d* (ccldoc:load-document "ccl:doc;manual;ccl.ccldoc")) (ccldoc::output-html *d* "/tmp/ccl.html" :stylesheet "ccl.css=E2=80=9D) Or maybe it=E2=80=99s not burdensome to install Quicklisp and have it = quickload ccldoc and its dependencies. I=E2=80=99m not sure a = source-based distribution would like that, though.=