feat(3p/lisp/closure-html): init at 2017-04-19
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>
This commit is contained in:
parent
281c09fae7
commit
70e5783e22
3 changed files with 166 additions and 0 deletions
16
third_party/lisp/closure-html/dtds-from-store.patch
vendored
Normal file
16
third_party/lisp/closure-html/dtds-from-store.patch
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
diff --git a/src/parse/html-parser.lisp b/src/parse/html-parser.lisp
|
||||
index 4e45b81..5025a26 100644
|
||||
--- a/src/parse/html-parser.lisp
|
||||
+++ b/src/parse/html-parser.lisp
|
||||
@@ -36,10 +36,7 @@
|
||||
(make-pathname
|
||||
:name nil
|
||||
:type nil
|
||||
- :defaults (merge-pathnames
|
||||
- "resources/"
|
||||
- (asdf:component-relative-pathname
|
||||
- (asdf:find-system :closure-html))))))
|
||||
+ :defaults "@out@/resources/")))
|
||||
(loop
|
||||
:for (name . filename)
|
||||
:in '(("-//W3O//DTD W3 HTML 3.0//EN" . "dtd/HTML-3.0")
|
Loading…
Add table
Add a link
Reference in a new issue