about summary refs log tree commit diff
path: root/third_party/lisp
AgeCommit message (Collapse)AuthorFilesLines
2021-09-02 r/2817 docs(3p/lisp/closure-common): mention need for ASDF, feature macrossterni1-9/+14
Luckily we don't need to deal with this mess since all our implementations work similarly wrt streams and “wide” characters. Change-Id: I3ccc606a59c42791f2591d752673c867d848a332 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3485 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-09-01 r/2815 feat(3p/lisp/mime4cl): build using buildLispsterni6-5/+69
The following changes are required to make mime4cl build: * file-position doesn't like to be called with NIL as the position argument, so we have to make sure to not do that in stream-file-position. My workaround is a bit clunky, but works. * Tests discover the sample file via relative path resolution. This doesn't work when they are imported into the nix store as individual files. Instead we make use of the fact that DEFVAR is a no-op if the variable is already defined and inject a file via the nix build that sets the relevant ones. For the path to sample1.msg, we need to create a new variable. Change-Id: I74eeda7bf2c2a4f64cc2b90e72081513ec3285d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3270 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-09-01 r/2814 chore(3p/lisp): import mime4cl source tarballsterni13-0/+3313
Used http://wcp.sdf-eu.org/software/mime4cl-20150207T211851.tbz (sha256 5a914669bba7561efe59a4fd0817204c07ad2add98b03ae206ef185ac04affb3). Importing seems sensible since there's no upstream repo nor has their been a release since 2015. This is just an import commit, so the changes made to make it build are more discoverable as their own commit. Change-Id: I2ff28c3c7433abdf7857204bc89eaf9edc0b1cbc Reviewed-on: https://cl.tvl.fyi/c/depot/+/3378 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-09-01 r/2813 feat(3p/lisp/npg): build using buildLispsterni4-1/+26
Change-Id: I9f987dc25d77a829cc0716cbe4cb1b91c36de861 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3269 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-09-01 r/2812 chore(3p/lisp): import npg source tarballsterni10-0/+3609
Used http://wcp.sdf-eu.org/software/npg-20150517T144652.tbz (sha256 42e88f6067128fbdb3a3d578371c9b0ee2a34f1d36daf80be8a520094132d828). There's no upstream repository nor a release since 2015, so importing seems to make a lot of sense. Since we can't subtree making any depot-related changes in a separate CL -- this is only the source import. Change-Id: I64c984ca0a84b9e48c6f496577ffccce1d7bdceb Reviewed-on: https://cl.tvl.fyi/c/depot/+/3377 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-09-01 r/2811 feat(3p/lisp/sclf): build using buildLispsterni7-11/+45
Adding the default.nix is quite straightforward, however we have to make today's SBCL happy: due to package locking it no longer likes sclf using an sb-impl internal constant for some reason. This is however a good opportunity to clean up the stat-*-time code: It converted the times in an implementation specific way even though time.lisp does provide a generic way to convert between unix and universal time. Note that the updated ASDF file is untested, but should be a trivial enough change. Change-Id: If193bf830ac704cc53e0855d8e9fff2b5a5ef291 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3268 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-09-01 r/2810 chore(3p/lisp): import sclf source tarballsterni12-0/+3599
Used http://wcp.sdf-eu.org/software/sclf-20150207T213551.tbz (sha256 a231aeecdb9e87c72642292a1e083fffb33e69ec1d34e667326c6c35b8bcc794). There's no upstream repository nor a release since 2015, so importing seems to make a lot of sense. Since we can't subtree making any depot-related changes in a separate CL to make them more discoverable -- this is only the source import. Change-Id: Ia51a7f4029dba3abd1eee4eeebcf99aca5c5ba4c Reviewed-on: https://cl.tvl.fyi/c/depot/+/3376 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-09-01 r/2809 feat(3p/lisp/closure-html): init at 2017-04-19sterni3-0/+166
This one requires a bit of jumping through hoops. Patching the dtd / catalog lookup is quite straightforward and similar to cxml, but the CLOSURE-HTML:*html-dtd* variable gives us a bit of trouble: It is defined quite late in `html-parser.lisp`, but files that need to be built first already reference it. SBCL has apparently decided to be particular about this and emits a `WARNING` (!) condition for this which is also worthy of `failure-p` of `compile-file` being true, so that `buildLisp` will abort compilation. We workaround this issue by injecting an extra source file which `defvar`s the desired symbol. A similar issue exists with `dump-dtd` which references `CL-USER:*HTML-DTD*` for some reason. Since this is a helper intended for development (?) and not exported we just throw it away via a patch. Change-Id: Ic0f92815a21f3793925c49a70a72f4a86791efe4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3263 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-09-01 r/2808 feat(3p/lisp/closure-common): init at 2018-09-09sterni1-0/+38
Change-Id: Ieec5470fe8fd54851b982c7a380185a3faeaa067 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3258 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-08-24 r/2772 feat(nix/buildLisp): add cclsterni10-12/+40
This adds support for Clozure's CL implementation to buildLisp. This is quite trivial in comparison to ECL since SBCL and CCL have very similar in how they work (so much so that CCL also suffers from b/136). Also the similarities in the code actually added here are striking, so I'll try to make an effort to reduce the code duplication in the future. To fix builds with CCL the following changes were made: * //3p/lisp/nibbles: The double inclusion of the types.lisp file was fixed. CCL doesn't like double definitions and refuses to compile otherwise. * //3p/lisp/physical-quantities: Update to a new bug fix release which contains a compilation fix for CCL. * //3p/lisp/routes: apply a patch fixing the build which was previously failing due to a double definition. * //3p/lisp/usocket: only depend on sb-bsd-sockets for SBCL and ECL, the latter of which seems to have a SBCL compatible implementation of the package. * Conditionally include a few CCL-specific source files and add `badImplementation` entries for the remaining failures which are //fun/gemma (to be expected) and //web/panettone which fails with an incredibly vague message. Change-Id: I666efdc39a0f16ee1bb6e23225784c709b04e740 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3350 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-08-24 r/2771 feat(nix/buildLisp): add eclsterni22-37/+120
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-16 r/2743 feat(3p/lisp/babel): 2019-11-26 -> 2020-07-19sterni1-1/+1
Change-Id: I2e1a4e0fdbe0fd2dec3c2a0d5eb73d2a516ae768 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3354 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-08-16 r/2742 feat(3p/lisp/closer-mop): 2019-12-29 -> 2021-07-30sterni1-2/+2
Change-Id: I12c8c700db31aee8993d6d3752ea1bb217c30923 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3353 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-08-16 r/2741 feat(3p/lisp/iterate): 2018-02-07 -> 2021-05-23sterni1-1/+1
Seems to fix weird issues related to CCL I encountered. Change-Id: Id5c34c7c98e22b2bc56d6723af85cac1e031ed72 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3365 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-08-15 r/2740 feat(3p/lisp/nibbles): 2017-03-07 -> 2021-05-20sterni1-3/+8
Also allows us to enable the SBCL opt modules. Upstream changes as sharplispers has the only maintained nibbles fork atm. Change-Id: I6f0d1b9e4e570169e5f5c584364948e2031063af Reviewed-on: https://cl.tvl.fyi/c/depot/+/3364 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-08-15 r/2739 fix(3p/lisp/ironclad): add missing dependency on sb-posixsterni1-0/+1
This was previously propagated from somewhere else, but is actually needed here. Change-Id: I921758320ff5567b451291c69c8532d43a5c898c Reviewed-on: https://cl.tvl.fyi/c/depot/+/3358 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-08-15 r/2734 feat(3p/lisp/cl-fad): 2019-07-28 -> 2021-01-10sterni1-2/+2
Change-Id: I695debc8895a347df5aa839b0b03331cacf90039 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3355 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-08-15 r/2733 fix(3p/lisp/babel): add missing dep on trivial-featuressterni1-1/+4
Change-Id: I0b95f3d6cade04de3f322a3eb209ff21eb9a98c2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3352 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-08-15 r/2732 refactor(3p/lisp/postmodern): remove unneeded dep on sb-bsd-socketssterni1-1/+0
Change-Id: I74ac3573a2181a89b15d7c2d037c423f5f991c7e Reviewed-on: https://cl.tvl.fyi/c/depot/+/3351 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-08-12 r/2725 feat(3p/lisp/trivial-features): 2019-07-02 -> 2020-02-28sterni1-1/+1
Specifically fixes some features missing with ECL. Change-Id: Ib04a0dc3a6e299b07d405fab7b593d2c1cbda896 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3345 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: grfn <grfn@gws.fyi>
2021-04-12 r/2485 refactor(users/glittershark): Rename to grfnGriffin Smith1-1/+1
Rename my //users directory and all places that refer to glittershark to grfn, including nix references and documentation. This may require some extra attention inside of gerrit's database after it lands to allow me to actually push things. Change-Id: I4728b7ec2c60024392c1c1fa6e0d4a59b3e266fa Reviewed-on: https://cl.tvl.fyi/c/depot/+/2933 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: glittershark <grfn@gws.fyi>
2021-04-12 r/2484 feat(3p): upgrade sbcl to 2.1.2sterni3-6/+10
sbcl 2.0.9 introduced a new warning: > minor incompatible change: the compiler signals a warning at > compile-time when an initform of T, NIL or 0 does not match > a STANDARD-CLASS slot's declared type. This broke a few packages, but they all have been fixed upstream in the meantime and we only need to bump their versions. The culprits are: * defclass-std which possibly has become unmaintained since the fix (december 2020). * cl-prevalence which also needs one symbol from bt now * lisp-binary which also includes a new file now Change-Id: I06bb47a129d5ef912a623315c1281aedd1ceac2a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2934 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: glittershark <grfn@gws.fyi>
2021-04-10 r/2461 refactor(third_party): Consistent use of depot.third_party vs. pkgsVincent Ambo23-63/+62
In preparation for the solution of b/108, we need to consistently use `depot.third_party` for packages that are only packed in the TVL depot and `pkgs` for things that come from nixpkgs. This commit cleans up a huge chunk of these uses in //third_party Change-Id: Ic382c0cdea7330a84d5f0b7d109c824ddceb94e7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2912 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-03 r/2413 feat(3p/lisp): Add cl-smtpGriffin Smith1-0/+28
Change-Id: Idbf63e346b696fb6704390d7a76a2f2b2d3bc190 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2802 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-03-27 r/2351 fix(3p/lisp/puri): Use fetchgit for source, update versionGriffin Smith1-4/+3
Something changed in the upstream we fetch this source from that's causing the fetch to fail - I can only assume it's a yanked rev, but I'm not really sure. fetchgit from nixpkgs appears to be a little bit more robust than builtins.fetchGit, so let's switch to that, and also upgrade to a rev that we know is present. Fixes: b/96 Change-Id: I8983c2df11ab4fa20f60915f950c6a7378efd2fd Reviewed-on: https://cl.tvl.fyi/c/depot/+/2691 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2020-11-21 r/1894 chore(3p): Bump nixpkgs to nixos-unstable from 2020-11-21Vincent Ambo1-1/+1
Included fixes for random breakage: * 3p/awscli: pick from the stable channel; it is broken on unstable * 3p/googletest: bumped version & removed patches that nixpkgs applies * 3p/lisp/cffi: bumped library version for SBCL compat * 3p/nix: fix libsystemd attribute * 3p/nix: reformatted (clang-format handling of ternaries changed) * glittershark/home: Use home-manager from nixkpgs * glittershark/kernel: bumped linux-ck patch hash * glittershark/kernel: removed "patch patch" * multi/whitby: Use home-manager from nixpkgs * tazjin/frog: drop Sourcetrail (it doesn't build currently) Note that in addition to these changes, some previous CLs updated the versions of git and cgit which was necessary for this channel bump, but which could not be done in the same commit due to the nature of the subtree merges. Change-Id: If2563e8a68e2750c4b913a976ff7b93b42e8b7f3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2110 Tested-by: BuildkiteCI Reviewed-by: multi <depot@in-addr.xyz> Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-27 r/1491 feat(3p/lisp): Add checklGriffin Smith2-0/+46
Change-Id: Ib73ed9637b7e22050727ac5ec117241e18d3cc45 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1472 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2020-07-26 r/1485 feat(3p/lisp): Add postmodernGriffin Smith4-0/+228
Change-Id: If6ffd9a2344dc98e95312ddcce14ba5c2519d004 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1420 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-26 r/1483 feat(3p/lisp): Add ironcladGriffin Smith2-0/+172
Add ironclad, a common lisp library for cryptography. This is a huge library with a lot of moving parts - probably most notable here is that I've had to turn off compiling with `:ironclad-assembly`, as it was causing an infinite loop in the compiler due to https://github.com/sharplispers/ironclad/blob/master/src/opt/sbcl/cpu-features.lisp#L9-L10, a mutually self-recursive function that looks like: (defun aes-ni-support-p () (aes-ni-support-p)) Without knowing much about how sbcl handles native-compiled assembly, it seems like this definition should actually be skipped entirely, due to it being defined as a `defknown` in `fndb.lisp`: (defknown ironclad::aes-ni-support-p () (boolean) (any) :overwrite-fndb-silently t) But something about how we're compiling things was causing that not to happen, and the infinite recursion caused the compiler to hang. This should be fixed at some point, but given I only need this library as a transitive dependency down a level I'm not going to attempt to do so now. Change-Id: Id768717991404f959b003c7e2f28f1f4d532b94b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1333 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-26 r/1482 chore(3p/lisp): Add eta & glittershark to OWNERSVincent Ambo1-0/+5
Change-Id: I372d84b2fa979059bda14264b23f9c11adaf4222 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1470 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-23 r/1423 feat(3p/lisp): Add LASSGriffin Smith6-0/+147
Add LASS, a CSS library Change-Id: I225959b12210895d0e5baf8a41ac09b0351f0aed Reviewed-on: https://cl.tvl.fyi/c/depot/+/1349 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1420 feat(3p/lisp): Add many packagesGriffin Smith9-0/+210
Add the following packages along with their transitive dependencies: - trivial-ldap - defclass-std - easy-routes Change-Id: Ib24517f18d14d57540362132c9a24ff2a5a4bd9d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1336 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-21 r/1417 feat(3p/lisp): Add cl-whoGriffin Smith1-0/+21
Change-Id: I35fcb65966be2bc63ef534ab0d575aae8beb3cdf Reviewed-on: https://cl.tvl.fyi/c/depot/+/1327 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-02-21 r/559 chore: Rename pkgs->depot in all Nix file headersVincent Ambo37-111/+110
2020-01-29 r/474 feat(third_party/lisp): Add derivation for unix-optsVincent Ambo1-0/+17
2020-01-26 r/462 refactor(third_party/lisp): Use buildLisp.bundled for built-in libsVincent Ambo14-74/+36
Deprecates derivations for: * sb-bsd-sockets * sb-posix * sb-rotate-byte * uiop
2020-01-22 r/452 feat(third_party/lisp): Add 'lisp-binary' package and dependenciesVincent Ambo3-0/+64
2020-01-22 r/451 feat(third_party/lisp): Add 'iterate' and 'quasiquote-2.0' packagesVincent Ambo3-3/+35
2020-01-22 r/450 Merge commit '47f60d0996ed57d3a3c00b25ddbd8fea04096f90' as ↵Vincent Ambo8-0/+895
'third_party/lisp/quasiquote_2'
2020-01-22 r/444 fix(third_party/lisp/bordeaux-threads): Use native condvars on SBCLVincent Ambo1-1/+0
This underlines that I should probably have a thing that imports these automatically.
2020-01-22 r/439 feat(third_party/lisp): Check in dependencies of gemmaVincent Ambo4-0/+89
2020-01-22 r/438 feat(third_party/lisp/s-xml): Check in sources & derivationVincent Ambo23-0/+2389
Checked in the sources for this because it is tracked upstream in CVS and I can't be bothered to deal with that right now.
2020-01-22 r/437 feat(third_party/lisp): Add derivations for hunchentoot & depsVincent Ambo5-0/+131
2020-01-21 r/436 feat(third_party/lisp): Check in drakma HTTP client & depsVincent Ambo8-0/+188
This HTTP client has much fewer dependencies than some of the other ones I've seen, and it'll be good enough for my demo purposes.
2020-01-17 r/397 feat(third_party/lisp): Add derivation for fiveamVincent Ambo1-0/+28
2020-01-17 r/396 Merge commit '728a186263688293c214297cf8ea34dde8b20edb' as ↵Vincent Ambo20-0/+2596
'third_party/lisp/fiveam'
2020-01-17 r/395 refactor(third_party/lisp): Amend alexandria drv for local sourcesVincent Ambo2-32/+28
2020-01-17 r/394 Merge commit '95aeb2ebae32a01ff79644daa523bda5d8552863' as ↵Vincent Ambo29-0/+6252
'third_party/lisp/alexandria'
2020-01-17 r/393 feat(third_party/lisp): Add derivation for trivial-backtraceVincent Ambo1-0/+15
2020-01-17 r/392 Merge commit 'cc026178a94f94fa9c79cedc66cbaf5ab78c21c1' as ↵Vincent Ambo19-0/+809
'third_party/lisp/trivial-backtrace'