From fc06a858415d9fde7cddad4e8d5bb0c33567b82a Mon Sep 17 00:00:00 2001 From: Dario Gabriel Lipicar Date: Thu, 30 Jul 2026 19:04:11 -0300 Subject: [PATCH] docs(nix): the header variants are qt and lp, not qt and std MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Comment-only. These three comments still described the qt/std pair from before lp replaced std: `apiStyle` here only ever takes "qt" or "lp" (buildPlugin.nix picks between exactly those two), and logos-module- builder no longer builds a std variant for buildHeaders to be called with. Evaluation is unchanged — a module's drvPath is byte-identical before and after. Co-Authored-By: Claude Opus 5 --- lib/buildHeaders.nix | 15 ++++++++------- lib/buildPlugin.nix | 2 +- lib/default.nix | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/buildHeaders.nix b/lib/buildHeaders.nix index e0c0a75..d89d527 100644 --- a/lib/buildHeaders.nix +++ b/lib/buildHeaders.nix @@ -11,13 +11,14 @@ logosSdk, lib, # The built module library (plugin derivation) # API style for the generated `` client wrapper: - # "qt" — QString / QStringList / QVariantList / QVariantMap / int / LogosResult - # "std" — std::string / std::vector / LogosMap / LogosList / - # int64_t / StdLogosResult (Qt↔std conversion inlined in the .cpp) - # Each module is built TWICE (once per style) so consumers can pick the - # variant matching their own --api-style without re-running the codegen - # at consume time — the two variants are independent derivations and - # Nix only realises the ones a downstream actually depends on. + # "qt" — QString / QStringList / QVariantList / QVariantMap / int / LogosResult + # "lp" — std-typed and Qt-FREE: the wrapper talks the logos-protocol C ABI + # (lp_*) directly, so a core universal / cdylib consumer can include + # it from a translation unit that never sees Qt. + # Each module is built once per style so consumers can pick the variant + # matching their own --api-style without re-running the codegen at consume + # time — the variants are independent derivations and Nix only realises the + # ones a downstream actually depends on. apiStyle ? "qt", }: let diff --git a/lib/buildPlugin.nix b/lib/buildPlugin.nix index c5ea7e5..f0b50c2 100644 --- a/lib/buildPlugin.nix +++ b/lib/buildPlugin.nix @@ -30,7 +30,7 @@ let # Pick the API style up-front from this module's `interface`. Each # dep already ships pre-built header variants (`.headers-qt` and - # `.headers-std` — see mkLogosModule.nix's `buildHeaders` calls), + # `.headers-lp` — see mkLogosModule.nix's `buildHeaders` calls), # so we just copy from the right one. No codegen at consume time. # cdylib AND core universal modules get the Qt-free outbound surface: the # generated LogosModules umbrella + dep wrappers call the logos-protocol C diff --git a/lib/default.nix b/lib/default.nix index bb1400c..081f7e2 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -103,7 +103,7 @@ in { # Generate SDK headers from a compiled plugin. # `apiStyle` picks which type surface the generated `` client - # wrapper exposes ("qt" or "std"); each module is built once per + # wrapper exposes ("qt" or "lp"); each module is built once per # style so downstream consumers can pick the variant matching their # own --api-style without re-running the codegen. Default is "qt" # — historically the only option, kept for backward compat.