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:
Aspen Smith 2024-03-23 10:20:25 -04:00 committed by clbot
parent 87d5dd6371
commit d5f57ac6e6
3 changed files with 83 additions and 0 deletions

22
third_party/lisp/cl-change-case.nix vendored Normal file
View 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)
'';
};
}

View file

@ -24,4 +24,16 @@ in depot.nix.buildLisp.library {
"scanner.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
View 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)
'';
};
}