about summary refs log tree commit diff
path: root/third_party/lisp/s-xml/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/lisp/s-xml/default.nix')
-rw-r--r--third_party/lisp/s-xml/default.nix28
1 files changed, 17 insertions, 11 deletions
diff --git a/third_party/lisp/s-xml/default.nix b/third_party/lisp/s-xml/default.nix
index 82b6317f372c..3cd13ffb6b67 100644
--- a/third_party/lisp/s-xml/default.nix
+++ b/third_party/lisp/s-xml/default.nix
@@ -1,17 +1,23 @@
 # XML serialiser for Common Lisp.
-#
-# This system was imported from a Quicklisp tarball at 's-xml-20150608'.
-{ depot, ... }:
+{ depot, pkgs, ... }:
 
-depot.nix.buildLisp.library {
+let src = pkgs.applyPatches {
+  name = "s-xml-source";
+  src = pkgs.lispPackages.s-xml.src;
+
+  patches = [
+    ./0001-fix-definition-order-in-xml.lisp.patch
+  ];
+};
+in depot.nix.buildLisp.library {
   name = "s-xml";
 
-  srcs = [
-    ./src/package.lisp
-    ./src/xml.lisp
-    ./src/dom.lisp
-    ./src/lxml-dom.lisp
-    ./src/sxml-dom.lisp
-    ./src/xml-struct-dom.lisp
+  srcs = map (f: src + ("/src/" + f)) [
+    "package.lisp"
+    "xml.lisp"
+    "dom.lisp"
+    "lxml-dom.lisp"
+    "sxml-dom.lisp"
+    "xml-struct-dom.lisp"
   ];
 }