about summary refs log tree commit diff
path: root/third_party
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2020-07-21T22·53-0400
committerglittershark <grfn@gws.fyi>2020-07-23T00·08+0000
commit08397fd7579c32a9a1d9bdd1b33abce9209f7c47 (patch)
treed831babe8fae1ef883d97ef4ffbf5db5a4a334c6 /third_party
parentef64479c9dbd590c50eee27b21596102024f8bc5 (diff)
feat(3p/lisp): Add many packages r/1420
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>
Diffstat (limited to 'third_party')
-rw-r--r--third_party/lisp/anaphora.nix18
-rw-r--r--third_party/lisp/cl-yacc.nix15
-rw-r--r--third_party/lisp/data-sift.nix27
-rw-r--r--third_party/lisp/defclass-std.nix19
-rw-r--r--third_party/lisp/easy-routes.nix26
-rw-r--r--third_party/lisp/parse-number.nix17
-rw-r--r--third_party/lisp/restas.nix38
-rw-r--r--third_party/lisp/routes.nix28
-rw-r--r--third_party/lisp/trivial-ldap.nix22
9 files changed, 210 insertions, 0 deletions
diff --git a/third_party/lisp/anaphora.nix b/third_party/lisp/anaphora.nix
new file mode 100644
index 0000000000..d2356f7b05
--- /dev/null
+++ b/third_party/lisp/anaphora.nix
@@ -0,0 +1,18 @@
+{ depot, pkgs, ... }:
+
+let src = pkgs.fetchFromGitHub {
+    owner = "tokenrove";
+    repo = "anaphora";
+    rev = "018590df36ffb30ece561fb28ea6521363efc6e2";
+    sha256 = "0pq6y5swvrjd0kjs2dl2648s13s0pzxin0chrq35jam8jrci3kd1";
+  };
+in depot.nix.buildLisp.library {
+  name = "anaphora";
+
+  srcs = map (f: src + ("/" + f)) [
+    "packages.lisp"
+    "early.lisp"
+    "symbolic.lisp"
+    "anaphora.lisp"
+  ];
+}
diff --git a/third_party/lisp/cl-yacc.nix b/third_party/lisp/cl-yacc.nix
new file mode 100644
index 0000000000..d2ceb81103
--- /dev/null
+++ b/third_party/lisp/cl-yacc.nix
@@ -0,0 +1,15 @@
+{ depot, pkgs, ... }:
+
+let src = pkgs.fetchFromGitHub {
+    owner = "jech";
+    repo = "cl-yacc";
+    rev = "1334f5469251ffb3f8738a682dc8ee646cb26635";
+    sha256 = "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib";
+  };
+in depot.nix.buildLisp.library {
+  name = "cl-yacc";
+
+  srcs = map (f: src + ("/" + f)) [
+    "yacc.lisp"
+  ];
+}
diff --git a/third_party/lisp/data-sift.nix b/third_party/lisp/data-sift.nix
new file mode 100644
index 0000000000..18593421e8
--- /dev/null
+++ b/third_party/lisp/data-sift.nix
@@ -0,0 +1,27 @@
+{ depot, pkgs, ... }:
+
+let
+
+  src = pkgs.fetchFromGitHub {
+    owner = "archimag";
+    repo = "data-sift";
+    rev = "fd617d8200cdcc1b87ecf45ab59bb38e8b16ef7e";
+    sha256 = "1v7gf0x4ibjzp0c56n9m77hxdgwcm9356zlk5n4l3fx4i0hj6146";
+  };
+
+in depot.nix.buildLisp.library {
+  name = "data-sift";
+  deps = with depot.third_party.lisp; [
+    cl-ppcre
+    parse-number
+    alexandria
+    puri
+  ];
+
+  srcs = map (f: src + ("/src/" + f)) [
+    "packages.lisp"
+    "conditions.lisp"
+    "sift.lisp"
+  ];
+
+}
diff --git a/third_party/lisp/defclass-std.nix b/third_party/lisp/defclass-std.nix
new file mode 100644
index 0000000000..2573e46f53
--- /dev/null
+++ b/third_party/lisp/defclass-std.nix
@@ -0,0 +1,19 @@
+{ depot, pkgs, ... }:
+
+let src = pkgs.fetchFromGitHub {
+    owner = "EuAndreh";
+    repo = "defclass-std";
+    rev = "0300f171c1308e5ff3efd66b4f4e766f2bcde259";
+    sha256 = "0ggzh80ajx4k6w5c3xprnd7m27q5hx9xx9lxs4jv0pbrlg18ijcw";
+  };
+in depot.nix.buildLisp.library {
+  name = "defclass-std";
+  deps = with depot.third_party.lisp; [
+    alexandria
+    anaphora
+  ];
+
+  srcs = map (f: src + ("/src/" + f)) [
+    "defclass-std.lisp"
+  ];
+}
diff --git a/third_party/lisp/easy-routes.nix b/third_party/lisp/easy-routes.nix
new file mode 100644
index 0000000000..63eb8b5e38
--- /dev/null
+++ b/third_party/lisp/easy-routes.nix
@@ -0,0 +1,26 @@
+{ depot, pkgs, ... }:
+
+let
+
+  src = pkgs.fetchFromGitHub {
+    owner = "mmontone";
+    repo = "easy-routes";
+    rev = "dab613ff419a655036a00beecee026ab6e0ba430";
+    sha256 = "06lnipwc6mmg0v5gybcnr7wn5xmn5xfd1gs19vbima777245bfka";
+  };
+
+in depot.nix.buildLisp.library {
+  name = "easy-routes";
+  deps = with depot.third_party.lisp; [
+    hunchentoot
+    routes
+  ];
+
+  srcs = map (f: src + ("/" + f)) [
+    "package.lisp"
+    "util.lisp"
+    "easy-routes.lisp"
+    "routes-map-printer.lisp"
+  ];
+
+}
diff --git a/third_party/lisp/parse-number.nix b/third_party/lisp/parse-number.nix
new file mode 100644
index 0000000000..1ceba2863d
--- /dev/null
+++ b/third_party/lisp/parse-number.nix
@@ -0,0 +1,17 @@
+{ depot, pkgs, ... }:
+
+let
+
+  src = pkgs.fetchFromGitHub {
+    owner = "sharplispers";
+    repo = "parse-number";
+    rev = "7707b224c4b941c2cbd28459113534242cee3a31";
+    sha256 = "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7";
+  };
+
+in depot.nix.buildLisp.library {
+  name = "parse-number";
+  srcs = map (f: src + ("/" + f)) [
+    "parse-number.lisp"
+  ];
+}
diff --git a/third_party/lisp/restas.nix b/third_party/lisp/restas.nix
new file mode 100644
index 0000000000..8a0b5f907f
--- /dev/null
+++ b/third_party/lisp/restas.nix
@@ -0,0 +1,38 @@
+{ depot, pkgs, ... }:
+
+let
+
+  src = pkgs.fetchFromGitHub {
+    owner = "archimag";
+    repo = "restas";
+    rev = "81bbbab6b36f81f846f78e71232e9d3d15f6d952";
+    sha256 = "00ng6jik1lwjw3bbxhijy8s0ml24lgm73liwrr01gcsb0r6wrjjn";
+  };
+
+in depot.nix.buildLisp.library {
+  name = "restas";
+  deps = with depot.third_party.lisp; [
+    cffi
+    hunchentoot
+    bordeaux-threads
+    routes
+    alexandria
+    data-sift
+  ];
+
+  srcs = map (f: src + ("/src/" + f)) [
+    "packages.lisp"
+    "special.lisp"
+    "declarations.lisp"
+    "errors.lisp"
+    "render.lisp"
+    "context.lisp"
+    "module.lisp"
+    "route.lisp"
+    "decorators.lisp"
+    "vhost.lisp"
+    "hunchentoot.lisp"
+    "policy.lisp"
+  ];
+
+}
diff --git a/third_party/lisp/routes.nix b/third_party/lisp/routes.nix
new file mode 100644
index 0000000000..61c6749660
--- /dev/null
+++ b/third_party/lisp/routes.nix
@@ -0,0 +1,28 @@
+{ depot, pkgs, ... }:
+
+let
+
+  src = pkgs.fetchFromGitHub {
+    owner = "archimag";
+    repo = "cl-routes";
+    rev = "1b79e85aa653e1ec87e21ca745abe51547866fa9";
+    sha256 = "1zpk3cp2v8hm50ppjl10yxr437vv4552r8hylvizglzrq2ibsbr1";
+  };
+
+in depot.nix.buildLisp.library {
+  name = "routes";
+
+  deps = with depot.third_party.lisp; [
+    puri
+    iterate
+    split-sequence
+  ];
+
+  srcs = map (f: src + ("/src/" + f)) [
+    "package.lisp"
+    "uri-template.lisp"
+    "route.lisp"
+    "mapper.lisp"
+  ];
+
+}
diff --git a/third_party/lisp/trivial-ldap.nix b/third_party/lisp/trivial-ldap.nix
new file mode 100644
index 0000000000..aed651239d
--- /dev/null
+++ b/third_party/lisp/trivial-ldap.nix
@@ -0,0 +1,22 @@
+{ depot, pkgs, ... }:
+
+let src = pkgs.fetchFromGitHub {
+    owner = "rwiker";
+    repo = "trivial-ldap";
+    rev = "3b8f1ff85f29ea63e6ab2d0d27029d68b046faf8";
+    sha256 = "1zaa4wnk5y5ff211pkg6dl27j4pjwh56hq0246slxsdxv6kvp1z9";
+  };
+in depot.nix.buildLisp.library {
+  name = "trivial-ldap";
+
+  deps = with pkgs.lisp; [
+    usocket
+    cl-plus-ssl
+    cl-yacc
+  ];
+
+  srcs = map (f: src + ("/" + f)) [
+    "package.lisp"
+    "trivial-ldap.lisp"
+  ];
+}