feat(third_party/lisp): Add 'lisp-binary' package and dependencies
This commit is contained in:
parent
d6e473068e
commit
2fa7bf7bb0
3 changed files with 64 additions and 0 deletions
20
third_party/lisp/closer-mop.nix
vendored
Normal file
20
third_party/lisp/closer-mop.nix
vendored
Normal 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
30
third_party/lisp/lisp-binary.nix
vendored
Normal 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
14
third_party/lisp/moptilities.nix
vendored
Normal 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" ];
|
||||
}
|
Loading…
Reference in a new issue