about summary refs log tree commit diff
path: root/lisp/klatre (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-08-24 r/2771 feat(nix/buildLisp): add eclsterni1-1/+2
Adds ECL as a second supported implementation, specifically a statically linked ECL. This is interesting because we can create statically linked binaries, but has a few drawbacks which doesn't make it generally useful: * Loading things is very slow: The statically linked ECL only has byte compilation available, so when we do load things or use the REPL it is significantly worse than with e. g. SBCL. * We can't load shared objects via the FFI since ECL's dffi is not available when linked statically. This means that as it stands, we can't build a statically linked //web/panettone for example. Since ECL is quite slow anyways, I think these drawbacks are worth it since the biggest reason for using ECL would be to get a statically linked binary. If we change our minds, it shouldn't be too hard to provide ecl-static and ecl-dynamic as separate implementations. ECL is LGPL and some libraries it uses as part of its runtime are as well. I've outlined in the ecl-static overlay why this should be of no concern in the context of depot even though we are statically linking. Currently everything is building except projects that are using cffi to load shared libaries which have gotten an appropriate `badImplementations` entry. To get the rest building the following changes were made: * Anywhere a dependency on UIOP is expressed as `bundled "uiop"` we now use `bundled "asdf"` for all implementations except SBCL. From my testing, SBCL seems to be the only implementation to support using `(require 'uiop)` to only load the UIOP package. Where both a dependency on ASDF and UIOP exists, we just delete the UIOP one. `(require 'asdf)` always causes UIOP to be available. * Where appropriate only conditionally compile SBCL-specific code and if any build the corresponding files for ECL. * //lisp/klatre: Use the standard condition parse-error for all implementations except SBCL in try-parse-integer. * //3p/lisp/ironclad: disable SBCL assembly optimization hack for all other platforms as it may interfere with compilation. * //3p/lisp/trivial-mimes: prevent call to asdf function by substituting it out of the source since it always errors out in ECL and we hardcode the correct path elsewhere anyways. As it stands ECL still suffers from a very weird problem which happens when compiling postmodern and moptilities: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/651 Change-Id: I0285924f92ac154126b4c42145073c3fb33702ed Reviewed-on: https://cl.tvl.fyi/c/depot/+/3297 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: eta <tvl@eta.st>
2021-08-14 r/2731 fix(lisp/klatre): declare ignore unused variablessterni1-2/+3
CCL refuses to compile anything with undeclared ignored variables, so we need to be more verbose here. Change-Id: I9bf32e0bc303716d3cd6fe7b525d1434062d69eb Reviewed-on: https://cl.tvl.fyi/c/depot/+/3348 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-08-14 r/2730 fix(lisp/klatre): fix inline declaration for chunk-list functionssterni1-1/+1
Found this typo because CCL is really particular about everything related to declare. Change-Id: I6d4615c1df7c9d45722e85fa82ebdd094273205d Reviewed-on: https://cl.tvl.fyi/c/depot/+/3347 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-05-29 r/2634 chore(klatre): add grfn to ownersVincent Ambo1-0/+3
Change-Id: Ied733a0d88568bc9ac432ea7960fa92f8b59a99a Reviewed-on: https://cl.tvl.fyi/c/depot/+/3165 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-29 r/2632 feat(klatre): expose utility to format dot time offsetsterni2-1/+7
Turns out this is an annoying thingy you sometimes to implement independently from formatting an entire timestamp, so we expose it for reuse. Change-Id: I11de2823eb03849ea78fc79e2f546e413882930f Reviewed-on: https://cl.tvl.fyi/c/depot/+/3163 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2021-01-25 r/2142 feat(klatre): support offsets in format-dottimesterni1-7/+12
Instead of bothering with local-time's feature rich timezone support we just pass the offset as an integer and render it ourselves. Change-Id: I1df2d02153e3ef21ae3b2871ad6ef57d0f6eff86 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2423 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-31 r/1510 feat(web/panettone): Display issue historyGriffin Smith2-1/+14
Display the history of an issue (which currently is just opening and closing) inline with the issue's comments on the issue show page Change-Id: Id167bceef765cb4c24e86983d1dcd6624d0e5956 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1497 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1438 feat(web/panettone): Read config from envGriffin Smith2-1/+8
Read the port and data directory from environment variables, in preparation for deploying as a systemd unit to Whitby Change-Id: I066dced7b7926b6bdc77132d13a4da6c886b20e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1338 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1433 feat(web/panettone): The start of a very simple issue trackerGriffin Smith1-2/+2
Initial commit for Panettone, a very simple issue tracker for TVL. In its current state this launches a web server with authenticates with our ldap server, and supports listing and creating issues via static html pages and simple forms. We've been needing an issue tracker for a while now, but none of the options out there seem very good - or there are some good ones, but they're AGPL licensed and we don't want to deal with them. Rather than muck around with Trac or Bugzilla, we've decided to write our own. Change-Id: I704f0996d15199329bbd5450f3d959046bf13973 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1337 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1422 feat(klatre): add dottime-format functionGriffin Smith3-1/+28
Add a function to klatre format a timestamp using dottime Change-Id: I24d8d91f49f352b606f44834f7229ab55b55afa0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1344 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-23 r/1421 feat(lisp/klatre): Add klatre, a grab-bag lisp util packageGriffin Smith3-0/+89
Add Klatre, a grab-bag common lisp utility package, including definitions for `comment`, `posp`, `chunk-list`, and `mapconcat`. The name traces its lineage back to Abseil, a similar grab-bag utility library for C++ - abseiling is what you do to go down a route after you're done climbing it, and klatre is norwegian for "to climb" Change-Id: I5efd91d8af827883679ce1a2eed3229b28e082ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/1346 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>