about summary refs log tree commit diff
path: root/third_party/lisp/uax-15.nix
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/lisp/uax-15.nix')
-rw-r--r--third_party/lisp/uax-15.nix25
1 files changed, 11 insertions, 14 deletions
diff --git a/third_party/lisp/uax-15.nix b/third_party/lisp/uax-15.nix
index a13e5c1690..1e44f88d5c 100644
--- a/third_party/lisp/uax-15.nix
+++ b/third_party/lisp/uax-15.nix
@@ -3,16 +3,7 @@
 let
   inherit (pkgs) runCommand;
   inherit (depot.nix.buildLisp) bundled;
-
-  src = pkgs.fetchFromGitHub {
-    owner = "sabracrolleton";
-    repo = "uax-15";
-    rev = "a62fc7253663fac6467fc6b6bb69a73a0e8dfaa0";
-    sha256 = "028kc3yfi29qjxs2nyr7dbrr2rcrr8lwpvbxvrq3g8bcwamc4jz4";
-  };
-
-  # src = ../../../uax-15;
-
+  src = with pkgs; srcOnly lispPackages.uax-15;
 in depot.nix.buildLisp.library {
   name = "uax-15";
 
@@ -23,22 +14,28 @@ in depot.nix.buildLisp.library {
   ];
 
   srcs = [
-    "${src}/uax-15.asd"
     "${src}/src/package.lisp"
     "${src}/src/utilities.lisp"
     "${src}/src/trivial-utf-16.lisp"
+
+    # uax-15 has runtime data files that need to have their references
+    # replaced with store paths.
+    #
+    # additionally there are some wonky variable usages of variables
+    # that are never defined, for which we patch in defvar statements.
     (runCommand "precomputed-tables.lisp" {} ''
       substitute ${src}/src/precomputed-tables.lisp precomputed-tables.lisp \
         --replace "(asdf:system-source-directory (asdf:find-system 'uax-15 nil))" \
                   '"${src}/"'
 
       sed -i precomputed-tables.lisp \
-        -e '17i(defvar *canonical-decomp-map*)' \
-        -e '17i(defvar *compatible-decomp-map*)' \
-        -e '17i(defvar *canonical-combining-class*)'
+        -e '10i(defvar *canonical-decomp-map*)' \
+        -e '10i(defvar *compatible-decomp-map*)' \
+        -e '10i(defvar *canonical-combining-class*)'
 
       cp precomputed-tables.lisp $out
     '')
+
     "${src}/src/normalize-backend.lisp"
     "${src}/src/uax-15.lisp"
   ];