feat(3p/lisp): Add str package and dependencies
Change-Id: Iffb66f4580517b1dbfee8c79e766552508695e5f Reviewed-on: https://cl.tvl.fyi/c/depot/+/11252 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: aspen <root@gws.fyi>
This commit is contained in:
parent
87d5dd6371
commit
d5f57ac6e6
3 changed files with 83 additions and 0 deletions
22
third_party/lisp/cl-change-case.nix
vendored
Normal file
22
third_party/lisp/cl-change-case.nix
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ depot, pkgs, ... }:
|
||||||
|
|
||||||
|
let src = with pkgs; srcOnly lispPackages.cl-change-case;
|
||||||
|
in depot.nix.buildLisp.library {
|
||||||
|
name = "cl-change-case";
|
||||||
|
|
||||||
|
deps = with depot.third_party.lisp; [ cl-ppcre cl-ppcre.unicode ];
|
||||||
|
|
||||||
|
srcs = [ (src + "/src/cl-change-case.lisp") ];
|
||||||
|
|
||||||
|
tests = {
|
||||||
|
name = "cl-change-case-tests";
|
||||||
|
srcs = [ (src + "/t/cl-change-case.lisp") ];
|
||||||
|
deps = [
|
||||||
|
depot.third_party.lisp.fiveam
|
||||||
|
];
|
||||||
|
|
||||||
|
expression = ''
|
||||||
|
(5am:run! :cl-change-case)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
12
third_party/lisp/cl-ppcre.nix
vendored
12
third_party/lisp/cl-ppcre.nix
vendored
|
@ -24,4 +24,16 @@ in depot.nix.buildLisp.library {
|
||||||
"scanner.lisp"
|
"scanner.lisp"
|
||||||
"api.lisp"
|
"api.lisp"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
unicode = depot.nix.buildLisp.library {
|
||||||
|
name = "cl-ppcre-unicode";
|
||||||
|
deps = with depot.third_party.lisp; [ cl-ppcre cl-unicode ];
|
||||||
|
|
||||||
|
srcs = map (f: src + ("/cl-ppcre-unicode/" + f)) [
|
||||||
|
"packages.lisp"
|
||||||
|
"resolver.lisp"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
49
third_party/lisp/str.nix
vendored
Normal file
49
third_party/lisp/str.nix
vendored
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{ depot, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (depot.nix) buildLisp;
|
||||||
|
src = with pkgs; srcOnly lispPackages.str;
|
||||||
|
in
|
||||||
|
buildLisp.library {
|
||||||
|
name = "str";
|
||||||
|
|
||||||
|
deps = with depot.third_party.lisp; [
|
||||||
|
{
|
||||||
|
sbcl = buildLisp.bundled "uiop";
|
||||||
|
default = buildLisp.bundled "asdf";
|
||||||
|
}
|
||||||
|
cl-ppcre
|
||||||
|
cl-ppcre.unicode
|
||||||
|
cl-change-case
|
||||||
|
];
|
||||||
|
|
||||||
|
srcs = [
|
||||||
|
(pkgs.runCommand "str.lisp" { } ''
|
||||||
|
substitute ${src}/str.lisp $out \
|
||||||
|
--replace-fail \
|
||||||
|
'(asdf:component-version (asdf:find-system "str"))' \
|
||||||
|
'"${pkgs.lispPackages.str.meta.version}"'
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
|
||||||
|
brokenOn = [
|
||||||
|
"ccl" # In REPLACE-USING: Shouldn't assign to variable I
|
||||||
|
];
|
||||||
|
|
||||||
|
tests = {
|
||||||
|
name = "str-test";
|
||||||
|
srcs = [ (src + "/test/test-str.lisp") ];
|
||||||
|
deps = [
|
||||||
|
{
|
||||||
|
sbcl = depot.nix.buildLisp.bundled "uiop";
|
||||||
|
default = depot.nix.buildLisp.bundled "asdf";
|
||||||
|
}
|
||||||
|
depot.third_party.lisp.prove
|
||||||
|
depot.third_party.lisp.fiveam
|
||||||
|
];
|
||||||
|
|
||||||
|
expression = ''
|
||||||
|
(fiveam:run! 'str::test-str)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue