Files
logos-plugin-qt/flake.lock
T
Dario LipicarandClaude Opus 5 55713b9c79 fix(glue): guard the teardown body on protocol 0.5 (#21)
#20 emitted calls to logos_module_about_to_unload() and
logos_module_set_unload_done_callback() unconditionally, so a module built
against an older logos-protocol has no such C symbols and fails on generated
code its author never wrote. logos-protocol#63 gives the surface a MINOR (0.5)
so it is detectable; this guards on it, matching logos-cpp-sdk's emitter.

The BODY is guarded, not the DECLARATION, and the difference matters:

  * moc emits a call to aboutToUnload(), so guarding the declaration away is an
    undefined symbol at link;
  * the host finds the hook by NAME through the meta-object, and that surface
    should look the same on every module rather than varying with the protocol
    a module happened to be built against.

On anything older than 0.5 the body returns 0 -- Synchronous -- which is exactly
right: a module whose ABI cannot carry teardown has nothing to wait for, and the
host proceeds as it always did.

Two assertions, one for each half: the body carries the guard, and the header
does NOT. The second is the one that would otherwise rot silently, because
guarding the declaration too still compiles the generator and only fails much
later, at link, inside a module build.

flake.lock tracks protocol master (0d2a3c0), where 0.5 landed.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 20:28:19 -03:00

194 lines
4.9 KiB
JSON

{
"nodes": {
"logos-lidl": {
"inputs": {
"logos-nix": [
"logos-nix"
],
"nixpkgs": [
"logos-lidl",
"logos-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1786415321,
"narHash": "sha256-Oe98SavQSVGBIY7WIc8RQ5l+Bl4KLsdmjb+PyscfdNw=",
"owner": "logos-co",
"repo": "logos-lidl",
"rev": "ffeebf2e90fa0c65e8c486988271fe0ca029d1e1",
"type": "github"
},
"original": {
"owner": "logos-co",
"repo": "logos-lidl",
"type": "github"
}
},
"logos-module": {
"inputs": {
"logos-nix": "logos-nix",
"nixpkgs": [
"logos-module",
"logos-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1786415910,
"narHash": "sha256-7zcTkY6r0iXXaFnZaWKNBMHh53RkQh2P455421TX7Gk=",
"owner": "logos-co",
"repo": "logos-module",
"rev": "9812dc8c69cfbfed3eea06510a5c1ff33c1fcf7f",
"type": "github"
},
"original": {
"owner": "logos-co",
"repo": "logos-module",
"type": "github"
}
},
"logos-nix": {
"inputs": {
"nixpkgs": "nixpkgs",
"nixpkgs-windows": "nixpkgs-windows"
},
"locked": {
"lastModified": 1786399295,
"narHash": "sha256-Bl1A0UgsIXioZw5uEW8Jl5u7FfZcFMnpYlpsdezFwK0=",
"owner": "logos-co",
"repo": "logos-nix",
"rev": "6e0f4a7120fced10829b0b3a698ff619a11d4605",
"type": "github"
},
"original": {
"owner": "logos-co",
"repo": "logos-nix",
"type": "github"
}
},
"logos-nix_2": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"nixpkgs-windows": "nixpkgs-windows_2"
},
"locked": {
"lastModified": 1786399295,
"narHash": "sha256-Bl1A0UgsIXioZw5uEW8Jl5u7FfZcFMnpYlpsdezFwK0=",
"owner": "logos-co",
"repo": "logos-nix",
"rev": "6e0f4a7120fced10829b0b3a698ff619a11d4605",
"type": "github"
},
"original": {
"owner": "logos-co",
"repo": "logos-nix",
"type": "github"
}
},
"logos-protocol": {
"inputs": {
"logos-nix": [
"logos-nix"
],
"nixpkgs": [
"logos-protocol",
"logos-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1787267788,
"narHash": "sha256-naE4VE+F0zLsCfa/9hL7+RRRW49Pg1HisH3kOymHaKU=",
"owner": "logos-co",
"repo": "logos-protocol",
"rev": "0d2a3c06bfb6c5c9701da84f77afe4aab86403c6",
"type": "github"
},
"original": {
"owner": "logos-co",
"repo": "logos-protocol",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1759036355,
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-windows": {
"locked": {
"lastModified": 1782723713,
"narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
"type": "github"
}
},
"nixpkgs-windows_2": {
"locked": {
"lastModified": 1782723713,
"narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1759036355,
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"logos-lidl": "logos-lidl",
"logos-module": "logos-module",
"logos-nix": "logos-nix_2",
"logos-protocol": "logos-protocol",
"nixpkgs": [
"logos-nix",
"nixpkgs"
]
}
}
},
"root": "root",
"version": 7
}