Subject: [PATCH] Add cl-april.
From: Jacob MacDonald <[email-masked]>
To: [email-masked]
Date: Thu, 9 Dec 2021 00:44:43 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

April is a subset of APL embedded in Common Lisp. The following series
of patches adds its dependencies and April itself to the end of
lisp-xyz.

This is the least trivial set of packages I have submitted, so I have
a few things I want to ensure I get right.
1. Licensing:
 a. cl-decimals has no license file and is marked as CC0-licensed in
its system file.
 b. simple-date-time has no license file and is marked as BSD-licensed
in its system file. I marked it as BSD-4.
 c. MaxPC is licensed under the AGPL. This is an issue for the
Apache-licensed April
(https://github.com/phantomics/april/issues/185), and an Apache
version of MaxPC is now bundled with April's source. Does building
April with MaxPC from source violate the AGPL? If so, the dependency
can be swapped out for the bundled one.
2. Bundling: April depends on two systems vex and aplesque. These are
defined in the same repository. I broke them out into three packages
based on the same version of the source.
 a. I renamed vex as there is an existing vector math library with
that name. I threw the math library into the patchset as well; It
might not properly belong.
 b. I tried to use the #:asd-files and #:asd-systems options to
restrict what got built, but kept getting build failures. I added a
phase to each package to delete unused system files. This works, but
seems brittle. I don't think I understand the ASDF build system.
3. Versioning: The latest April tag is a couple years old, while many
of its dependencies lack tags altogether. There is also a discrepancy
between the Git tag and the version numbers recorded in each system
file. Whether I wait for a new tag to bump the package or not, what's
the best way to version the package(s)?

Thanks much,

Jacob.