fix: use logos-module-builder Qt 6.9.2 — all 4 modules load in host mode

This commit is contained in:
Arseniy Klempner 2026-06-04 13:12:58 -06:00
parent 6ec53e232f
commit 49e5742252
No known key found for this signature in database
GPG Key ID: 51653F18863BD24B
2 changed files with 7706 additions and 21 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,20 +2,26 @@
description = "Simulation Monitor Qt/QML desktop app with optional chat host mode";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
# Use logos-module-builder as Qt source to match liblogos_core's Qt version.
# This avoids the Qt 6.11 vs 6.9 mismatch that causes logos_core_start() to block.
logos-module-builder.url = "github:logos-co/logos-module-builder/tutorial-v3";
# logos-liblogos for host mode headers (LogosAPI, LogosAPIClient)
logos-liblogos = {
url = "github:logos-co/logos-liblogos/94af58c819038e0eb5c2003f69d3260d964aa8f3";
inputs.logos-cpp-sdk.url = "github:logos-co/logos-cpp-sdk/25c88f4d48fa95ea4437194bcf60bd8d0cf84a74";
};
};
outputs = { self, nixpkgs, logos-liblogos }:
outputs = { self, logos-module-builder, logos-liblogos }:
let
systems = [ "aarch64-darwin" "x86_64-linux" "aarch64-linux" ];
forAll = nixpkgs.lib.genAttrs systems;
forAll = f: builtins.listToAttrs (map (s: { name = s; value = f s; }) systems);
# Get nixpkgs from logos-module-builder (same Qt as basecamp/liblogos_core)
nixpkgsFor = system: logos-module-builder.inputs.logos-nix.inputs.nixpkgs.legacyPackages.${system};
in {
packages = forAll (system:
let pkgs = nixpkgs.legacyPackages.${system};
let pkgs = nixpkgsFor system;
in {
default = pkgs.stdenv.mkDerivation {
pname = "sim-monitor";
@ -32,10 +38,8 @@
devShells = forAll (system:
let
pkgs = nixpkgs.legacyPackages.${system};
liblogosLib = logos-liblogos.packages.${system}.logos-liblogos-lib;
pkgs = nixpkgsFor system;
liblogosInclude = logos-liblogos.packages.${system}.logos-liblogos-include;
liblogosBin = logos-liblogos.packages.${system}.logos-liblogos-bin;
in {
default = pkgs.mkShell {
nativeBuildInputs = [ pkgs.qt6.wrapQtAppsHook ];
@ -49,14 +53,11 @@
];
shellHook = ''
export QML2_IMPORT_PATH="${pkgs.qt6.qtdeclarative}/lib/qt-6/qml"
export LIBLOGOS_LIB="${liblogosLib}/lib"
export LIBLOGOS_INCLUDE="${liblogosInclude}/include"
export LOGOS_HOST_BIN="${liblogosBin}/bin/logos_host"
echo "sim-monitor dev shell"
echo " LIBLOGOS_LIB=$LIBLOGOS_LIB"
echo " LIBLOGOS_INCLUDE=$LIBLOGOS_INCLUDE"
echo " LOGOS_HOST_BIN=$LOGOS_HOST_BIN"
echo " cmake -B build -GNinja -DENABLE_HOST_MODE=ON && cmake --build build"
# For host mode: link against basecamp's liblogos_core (same Qt version)
export BASECAMP_LIB="/nix/store/5qry4yw3zf6vg7xbck0xgk9rw7wyf322-logos-basecamp-0.0.0-dev/lib"
echo "sim-monitor dev shell (Qt $(${pkgs.qt6.qtbase}/bin/qtpaths6 --qt-version 2>/dev/null || echo 6.9.x))"
echo " cmake -B build -GNinja [-DENABLE_HOST_MODE=ON] && cmake --build build"
'';
};
});