This file is meant to be a colleciton of notes for CLPM developers that users don’t typically have to worry about.
The canonical repo has Linux arm, Windows, and Mac runners associated with
it. Since forks are unlikely to have these, the jobs that run on them are
guarded by the presence of the environment variables CLPM_CI_LINUX_ARM64
,
CLPM_CI_WINDOWS_AMD64
, and CLPM_CI_MACOS_AMD64
.
CLPM has a lot of dependencies. Probably too many, but that’s a problem for another day. CLPM has a habit of finding issues in its dependencies that sometimes take a while to get fixed. To support both getting the needed fixes before upstream merges them and to make builds reproducible, we use git submodules for all our dpeendencies.
One day, I’d like to see CLPM self host itself so we can have a clpmfile.lock instead. But CLPM needs to get a little more stable first.
This is a list of the fixes we have submitted upstream and their current status. For most of these, if there is an outstanding PR, CLPM pulls its code from a fork that has the PR merged. We don’t necessarily depend on all these libraries any more, but PRs are kept for posterity.
- cl-plus-ssl
-
- [ ] cl-plus-ssl/cl-plus-ssl#116 (likely rejected. seems to not play well with some implementations that already load an SSL library).
- [X] cl-plus-ssl/cl-plus-ssl#115 (not submitted by us, but needed by us)
- osicat
-
- [X] osicat/osicat#39
- dexador
- cffi
-
- [ ] cffi/cffi#141
- zippy
-
- [X] Shinmera/zippy#1
- cl-unicode
- archive
- There doesn’t seem to be any active upstream for this project… May try sending some merge requests to sharplispers, but if that fails, CLPM may have to hard fork/try to assume ownership.
- cl-semver
-
- [X] cldm/cl-semver#4
- [X] cldm/cl-semver#5
- deploy
-
- [X] Shinmera/deploy#12
- [X] Shinmera/deploy#13
- mito