diff options
author | Griffin Smith <grfn@gws.fyi> | 2020-07-24T17·36-0400 |
---|---|---|
committer | glittershark <grfn@gws.fyi> | 2020-07-26T21·55+0000 |
commit | da8bc7635e746ba313801632c9001df9161d3605 (patch) | |
tree | ac6c185a78ff8751baecb49b9443e2a3427280e7 /third_party/lisp/postmodern.nix | |
parent | 273053dbf3287c02dda60b442cf138a412d8f75b (diff) |
feat(3p/lisp): Add postmodern r/1485
Change-Id: If6ffd9a2344dc98e95312ddcce14ba5c2519d004 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1420 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'third_party/lisp/postmodern.nix')
-rw-r--r-- | third_party/lisp/postmodern.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/third_party/lisp/postmodern.nix b/third_party/lisp/postmodern.nix new file mode 100644 index 000000000000..cc133eeb8939 --- /dev/null +++ b/third_party/lisp/postmodern.nix @@ -0,0 +1,91 @@ +{ depot, pkgs, ... }: + +let + inherit (depot.nix.buildLisp) bundled; + + src = pkgs.fetchFromGitHub { + owner = "marijnh"; + repo = "Postmodern"; + rev = "v1.32"; + sha256 = "0prwmpixcqpzqd67v77cs4zgbs73a10m6hs7q0rpv0z1qm7mqfcb"; + }; + + cl-postgres = depot.nix.buildLisp.library { + name = "cl-postgres"; + deps = with pkgs.lisp; [ + md5 + split-sequence + ironclad + cl-base64 + uax-15 + usocket + (bundled "sb-bsd-sockets") + ]; + + srcs = map (f: src + ("/cl-postgres/" + f)) [ + "package.lisp" + "features.lisp" + "errors.lisp" + "sql-string.lisp" + "trivial-utf-8.lisp" + "strings-utf-8.lisp" + "communicate.lisp" + "messages.lisp" + "oid.lisp" + "ieee-floats.lisp" + "interpret.lisp" + "saslprep.lisp" + "scram.lisp" + "protocol.lisp" + "public.lisp" + "bulk-copy.lisp" + ]; + }; + + s-sql = depot.nix.buildLisp.library { + name = "s-sql"; + deps = with pkgs.lisp; [ + cl-postgres + alexandria + ]; + + srcs = map (f: src + ("/s-sql/" + f)) [ + "package.lisp" + "s-sql.lisp" + ]; + }; + + postmodern = depot.nix.buildLisp.library { + name = "postmodern"; + + deps = with pkgs.lisp; [ + alexandria + cl-postgres + s-sql + global-vars + split-sequence + cl-unicode + closer-mop + bordeaux-threads + ]; + + srcs = [ + "${src}/postmodern.asd" + ] ++ (map (f: src + ("/postmodern/" + f)) [ + "package.lisp" + "connect.lisp" + "query.lisp" + "prepare.lisp" + "roles.lisp" + "util.lisp" + "transaction.lisp" + "namespace.lisp" + "execute-file.lisp" + "table.lisp" + "deftable.lisp" + ]); + }; + +in postmodern // { + inherit s-sql cl-postgres; +} |