tvl-depot/third_party/lisp/str.nix
Aspen Smith d5f57ac6e6 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>
2024-03-31 19:18:12 +00:00

49 lines
1 KiB
Nix

{ 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)
'';
};
}