feat(third_party/lisp): Add 'lisp-binary' package and dependencies

This commit is contained in:
Vincent Ambo 2020-01-22 21:40:37 +00:00
parent d6e473068e
commit 2fa7bf7bb0
3 changed files with 64 additions and 0 deletions

20
third_party/lisp/closer-mop.nix vendored Normal file
View file

@ -0,0 +1,20 @@
# Closer to MOP is a compatibility layer that rectifies many of the
# absent or incorrect CLOS MOP features across a broad range of Common
# Lisp implementations
{ pkgs, ... }:
let src = pkgs.third_party.fetchFromGitHub {
owner = "pcostanza";
repo = "closer-mop";
rev = "e1d1430524086709a7ea8e0eede6849aa29d6276";
sha256 = "1zda6927379pmrsxpg29jnj6azjpa2pms9h7n1iwhy6q9d3w06rf";
};
in pkgs.nix.buildLisp.library {
name = "closer-mop";
srcs = [
"${src}/closer-mop-packages.lisp"
"${src}/closer-mop-shared.lisp"
"${src}/closer-sbcl.lisp"
];
}

30
third_party/lisp/lisp-binary.nix vendored Normal file
View file

@ -0,0 +1,30 @@
# A library to easily read and write complex binary formats.
{ pkgs, ... }:
let src = pkgs.third_party.fetchFromGitHub {
owner = "j3pic";
repo = "lisp-binary";
rev = "1aefc8618b7734f68697ddf59bc93cb8522aa0bf";
sha256 = "1hflzn3mjp32jz9fxx9wayp3c3x58s77cgjfbs06nrynqkv0c6df";
};
in pkgs.nix.buildLisp.library {
name = "lisp-binary";
deps = with pkgs.third_party.lisp; [
cffi
quasiquote_2
moptilities
flexi-streams
closer-mop
];
srcs = map (f: src + ("/" + f)) [
"utils.lisp"
"integer.lisp"
"float.lisp"
"simple-bit-stream.lisp"
"reverse-stream.lisp"
"binary-1.lisp"
"binary-2.lisp"
];
}

14
third_party/lisp/moptilities.nix vendored Normal file
View file

@ -0,0 +1,14 @@
# Compatibility layer for minor MOP implementation differences
{ pkgs, ... }:
let src = pkgs.third_party.fetchFromGitHub {
owner = "gwkkwg";
repo = "moptilities";
rev = "a436f16b357c96b82397ec018ea469574c10dd41";
sha256 = "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc";
};
in pkgs.nix.buildLisp.library {
name = "moptilities";
deps = [ pkgs.third_party.lisp.closer-mop ];
srcs = [ "${src}/dev/moptilities.lisp" ];
}