Consume external cl-cc-ast and cl-cc-type in the Nix build#7
Open
takeokunn wants to merge 1 commit into
Open
Conversation
Wire nerima-lisp/cl-cc-ast and nerima-lisp/cl-cc-type (the first two repository-split subsystems) as flake inputs, built with sbcl.buildASDFSystem and injected into the internal system graph under their original names via an externalCcSystems overlay on the productionAsdfSystems fixpoint. Every consuming spec's 'deps = [ "cl-cc-ast" ... ]' / '"cl-cc-type"' resolves to the external derivation with no change. Verified: .#cl-cc-parse (ast dep) and .#cl-cc-optimize (type dep) build against the external derivations. Physically removing packages/ast + packages/type is a follow-up: it needs the self-host source enumeration (tests/e2e/selfhost-test-support.lisp) and the prolog-tools coverage check (nix/checks.nix) reworked, plus a selfhost e2e run.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First integration step of the cl-cc repository split (design:
docs/repo-split-design.md).What
Wire the two freshly-extracted subsystems — nerima-lisp/cl-cc-ast and nerima-lisp/cl-cc-type — as flake inputs, built with
sbcl.buildASDFSystemand injected into the internal ASDF system graph under their original names via anexternalCcSystemsoverlay on theproductionAsdfSystemsfixpoint. Every consumingdeps = [ "cl-cc-ast" … ]/"cl-cc-type"resolves to the external derivation with no change to the consuming specs.flake.nix:cl-cc-ast/cl-cc-typeinputs (+clCcAst/clCcTypederivations)nix/asdf-systems.nix: remove ast/type fromleafSpec, overlay externals into the fixpoint, add them to the umbrella depsVerified
.#cl-cc-parse(ast dependent) builds against externalcl-cc-ast.#cl-cc-optimize(type dependent) builds against externalcl-cc-type.#cl-ccumbrella builds against both; closure references both external systemsNot in this PR (follow-up)
Physically removing
packages/ast+packages/typeneeds:tests/e2e/selfhost-test-support.lispreadspackages/ast/sources)nix/checks.nix) repointed offpackages/astBranched from clean
main(a5b8f01); independent of unrelated in-progress working-tree changes.