diff --git a/README.md b/README.md index 547c9ea..5fc284d 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ nix fmt # nixfmt via treefmt ``` Without Nix, `run-tests.lisp` falls back to sibling checkouts of `cl-cc`, -`cl-weave`, `cl-prolog`, `cl-parser-kit`, and `cl-json-kit` next to this +`cl-weave`, `cl-prolog-kit`, `cl-parser-kit`, and `cl-json-kit` next to this repository: ```sh diff --git a/coverage.lisp b/coverage.lisp index fe328f0..fd214c4 100644 --- a/coverage.lisp +++ b/coverage.lisp @@ -38,6 +38,7 @@ (defvar *cl-cc-root* (%env-or "CL_CC_PHP_CL_CC_ROOT" "../cl-cc")) (defvar *cl-weave-root* (%env-or "CL_CC_PHP_CL_WEAVE_ROOT" "../cl-weave")) +(defvar *cl-prolog-kit-root* (%env-or "CL_CC_PHP_CL_PROLOG_KIT_ROOT" "../cl-prolog-kit")) (defvar *cl-prolog-root* (%env-or "CL_CC_PHP_CL_PROLOG_ROOT" "../cl-prolog")) (defvar *cl-parser-kit-root* (%env-or "CL_CC_PHP_CL_PARSER_KIT_ROOT" "../cl-parser-kit")) (defvar *cl-json-kit-root* (%env-or "CL_CC_PHP_CL_JSON_KIT_ROOT" "../cl-json-kit")) @@ -56,6 +57,7 @@ :source-registry (%tree (uiop:ensure-directory-pathname *cl-weave-root*)) (%tree (uiop:ensure-directory-pathname *cl-prolog-root*)) + (%tree (uiop:ensure-directory-pathname *cl-prolog-kit-root*)) (%tree (uiop:ensure-directory-pathname *cl-parser-kit-root*)) (%tree (uiop:ensure-directory-pathname *cl-json-kit-root*)) (%tree (uiop:ensure-directory-pathname *cl-host-kit-root*)) diff --git a/docs/src/getting-started.md b/docs/src/getting-started.md index 891d5e4..cabaeb0 100644 --- a/docs/src/getting-started.md +++ b/docs/src/getting-started.md @@ -56,7 +56,7 @@ parent/ cl-cc/ cl-cc-php/ cl-weave/ - cl-prolog/ + cl-prolog-kit/ cl-parser-kit/ cl-json-kit/ ``` diff --git a/docs/src/project/development.md b/docs/src/project/development.md index b1eba29..197488b 100644 --- a/docs/src/project/development.md +++ b/docs/src/project/development.md @@ -7,7 +7,7 @@ nix develop ``` This gives you SBCL with the dependency roots already exported as environment -variables, so `run-tests.lisp` finds cl-cc, cl-weave, cl-prolog, cl-parser-kit, +variables, so `run-tests.lisp` finds cl-cc, cl-weave, cl-prolog-kit, cl-parser-kit, and cl-json-kit without further setup. ## Running the full check @@ -40,9 +40,9 @@ Or without Nix, from the repository root: sbcl --script run-tests.lisp ``` -That falls back to sibling checkouts (`../cl-cc`, `../cl-weave`, `../cl-prolog`, +That falls back to sibling checkouts (`../cl-cc`, `../cl-weave`, `../cl-prolog-kit`, `../cl-parser-kit`, `../cl-json-kit`). Override any root with -`CL_CC_PHP_CL_CC_ROOT`, `CL_CC_PHP_CL_WEAVE_ROOT`, `CL_CC_PHP_CL_PROLOG_ROOT`, +`CL_CC_PHP_CL_CC_ROOT`, `CL_CC_PHP_CL_WEAVE_ROOT`, `CL_CC_PHP_CL_PROLOG_KIT_ROOT`, `CL_CC_PHP_CL_PARSER_KIT_ROOT`, or `CL_CC_PHP_CL_JSON_KIT_ROOT`. ## Coverage diff --git a/docs/src/reference/compatibility.md b/docs/src/reference/compatibility.md index 8d5c973..4cf21e5 100644 --- a/docs/src/reference/compatibility.md +++ b/docs/src/reference/compatibility.md @@ -68,7 +68,7 @@ known to work together if `flake.lock` says so.** Bumping the cl-cc input is a change that needs its own test run. The existing `v0.1.0` tag on cl-cc predates the `packages/` layout this repository expects, so it is not a usable pin. -The other inputs — cl-weave, cl-prolog, cl-parser-kit, cl-json-kit — are +The other inputs — cl-weave, cl-prolog-kit, cl-parser-kit, cl-json-kit — are pinned to release tags and behave normally. Unlike the first three, which are test-only, cl-json-kit is a real dependency of the shipped `cl-cc-php` system (`json_validate` calls into it directly) — see `cl-cc-php.asd`'s diff --git a/flake.lock b/flake.lock index 6d98f52..57b84d7 100644 --- a/flake.lock +++ b/flake.lock @@ -20,16 +20,16 @@ "cl-host-kit": { "flake": false, "locked": { - "lastModified": 1785662299, - "narHash": "sha256-XzvvQ6MsRFYQNYe757mIbzSlBUy8l6Jv0aReFpuxPyo=", + "lastModified": 1785923957, + "narHash": "sha256-pUR7Gi9Fdwg9WR1Mpjl+yBAb8FHAAieG8lTLYwfVJOc=", "owner": "nerima-lisp", "repo": "cl-host-kit", - "rev": "7dc003d5ba176080796d775f6c8c4f75a5d56107", + "rev": "ec565470b634605e23b0d6eef0645eb15e8e3356", "type": "github" }, "original": { "owner": "nerima-lisp", - "ref": "v0.2.5", + "ref": "v0.3.1", "repo": "cl-host-kit", "type": "github" } @@ -37,16 +37,16 @@ "cl-json-kit": { "flake": false, "locked": { - "lastModified": 1785654907, - "narHash": "sha256-f9mh/oRlKmkEjx3x6sflSyofi9+ixAnCKrHO6xMpIgY=", + "lastModified": 1785923850, + "narHash": "sha256-0TBp7mlj0VF2krHZ83tsBtMKoiI38kpm8n56B/Ie37k=", "owner": "nerima-lisp", "repo": "cl-json-kit", - "rev": "8fac6689685c03a9da18bf99db973278b2620cf7", + "rev": "dace990f643d1dd07639ce57a2559c5143850cce", "type": "github" }, "original": { "owner": "nerima-lisp", - "ref": "v1.0.2", + "ref": "v1.2.0", "repo": "cl-json-kit", "type": "github" } @@ -54,16 +54,16 @@ "cl-parser-kit": { "flake": false, "locked": { - "lastModified": 1785656543, - "narHash": "sha256-VhN+gWAo594jpg350TrBgp//bJQRDOtDNYIa1zB144U=", + "lastModified": 1785931427, + "narHash": "sha256-IR8GbJVuSKS8fTcuQezTVlJJ3nU802shk2fdiHszcig=", "owner": "nerima-lisp", "repo": "cl-parser-kit", - "rev": "b887d3b053d24df4568fcff2f3e3ee47d839db22", + "rev": "6379014e6d85bdaecc57157611baa4ddf4b2b206", "type": "github" }, "original": { "owner": "nerima-lisp", - "ref": "v1.0.3", + "ref": "v1.1.1", "repo": "cl-parser-kit", "type": "github" } @@ -85,19 +85,36 @@ "type": "github" } }, + "cl-prolog-kit": { + "flake": false, + "locked": { + "lastModified": 1786948477, + "narHash": "sha256-3qn9W1Jmbxnr0Si77J7Klo26oX/zjgBVwb5ye74NsTY=", + "owner": "nerima-lisp", + "repo": "cl-prolog-kit", + "rev": "239368e1001bc3a8576d45770c9e91da11515d09", + "type": "github" + }, + "original": { + "owner": "nerima-lisp", + "ref": "v1.5.0", + "repo": "cl-prolog-kit", + "type": "github" + } + }, "cl-weave": { "flake": false, "locked": { - "lastModified": 1785662484, - "narHash": "sha256-GFChZBI8RbOnov3WCTT2jw0H/kBqYK0ig6i7ltzjnyU=", + "lastModified": 1790778646, + "narHash": "sha256-x2bYA/A2q9q1QOccPG1faD6J6Hn+/9YCd3xKQFrNefY=", "owner": "nerima-lisp", "repo": "cl-weave", - "rev": "a8a094226480b92a3789e7e48a2af5faa2e36326", + "rev": "32671560d3d15d4ecf33b9d8af862ea60737841b", "type": "github" }, "original": { "owner": "nerima-lisp", - "ref": "v1.1.4", + "ref": "v1.4.0", "repo": "cl-weave", "type": "github" } @@ -125,6 +142,7 @@ "cl-json-kit": "cl-json-kit", "cl-parser-kit": "cl-parser-kit", "cl-prolog": "cl-prolog", + "cl-prolog-kit": "cl-prolog-kit", "cl-weave": "cl-weave", "nixpkgs": "nixpkgs", "treefmt-nix": "treefmt-nix" diff --git a/flake.nix b/flake.nix index c48ece8..03a6b54 100644 --- a/flake.nix +++ b/flake.nix @@ -31,7 +31,7 @@ flake = false; }; - # Test-only: cl-weave is the test framework t/ runs on directly. cl-prolog + # Test-only: cl-weave is the test framework t/ runs on directly. cl-prolog-kit # and cl-parser-kit are, in turn, cl-cc-optimize's own dependencies (part of # the transitive closure cl-cc-pipeline pulls in for the e2e suites) — # pulled the same way cl-cc's own flake pulls them, as plain source trees @@ -42,15 +42,21 @@ # follows that repo's default branch, so an upstream push to main would # break this repo's CI without warning. cl-weave = { - url = "github:nerima-lisp/cl-weave/v1.1.4"; + url = "github:nerima-lisp/cl-weave/v1.4.0"; flake = false; }; + cl-prolog-kit = { + url = "github:nerima-lisp/cl-prolog-kit/v1.5.0"; + flake = false; + }; + # Compatibility source for the currently pinned cl-cc revision, whose + # optimize system still depends on the pre-rename :cl-prolog name. cl-prolog = { url = "github:nerima-lisp/cl-prolog/v1.3.0"; flake = false; }; cl-parser-kit = { - url = "github:nerima-lisp/cl-parser-kit/v1.0.3"; + url = "github:nerima-lisp/cl-parser-kit/v1.1.1"; flake = false; }; @@ -60,7 +66,7 @@ # see cl-cc-php.asd's `:depends-on`. Pinned to a release tag for the same # reason as the other siblings. cl-json-kit = { - url = "github:nerima-lisp/cl-json-kit/v1.0.2"; + url = "github:nerima-lisp/cl-json-kit/v1.2.0"; flake = false; }; @@ -72,7 +78,7 @@ # cl-nix-forge-based repos in the org do it — this flake has no # `lispDependencies`; run-tests.lisp resolves dependencies itself. cl-host-kit = { - url = "github:nerima-lisp/cl-host-kit/v0.2.5"; + url = "github:nerima-lisp/cl-host-kit/v0.3.1"; flake = false; }; @@ -93,6 +99,7 @@ nixpkgs, cl-cc, cl-weave, + cl-prolog-kit, cl-prolog, cl-parser-kit, cl-json-kit, @@ -134,6 +141,7 @@ testEnv = { CL_CC_PHP_CL_CC_ROOT = "${cl-cc}"; CL_CC_PHP_CL_WEAVE_ROOT = "${cl-weave}"; + CL_CC_PHP_CL_PROLOG_KIT_ROOT = "${cl-prolog-kit}"; CL_CC_PHP_CL_PROLOG_ROOT = "${cl-prolog}"; CL_CC_PHP_CL_PARSER_KIT_ROOT = "${cl-parser-kit}"; CL_CC_PHP_CL_JSON_KIT_ROOT = "${cl-json-kit}"; @@ -320,6 +328,7 @@ text = '' export CL_CC_PHP_CL_CC_ROOT="${cl-cc}" export CL_CC_PHP_CL_WEAVE_ROOT="${cl-weave}" + export CL_CC_PHP_CL_PROLOG_KIT_ROOT="${cl-prolog-kit}" export CL_CC_PHP_CL_PROLOG_ROOT="${cl-prolog}" export CL_CC_PHP_CL_PARSER_KIT_ROOT="${cl-parser-kit}" export CL_CC_PHP_CL_JSON_KIT_ROOT="${cl-json-kit}" diff --git a/run-tests.lisp b/run-tests.lisp index 5720a04..18ec397 100644 --- a/run-tests.lisp +++ b/run-tests.lisp @@ -39,6 +39,9 @@ arrives through its env var and this branch is not taken." (defvar *cl-weave-root* (%env-or "CL_CC_PHP_CL_WEAVE_ROOT" "../cl-weave")) +(defvar *cl-prolog-kit-root* + (%env-or "CL_CC_PHP_CL_PROLOG_KIT_ROOT" "../cl-prolog-kit")) + (defvar *cl-prolog-root* (%env-or "CL_CC_PHP_CL_PROLOG_ROOT" "../cl-prolog")) @@ -70,6 +73,7 @@ arrives through its env var and this branch is not taken." :source-registry (%tree (uiop:ensure-directory-pathname *cl-weave-root*)) (%tree (uiop:ensure-directory-pathname *cl-prolog-root*)) + (%tree (uiop:ensure-directory-pathname *cl-prolog-kit-root*)) (%tree (uiop:ensure-directory-pathname *cl-parser-kit-root*)) (%tree (uiop:ensure-directory-pathname *cl-json-kit-root*)) (%tree (uiop:ensure-directory-pathname *cl-host-kit-root*))