tvl-depot/third_party/lisp/str.nix

50 lines
1 KiB
Nix
Raw Normal View History

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