about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-09-02T00·24+0100
committerVincent Ambo <tazjin@google.com>2019-09-02T00·24+0100
commitb43e5529f770818710fffd2458e320f49272d26f (patch)
tree6db312785f934137d3245b2f6261986a576b263b
parenta635beabfa965436e411d76473714f8b53d29549 (diff)
feat(third_party): Add missing Quicklisp packages for Gemma r/69
Gemma depends on cl-prevalence, which isn't in the nixpkgs Quicklisp
snapshot.

This adds the package and its dependencies to the overlay.
-rw-r--r--default.nix7
-rw-r--r--third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix27
-rw-r--r--third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix25
-rw-r--r--third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix27
-rw-r--r--third_party/common_lisp/quicklisp.nix29
5 files changed, 115 insertions, 0 deletions
diff --git a/default.nix b/default.nix
index e5a384ca1230..71ac4c3c6e13 100644
--- a/default.nix
+++ b/default.nix
@@ -50,6 +50,13 @@ let
       rev = "14f9ee66e63077539252f8b4550049381a082518";
       sha256 = "1wn7nmb1cqfk2j91l3rwc6yhimfkzxprb8wknw5wi57yhq9m6lv1";
     }) {}).elmPackages;
+
+    # One of Gemma's dependencies is missing in nixpkgs' Quicklisp
+    # package set, it is overlaid locally here.
+    lispPackages = import ./third_party/common_lisp/quicklisp.nix {
+      inherit (self) lib;
+      inherit (super) lispPackages;
+    };
   };
 
 in { ... } @ args: import stableSrc (args // {
diff --git a/third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix b/third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix
new file mode 100644
index 000000000000..4e5e3ec5d6e8
--- /dev/null
+++ b/third_party/common_lisp/quicklisp-to-nix-output/cl-prevalence.nix
@@ -0,0 +1,27 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''cl-prevalence'';
+  version = ''20130720-hg'';
+
+  description = ''Common Lisp Prevalence Package'';
+
+  deps = [ args."s-sysdeps" args."s-xml" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/cl-prevalence/2013-07-20/cl-prevalence-20130720-hg.tgz'';
+    sha256 = ''09pqbw6xcgy0242npiqw7sd8jwwjc0kz7m0sas48jjr0zgnnmi89'';
+  };
+
+  packageName = "cl-prevalence";
+
+  asdFilesToKeep = ["cl-prevalence.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM cl-prevalence DESCRIPTION Common Lisp Prevalence Package SHA256
+    09pqbw6xcgy0242npiqw7sd8jwwjc0kz7m0sas48jjr0zgnnmi89 URL
+    http://beta.quicklisp.org/archive/cl-prevalence/2013-07-20/cl-prevalence-20130720-hg.tgz
+    MD5 6176c34b8e1621b65906b1575d9fa20d NAME cl-prevalence FILENAME
+    cl-prevalence DEPS
+    ((NAME s-sysdeps FILENAME s-sysdeps) (NAME s-xml FILENAME s-xml))
+    DEPENDENCIES (s-sysdeps s-xml) VERSION 20130720-hg SIBLINGS
+    (cl-prevalence-test) PARASITES NIL) */
diff --git a/third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix b/third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix
new file mode 100644
index 000000000000..1c28ec6e2afd
--- /dev/null
+++ b/third_party/common_lisp/quicklisp-to-nix-output/s-sysdeps.nix
@@ -0,0 +1,25 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''s-sysdeps'';
+  version = ''20130128-git'';
+
+  description = ''An abstraction layer over platform dependent functionality'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/s-sysdeps/2013-01-28/s-sysdeps-20130128-git.tgz'';
+    sha256 = ''048q0mzypnm284bvv7036d4z7bv7rdcqks5l372s74kq279l2y00'';
+  };
+
+  packageName = "s-sysdeps";
+
+  asdFilesToKeep = ["s-sysdeps.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM s-sysdeps DESCRIPTION
+    An abstraction layer over platform dependent functionality SHA256
+    048q0mzypnm284bvv7036d4z7bv7rdcqks5l372s74kq279l2y00 URL
+    http://beta.quicklisp.org/archive/s-sysdeps/2013-01-28/s-sysdeps-20130128-git.tgz
+    MD5 2fe61fadafd62ef9597e17b4783889ef NAME s-sysdeps FILENAME s-sysdeps DEPS
+    NIL DEPENDENCIES NIL VERSION 20130128-git SIBLINGS NIL PARASITES NIL) */
diff --git a/third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix b/third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix
new file mode 100644
index 000000000000..ec12dde52231
--- /dev/null
+++ b/third_party/common_lisp/quicklisp-to-nix-output/s-xml.nix
@@ -0,0 +1,27 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''s-xml'';
+  version = ''20150608-git'';
+
+  parasites = [ "s-xml.examples" "s-xml.test" ];
+
+  description = ''Simple Common Lisp XML Parser'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz'';
+    sha256 = ''0cy36wqzasqma4maw9djq1vdwsp5hxq8svlbnhbv9sq9zzys5viq'';
+  };
+
+  packageName = "s-xml";
+
+  asdFilesToKeep = ["s-xml.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM s-xml DESCRIPTION Simple Common Lisp XML Parser SHA256
+    0cy36wqzasqma4maw9djq1vdwsp5hxq8svlbnhbv9sq9zzys5viq URL
+    http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz
+    MD5 9c31c80f0661777c493fab683f776716 NAME s-xml FILENAME s-xml DEPS NIL
+    DEPENDENCIES NIL VERSION 20150608-git SIBLINGS NIL PARASITES
+    (s-xml.examples s-xml.test)) */
diff --git a/third_party/common_lisp/quicklisp.nix b/third_party/common_lisp/quicklisp.nix
new file mode 100644
index 000000000000..a0040f1d6f7e
--- /dev/null
+++ b/third_party/common_lisp/quicklisp.nix
@@ -0,0 +1,29 @@
+# Overlay over `pkgs.lispPackages` that adds additional packages which
+# are missing from the imported Quicklisp package set in nixpkgs.
+
+{ lib, lispPackages }:
+
+let inherit (lispPackages) buildLispPackage qlOverrides fetchurl;
+in lispPackages // lib.fix(self: {
+  "s-xml" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."s-xml" or (x: {}))
+       (import ./quicklisp-to-nix-output/s-xml.nix {
+         inherit fetchurl;
+       }));
+
+  "s-sysdeps" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."s-sysdeps" or (x: {}))
+       (import ./quicklisp-to-nix-output/s-sysdeps.nix {
+         inherit fetchurl;
+       }));
+
+  "cl-prevalence" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."cl-prevalence" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-prevalence.nix {
+         inherit fetchurl;
+         inherit (self) s-sysdeps s-xml;
+       }));
+})