diff --git a/CMakeLists.txt b/CMakeLists.txt index 66b79dc..1f007a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,203 +1,23 @@ -cmake_minimum_required(VERSION 3.20) -project(logos-blockchain-module LANGUAGES CXX) +cmake_minimum_required(VERSION 3.14) +project(LogosBlockchainModulePlugin LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) -# ---- Options ---- -set(LOGOS_CORE_ROOT "" CACHE PATH "Path to logos-core root directory.") -set(LOGOS_BLOCKCHAIN_ROOT "" CACHE PATH "Path to logos-blockchain source root.") -set(LOGOS_BLOCKCHAIN_LIB "" CACHE PATH "Path to prebuilt logos-blockchain lib.") -set(LOGOS_BLOCKCHAIN_INCLUDE "" CACHE PATH "Path to prebuilt logos-blockchain include.") - -set(HAS_LOGOS_CORE_ROOT FALSE) -set(HAS_LOGOS_BLOCKCHAIN_ROOT FALSE) -set(HAS_LOGOS_BLOCKCHAIN_LIB FALSE) -set(HAS_LOGOS_BLOCKCHAIN_INCLUDE FALSE) - -if (DEFINED LOGOS_CORE_ROOT AND NOT "${LOGOS_CORE_ROOT}" STREQUAL "") - set(HAS_LOGOS_CORE_ROOT TRUE) -endif() - -if (DEFINED LOGOS_BLOCKCHAIN_ROOT AND NOT "${LOGOS_BLOCKCHAIN_ROOT}" STREQUAL "") - set(HAS_LOGOS_BLOCKCHAIN_ROOT TRUE) -endif() - -if(DEFINED LOGOS_BLOCKCHAIN_LIB AND NOT "${LOGOS_BLOCKCHAIN_LIB}" STREQUAL "") - set(HAS_LOGOS_BLOCKCHAIN_LIB TRUE) -endif() - -if(DEFINED LOGOS_BLOCKCHAIN_INCLUDE AND NOT "${LOGOS_BLOCKCHAIN_INCLUDE}" STREQUAL "") - set(HAS_LOGOS_BLOCKCHAIN_INCLUDE TRUE) -endif() - -if (NOT HAS_LOGOS_CORE_ROOT) - message(FATAL_ERROR "LOGOS_CORE_ROOT must be set to the logos-core root directory.") -endif() - -if(HAS_LOGOS_BLOCKCHAIN_LIB AND HAS_LOGOS_BLOCKCHAIN_INCLUDE AND NOT HAS_LOGOS_BLOCKCHAIN_ROOT) - message(STATUS "Using prebuilt logos-blockchain.") - set(LOGOS_BLOCKCHAIN_PREBUILT TRUE) -elseif(NOT HAS_LOGOS_BLOCKCHAIN_LIB AND NOT HAS_LOGOS_BLOCKCHAIN_INCLUDE AND HAS_LOGOS_BLOCKCHAIN_ROOT) - message(STATUS "Building logos-blockchain from source.") - set(LOGOS_BLOCKCHAIN_PREBUILT FALSE) +if(DEFINED ENV{LOGOS_MODULE_BUILDER_ROOT}) + include($ENV{LOGOS_MODULE_BUILDER_ROOT}/cmake/LogosModule.cmake) else() - message(FATAL_ERROR "Either both LOGOS_BLOCKCHAIN_LIB and LOGOS_BLOCKCHAIN_INCLUDE must be set for prebuilt logos-blockchain, or only LOGOS_BLOCKCHAIN_ROOT must be set for building from source.") + message(FATAL_ERROR "LogosModule.cmake not found. Set LOGOS_MODULE_BUILDER_ROOT.") endif() -# ---- Qt ---- -find_package(Qt6 REQUIRED COMPONENTS Core RemoteObjects) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTOUIC ON) -set(CMAKE_AUTORCC ON) - -# ---- Directories ---- -set(WORKSPACE_ROOT "${CMAKE_BINARY_DIR}/workspace") -file(MAKE_DIRECTORY "${WORKSPACE_ROOT}") - -# ---- Logos Core SDK ---- -set(SDK_LIB "${LOGOS_CORE_ROOT}/lib/liblogos_sdk.a") -set(SDK_INC "${LOGOS_CORE_ROOT}/include") - -# ---- OS Specifics ---- -if(APPLE) - set(DYLIB_EXT ".dylib") -elseif(WIN32) - set(DYLIB_EXT ".dll") - set(IMPLIB_EXT ".lib") -else() - set(DYLIB_EXT ".so") -endif() - -# NOTE (Windows): -# Rust cdylib typically produces: -# - logos_blockchain.dll (runtime) -# - logos_blockchain.lib (import lib) -# The Windows build hasn't been yet, so adjust accordingly if the DLL is named without the 'lib' prefix. - -# ---- Logos Blockchain (build OR consume) ---- -if(LOGOS_BLOCKCHAIN_PREBUILT) - set(LOGOS_BLOCKCHAIN_DYLIB "${LOGOS_BLOCKCHAIN_LIB}/liblogos_blockchain${DYLIB_EXT}") - - if(WIN32) - set(LOGOS_BLOCKCHAIN_IMPLIB "${LOGOS_BLOCKCHAIN_LIB}/logos_blockchain${IMPLIB_EXT}") - endif() - - add_custom_target(logos_blockchain_libs) - -else() - find_program(CARGO_EXECUTABLE cargo REQUIRED) - - set(CARGO_TARGET_DIR "${WORKSPACE_ROOT}/logos-blockchain/target") - set(INTERNAL_STAGE "${WORKSPACE_ROOT}/stage") - set(INTERNAL_STAGE_LIB "${INTERNAL_STAGE}/lib") - set(INTERNAL_STAGE_INCLUDE "${INTERNAL_STAGE}/include") - file(MAKE_DIRECTORY "${CARGO_TARGET_DIR}" "${INTERNAL_STAGE_LIB}" "${INTERNAL_STAGE_INCLUDE}") - - set(LOGOS_BLOCKCHAIN_LIB "${INTERNAL_STAGE_LIB}") - set(LOGOS_BLOCKCHAIN_INCLUDE "${INTERNAL_STAGE_INCLUDE}") - - set(LOGOS_BLOCKCHAIN_DYLIB "${INTERNAL_STAGE_LIB}/liblogos_blockchain${DYLIB_EXT}") - set(LOGOS_BLOCKCHAIN_HEADER "${INTERNAL_STAGE_INCLUDE}/logos_blockchain.h") - - add_custom_command( - OUTPUT "${LOGOS_BLOCKCHAIN_DYLIB}" - COMMAND ${CMAKE_COMMAND} -E env - CARGO_TARGET_DIR=${CARGO_TARGET_DIR} - ${CARGO_EXECUTABLE} build --release - --package logos-blockchain-c - --manifest-path "${LOGOS_BLOCKCHAIN_ROOT}/Cargo.toml" - COMMAND ${CMAKE_COMMAND} -E copy - "${CARGO_TARGET_DIR}/release/liblogos_blockchain${DYLIB_EXT}" - "${LOGOS_BLOCKCHAIN_DYLIB}" - DEPENDS "${LOGOS_BLOCKCHAIN_ROOT}/Cargo.toml" - VERBATIM - ) - - add_custom_command( - OUTPUT "${LOGOS_BLOCKCHAIN_HEADER}" - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${LOGOS_BLOCKCHAIN_ROOT}/c-bindings/logos_blockchain.h" - "${LOGOS_BLOCKCHAIN_HEADER}" - DEPENDS "${LOGOS_BLOCKCHAIN_DYLIB}" - VERBATIM - ) - - add_custom_target(logos_blockchain_libs DEPENDS "${LOGOS_BLOCKCHAIN_DYLIB}" "${LOGOS_BLOCKCHAIN_HEADER}") -endif() - -# ---- Imported targets ---- -add_library(logos_blockchain_interface SHARED IMPORTED GLOBAL) -set_target_properties(logos_blockchain_interface PROPERTIES - IMPORTED_LOCATION "${LOGOS_BLOCKCHAIN_DYLIB}" - INTERFACE_INCLUDE_DIRECTORIES "${LOGOS_BLOCKCHAIN_INCLUDE}" +# logos_module() handles: Qt/AUTOMOC setup, SDK/module include paths, linking +# libs from EXTERNAL_LIBS into lib/, plugin output naming, RPATH, install rules. +logos_module( + NAME liblogos_blockchain_module + SOURCES + src/i_logos_blockchain_module.h + src/logos_blockchain_module.h + src/logos_blockchain_module.cpp + EXTERNAL_LIBS + logos_blockchain ) - -if(NOT LOGOS_BLOCKCHAIN_PREBUILT) - add_dependencies(logos_blockchain_interface logos_blockchain_libs) -endif() - -if(WIN32) - set_target_properties(logos_blockchain_interface PROPERTIES IMPORTED_IMPLIB "${LOGOS_BLOCKCHAIN_IMPLIB}") -endif() - -add_library(logos_core STATIC IMPORTED) -set_target_properties(logos_core PROPERTIES - IMPORTED_LOCATION "${SDK_LIB}" -) - -add_library(logos_cpp_sdk INTERFACE) -target_include_directories(logos_cpp_sdk INTERFACE "${SDK_INC}" "${SDK_INC}/cpp") - -# ---- Plugin ---- -set(PLUGIN_TARGET logos_blockchain_module) - -qt_add_plugin(${PLUGIN_TARGET} CLASS_NAME LogosBlockchainModule) - -target_sources(${PLUGIN_TARGET} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/src/logos_blockchain_module.cpp -) - -set_property(TARGET ${PLUGIN_TARGET} PROPERTY PUBLIC_HEADER - ${CMAKE_CURRENT_SOURCE_DIR}/src/i_logos_blockchain_module.h -) - -target_include_directories(${PLUGIN_TARGET} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/src -) - -target_link_libraries(${PLUGIN_TARGET} PRIVATE - Qt6::Core - Qt6::RemoteObjects - logos_blockchain_interface - logos_cpp_sdk - logos_core -) - -target_compile_definitions(${PLUGIN_TARGET} PRIVATE - LOGOS_BLOCKCHAIN_MODULE_METADATA_FILE="${CMAKE_CURRENT_SOURCE_DIR}/metadata.json" -) - -add_dependencies(${PLUGIN_TARGET} logos_blockchain_libs) - -if(APPLE) - set_target_properties(${PLUGIN_TARGET} PROPERTIES - BUILD_RPATH "@loader_path" - INSTALL_RPATH "@loader_path" - ) -elseif(UNIX) - set_target_properties(${PLUGIN_TARGET} PROPERTIES - BUILD_RPATH "$ORIGIN" - INSTALL_RPATH "$ORIGIN" - ) -endif() - -# ---- Install ---- -install(TARGETS ${PLUGIN_TARGET} - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin - PUBLIC_HEADER DESTINATION include -) -install(DIRECTORY "${LOGOS_BLOCKCHAIN_INCLUDE}/" DESTINATION include) -install(FILES "${LOGOS_BLOCKCHAIN_DYLIB}" DESTINATION lib) diff --git a/README.md b/README.md index c758682..aceea33 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,41 @@ # Logos Blockchain Module -### Setup +A Logos core module that wraps the [logos-blockchain](https://github.com/logos-blockchain/logos-blockchain) C bindings and ships the zk circuit binaries needed at runtime. -#### IDE +Built with [logos-module-builder](https://github.com/logos-co/logos-module-builder): `flake.nix`, `CMakeLists.txt`, and `metadata.json` are the only build-system files. The module-builder's `mkLogosModule` pulls the prebuilt `logos-blockchain-c` derivation (lib + header) in via `externalLibInputs`; the circuits directory is staged separately in `preConfigure` / `postInstall` because it's runtime data rather than a library. -If you're using an IDE with CMake integration make sure it points to the same cmake directory as the `justfile`, which defaults to `build`. +### Build and inspect -This will reduce friction when working on the project. +```bash +# In the workspace (preferred): +ws build logos-blockchain-module +ws build logos-blockchain-module --auto-local # pick up local dep overrides -#### Nix +# Inspect the built plugin +lm ./result/lib/liblogos_blockchain_module_plugin.so -* Use `nix flake update` to bring all nix context and packages -* Use `nix build` to build the package -* Use `nix run` to launch the module-viewer and check your module loads properly -* Use `nix develop` to setup your IDE +# Standalone +nix build # -> result/lib/.so + result/lib/circuits/ +nix develop # cmake/ninja iteration +``` + +### Files + +- `flake.nix` — `mkLogosModule` call + circuits staging +- `CMakeLists.txt` — single `logos_module()` macro + C++20 bump +- `metadata.json` — module identity, deps, and `nix.external_libraries` +- `src/` — plugin sources (Q_OBJECT + Q_INVOKABLE API) ### Troubleshooting #### Nix + IDE Integration -If your IDE reports that a file doesn't belong to the project or that files cannot be found, the CMake cache -is likely missing the Nix-provided paths. This happens when the IDE runs CMake on its own, outside the Nix -environment, leaving the required paths empty. +If your IDE reports that a file doesn't belong to the project or that files cannot be found, the CMake cache is likely missing the Nix-provided paths. This happens when the IDE runs CMake on its own, outside the Nix environment, leaving `LOGOS_CPP_SDK_ROOT` / `LOGOS_MODULE_BUILDER_ROOT` unset. To fix it: -1. **Regenerate the cache from within the Nix shell** - - This provides the required Nix paths and writes them into `build/CMakeCache.txt`: +1. **Regenerate the cache from within the Nix shell** — this provides the required Nix paths and writes them into `build/CMakeCache.txt`: ```bash - nix develop -c just configure + nix develop -c cmake -B build -GNinja ``` -2. **Reload the CMake project without resetting the cache** - - If on RustRover: Open the CMake tool window (**View → Tool Windows → CMake**) and click the **Reload** button (↺) in the toolbar. - -> Resetting the cache would wipe the paths you just wrote, so make sure to reload only. +2. **Reload the CMake project without resetting the cache.** On RustRover: open the CMake tool window (**View → Tool Windows → CMake**) and click **Reload** (↺). Resetting the cache would wipe the paths you just wrote. diff --git a/flake.lock b/flake.lock index 1d24120..a5affdc 100644 --- a/flake.lock +++ b/flake.lock @@ -83,21 +83,26 @@ }, "logos-capability-module_2": { "inputs": { - "logos-cpp-sdk": "logos-cpp-sdk_3", - "logos-liblogos": "logos-liblogos_2", + "logos-cpp-sdk": [ + "logos-module-builder", + "logos-standalone-app", + "logos-cpp-sdk" + ], + "logos-module": "logos-module_6", + "logos-nix": "logos-nix_22", "nixpkgs": [ - "logos-module-viewer", - "logos-capability-module", - "logos-liblogos", + "logos-module-builder", + "logos-standalone-app", + "logos-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1767809111, - "narHash": "sha256-jehjsB+BpDJlVu3I7x+vFVOdXmy9MDmFTJtRqzFUONo=", + "lastModified": 1774455138, + "narHash": "sha256-szx2dnnY9MP1NpdBnR8E2DRSz9CtQlo/6698zgJcAEM=", "owner": "logos-co", "repo": "logos-capability-module", - "rev": "7b35383e0aa4e28a4633ed18a87efb57636939b1", + "rev": "0655be68e0078bede0682bb6a5b53330dac37a72", "type": "github" }, "original": { @@ -108,22 +113,24 @@ }, "logos-capability-module_3": { "inputs": { - "logos-cpp-sdk": "logos-cpp-sdk_6", - "logos-liblogos": "logos-liblogos_4", + "logos-cpp-sdk": "logos-cpp-sdk_5", + "logos-module": "logos-module_7", + "logos-nix": "logos-nix_27", "nixpkgs": [ - "logos-module-viewer", + "logos-module-builder", + "logos-standalone-app", "logos-liblogos", "logos-capability-module", - "logos-liblogos", + "logos-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1773696504, - "narHash": "sha256-wBn8onAkEvtvl1McLVyFDSB8BRhUrwJAnnYIfXnIhdI=", + "lastModified": 1774455138, + "narHash": "sha256-szx2dnnY9MP1NpdBnR8E2DRSz9CtQlo/6698zgJcAEM=", "owner": "logos-co", "repo": "logos-capability-module", - "rev": "2ee07fea9d0b9aca89dc215ee8b3be222017d706", + "rev": "0655be68e0078bede0682bb6a5b53330dac37a72", "type": "github" }, "original": { @@ -180,42 +187,6 @@ "type": "github" } }, - "logos-cpp-sdk_10": { - "inputs": { - "nixpkgs": "nixpkgs_25" - }, - "locked": { - "lastModified": 1767724329, - "narHash": "sha256-UPkqxqxbKwU5Dmu00TnjiJVXUmfVylF3p1qziEuYwIE=", - "owner": "logos-co", - "repo": "logos-cpp-sdk", - "rev": "32f1d7080d784ff044d91d076ef2f0c7305d4784", - "type": "github" - }, - "original": { - "owner": "logos-co", - "repo": "logos-cpp-sdk", - "type": "github" - } - }, - "logos-cpp-sdk_11": { - "inputs": { - "nixpkgs": "nixpkgs_26" - }, - "locked": { - "lastModified": 1764699992, - "narHash": "sha256-nCmK9C9F31cHvy6lWKR5WGl99aJbS3kIsROAoZ4OrwI=", - "owner": "logos-co", - "repo": "logos-cpp-sdk", - "rev": "5d0bbd0d1e00aad0532ffa7c8bf2c80f460a4f6d", - "type": "github" - }, - "original": { - "owner": "logos-co", - "repo": "logos-cpp-sdk", - "type": "github" - } - }, "logos-cpp-sdk_2": { "inputs": { "logos-nix": "logos-nix_5", @@ -242,14 +213,20 @@ }, "logos-cpp-sdk_3": { "inputs": { - "nixpkgs": "nixpkgs_16" + "logos-nix": "logos-nix_14", + "nixpkgs": [ + "logos-module-builder", + "logos-cpp-sdk", + "logos-nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1761230734, - "narHash": "sha256-CMRUwXH7pJZ1OI6bd/TDDDXKqQ1tQZHQEOOwK8TgYHI=", + "lastModified": 1776778717, + "narHash": "sha256-HTtNO9I++CSwd64T0jpsPn+mixeZnebFxHKE4840mPY=", "owner": "logos-co", "repo": "logos-cpp-sdk", - "rev": "4b143922c190df00bb3835441c9f0075cb28283b", + "rev": "f7c855b110e493c293e81f473757cf17ee772514", "type": "github" }, "original": { @@ -260,14 +237,21 @@ }, "logos-cpp-sdk_4": { "inputs": { - "nixpkgs": "nixpkgs_17" + "logos-nix": "logos-nix_23", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-cpp-sdk", + "logos-nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1761230734, - "narHash": "sha256-CMRUwXH7pJZ1OI6bd/TDDDXKqQ1tQZHQEOOwK8TgYHI=", + "lastModified": 1776101366, + "narHash": "sha256-HxkzOs2xv0grkNAJMBLXKDjVl8Z+z3YFn+sC4eFKy/8=", "owner": "logos-co", "repo": "logos-cpp-sdk", - "rev": "4b143922c190df00bb3835441c9f0075cb28283b", + "rev": "1468180b2567f4c59346bb94f74951e76341f5c5", "type": "github" }, "original": { @@ -278,14 +262,23 @@ }, "logos-cpp-sdk_5": { "inputs": { - "nixpkgs": "nixpkgs_18" + "logos-nix": "logos-nix_25", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-liblogos", + "logos-capability-module", + "logos-cpp-sdk", + "logos-nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1773672219, - "narHash": "sha256-p+kv2WHokT40rScnSFSIDp/EeFLaDUsTHW6QT6ejKuc=", + "lastModified": 1773956385, + "narHash": "sha256-CV0Lo1FrosBt/MSP+GWQGWXnYobxRGXGOREylNuwZ58=", "owner": "logos-co", "repo": "logos-cpp-sdk", - "rev": "a4bd66cd6eb04ee7140bb940b1d49d72d60248de", + "rev": "4b66dac015e4b977d33cfae80a4c8e1d518679f3", "type": "github" }, "original": { @@ -296,14 +289,22 @@ }, "logos-cpp-sdk_6": { "inputs": { - "nixpkgs": "nixpkgs_19" + "logos-nix": "logos-nix_28", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-liblogos", + "logos-cpp-sdk", + "logos-nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1773672219, - "narHash": "sha256-p+kv2WHokT40rScnSFSIDp/EeFLaDUsTHW6QT6ejKuc=", + "lastModified": 1775745471, + "narHash": "sha256-Flz0Ipok57ivbqg7Fw4qRcfCL3ainrRTXMIlNDh3ajY=", "owner": "logos-co", "repo": "logos-cpp-sdk", - "rev": "a4bd66cd6eb04ee7140bb940b1d49d72d60248de", + "rev": "8b1cfadf090f0df9d75e61ac7475d83f9c58b0a9", "type": "github" }, "original": { @@ -312,57 +313,28 @@ "type": "github" } }, - "logos-cpp-sdk_7": { + "logos-design-system": { "inputs": { - "nixpkgs": "nixpkgs_20" + "logos-nix": "logos-nix_24", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-design-system", + "logos-nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1761230734, - "narHash": "sha256-CMRUwXH7pJZ1OI6bd/TDDDXKqQ1tQZHQEOOwK8TgYHI=", + "lastModified": 1774455271, + "narHash": "sha256-fXPDvB4VoS9k0oiW3CjN1w2cw9noqcloftXKMc8E0ng=", "owner": "logos-co", - "repo": "logos-cpp-sdk", - "rev": "4b143922c190df00bb3835441c9f0075cb28283b", + "repo": "logos-design-system", + "rev": "75201e56002327864544b729ad0077bca7e5b03d", "type": "github" }, "original": { "owner": "logos-co", - "repo": "logos-cpp-sdk", - "type": "github" - } - }, - "logos-cpp-sdk_8": { - "inputs": { - "nixpkgs": "nixpkgs_21" - }, - "locked": { - "lastModified": 1773672219, - "narHash": "sha256-p+kv2WHokT40rScnSFSIDp/EeFLaDUsTHW6QT6ejKuc=", - "owner": "logos-co", - "repo": "logos-cpp-sdk", - "rev": "a4bd66cd6eb04ee7140bb940b1d49d72d60248de", - "type": "github" - }, - "original": { - "owner": "logos-co", - "repo": "logos-cpp-sdk", - "type": "github" - } - }, - "logos-cpp-sdk_9": { - "inputs": { - "nixpkgs": "nixpkgs_22" - }, - "locked": { - "lastModified": 1767724329, - "narHash": "sha256-UPkqxqxbKwU5Dmu00TnjiJVXUmfVylF3p1qziEuYwIE=", - "owner": "logos-co", - "repo": "logos-cpp-sdk", - "rev": "32f1d7080d784ff044d91d076ef2f0c7305d4784", - "type": "github" - }, - "original": { - "owner": "logos-co", - "repo": "logos-cpp-sdk", + "repo": "logos-design-system", "type": "github" } }, @@ -395,101 +367,26 @@ } }, "logos-liblogos_2": { - "inputs": { - "logos-cpp-sdk": "logos-cpp-sdk_4", - "nixpkgs": [ - "logos-module-viewer", - "logos-capability-module", - "logos-liblogos", - "logos-cpp-sdk", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1761845775, - "narHash": "sha256-ulK8xq05ejK6qIgZ7WtWb/MJt2rk5BKfDA2z7mM3wq8=", - "owner": "logos-co", - "repo": "logos-liblogos", - "rev": "a92c2c1268bc70764c8f73c7bce07d21024f5af9", - "type": "github" - }, - "original": { - "owner": "logos-co", - "repo": "logos-liblogos", - "type": "github" - } - }, - "logos-liblogos_3": { "inputs": { "logos-capability-module": "logos-capability-module_3", - "logos-cpp-sdk": "logos-cpp-sdk_8", - "logos-module": "logos-module_3", - "nix-bundle-appimage": "nix-bundle-appimage_2", - "nix-bundle-dir": "nix-bundle-dir_4", + "logos-cpp-sdk": "logos-cpp-sdk_6", + "logos-module": "logos-module_8", + "logos-nix": "logos-nix_30", + "logos-package-manager": "logos-package-manager_2", "nixpkgs": [ - "logos-module-viewer", - "logos-liblogos", - "logos-cpp-sdk", + "logos-module-builder", + "logos-standalone-app", + "logos-nix", "nixpkgs" - ] + ], + "process-stats": "process-stats_2" }, "locked": { - "lastModified": 1773696645, - "narHash": "sha256-GIb4xALCj3XK80rf6l89ZrZ/Y1YkqG1X/mfmVOUl/hw=", + "lastModified": 1776084938, + "narHash": "sha256-0UL6tG6mK00HN99fm9CLJu3JA9ay2ry6dgeHfyApiWo=", "owner": "logos-co", "repo": "logos-liblogos", - "rev": "5030aaaf86b89a382f3beb9426be4f8c2623215f", - "type": "github" - }, - "original": { - "owner": "logos-co", - "repo": "logos-liblogos", - "type": "github" - } - }, - "logos-liblogos_4": { - "inputs": { - "logos-cpp-sdk": "logos-cpp-sdk_7", - "nixpkgs": [ - "logos-module-viewer", - "logos-liblogos", - "logos-capability-module", - "logos-liblogos", - "logos-cpp-sdk", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1761845775, - "narHash": "sha256-ulK8xq05ejK6qIgZ7WtWb/MJt2rk5BKfDA2z7mM3wq8=", - "owner": "logos-co", - "repo": "logos-liblogos", - "rev": "a92c2c1268bc70764c8f73c7bce07d21024f5af9", - "type": "github" - }, - "original": { - "owner": "logos-co", - "repo": "logos-liblogos", - "type": "github" - } - }, - "logos-liblogos_5": { - "inputs": { - "logos-cpp-sdk": "logos-cpp-sdk_11", - "nixpkgs": [ - "logos-module-viewer", - "logos-package-manager", - "logos-liblogos", - "logos-cpp-sdk", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1768343028, - "narHash": "sha256-4LvsuZTDTlLtfMF4C69ls+lmkYJWD7LZitS04Mc+8UI=", - "owner": "logos-co", - "repo": "logos-liblogos", - "rev": "a76d33f5519af0ee12317c8f149eee2ac5d292a0", + "rev": "b293e9d70a04983778ef2ef3ef42596f76f41161", "type": "github" }, "original": { @@ -523,29 +420,34 @@ "type": "github" } }, - "logos-module-viewer": { + "logos-module-builder": { "inputs": { - "logos-capability-module": "logos-capability-module_2", - "logos-cpp-sdk": "logos-cpp-sdk_5", - "logos-liblogos": "logos-liblogos_3", - "logos-package-manager": "logos-package-manager_2", + "logos-cpp-sdk": "logos-cpp-sdk_3", + "logos-module": "logos-module_3", + "logos-nix": "logos-nix_16", + "logos-plugin-core": "logos-plugin-core", + "logos-plugin-qt": "logos-plugin-qt", + "logos-standalone-app": "logos-standalone-app", + "logos-test-framework": "logos-test-framework", + "nix-bundle-lgx": "nix-bundle-lgx_2", + "nix-bundle-logos-module-install": "nix-bundle-logos-module-install", "nixpkgs": [ - "logos-module-viewer", - "logos-liblogos", + "logos-module-builder", + "logos-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1774455291, - "narHash": "sha256-4O07OAO+5Pqcfdjdk4amYwx27Di3eKRg9y/NiDy3+b4=", + "lastModified": 1777039050, + "narHash": "sha256-4AQeTUl+fO8F+F9aND3aS1Px4lommokii7DeA2X4T0w=", "owner": "logos-co", - "repo": "logos-module-viewer", - "rev": "b6489c1aab8c1590fa127dbaedb39708f3614fbc", + "repo": "logos-module-builder", + "rev": "29cecd23a2a6bd63d113340cc9773829681598a4", "type": "github" }, "original": { "owner": "logos-co", - "repo": "logos-module-viewer", + "repo": "logos-module-builder", "type": "github" } }, @@ -575,21 +477,149 @@ }, "logos-module_3": { "inputs": { - "logos-cpp-sdk": "logos-cpp-sdk_9", + "logos-nix": "logos-nix_15", "nixpkgs": [ - "logos-module-viewer", - "logos-liblogos", + "logos-module-builder", "logos-module", - "logos-cpp-sdk", + "logos-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1770999556, - "narHash": "sha256-anpsEniGTTwUAwknRxjaT9GP4avHzIsolEHdHDTV9rM=", + "lastModified": 1775763932, + "narHash": "sha256-PrVdkHNN2PPXoUEJoJUKv61t6IeQ3iQSRarIpFr9GHE=", "owner": "logos-co", "repo": "logos-module", - "rev": "d1b35f335f938bb5de21a2a6010f1104075bdb1c", + "rev": "73cd9c4b2646dedb1b624a3178b32a7af1670047", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-module", + "type": "github" + } + }, + "logos-module_4": { + "inputs": { + "logos-nix": "logos-nix_17", + "nixpkgs": [ + "logos-module-builder", + "logos-plugin-core", + "logos-module", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774988698, + "narHash": "sha256-Ugngv17u5CA3lOSNHN6nJ+/WpIyNn8yui0M2VDdkENk=", + "owner": "logos-co", + "repo": "logos-module", + "rev": "337223f2a72710d8052ca750510cd25d33e05047", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-module", + "type": "github" + } + }, + "logos-module_5": { + "inputs": { + "logos-nix": "logos-nix_19", + "nixpkgs": [ + "logos-module-builder", + "logos-plugin-qt", + "logos-module", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774988698, + "narHash": "sha256-Ugngv17u5CA3lOSNHN6nJ+/WpIyNn8yui0M2VDdkENk=", + "owner": "logos-co", + "repo": "logos-module", + "rev": "337223f2a72710d8052ca750510cd25d33e05047", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-module", + "type": "github" + } + }, + "logos-module_6": { + "inputs": { + "logos-nix": "logos-nix_21", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-capability-module", + "logos-module", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1773963329, + "narHash": "sha256-zdvDHoYWQDse0eJ/UCKIJcfuYJ8NMgl6QfxRcyDEovI=", + "owner": "logos-co", + "repo": "logos-module", + "rev": "ac5a4f06ea94b01dd9c5fbb9ed4f20620beab88d", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-module", + "type": "github" + } + }, + "logos-module_7": { + "inputs": { + "logos-nix": "logos-nix_26", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-liblogos", + "logos-capability-module", + "logos-module", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1773963329, + "narHash": "sha256-zdvDHoYWQDse0eJ/UCKIJcfuYJ8NMgl6QfxRcyDEovI=", + "owner": "logos-co", + "repo": "logos-module", + "rev": "ac5a4f06ea94b01dd9c5fbb9ed4f20620beab88d", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-module", + "type": "github" + } + }, + "logos-module_8": { + "inputs": { + "logos-nix": "logos-nix_29", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-liblogos", + "logos-module", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775763932, + "narHash": "sha256-PrVdkHNN2PPXoUEJoJUKv61t6IeQ3iQSRarIpFr9GHE=", + "owner": "logos-co", + "repo": "logos-module", + "rev": "73cd9c4b2646dedb1b624a3178b32a7af1670047", "type": "github" }, "original": { @@ -688,6 +718,114 @@ "type": "github" } }, + "logos-nix_14": { + "inputs": { + "nixpkgs": "nixpkgs_16" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_15": { + "inputs": { + "nixpkgs": "nixpkgs_17" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_16": { + "inputs": { + "nixpkgs": "nixpkgs_18" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_17": { + "inputs": { + "nixpkgs": "nixpkgs_19" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_18": { + "inputs": { + "nixpkgs": "nixpkgs_20" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_19": { + "inputs": { + "nixpkgs": "nixpkgs_21" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, "logos-nix_2": { "inputs": { "nixpkgs": "nixpkgs_4" @@ -706,6 +844,186 @@ "type": "github" } }, + "logos-nix_20": { + "inputs": { + "nixpkgs": "nixpkgs_22" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_21": { + "inputs": { + "nixpkgs": "nixpkgs_23" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_22": { + "inputs": { + "nixpkgs": "nixpkgs_24" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_23": { + "inputs": { + "nixpkgs": "nixpkgs_25" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_24": { + "inputs": { + "nixpkgs": "nixpkgs_26" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_25": { + "inputs": { + "nixpkgs": "nixpkgs_27" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_26": { + "inputs": { + "nixpkgs": "nixpkgs_28" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_27": { + "inputs": { + "nixpkgs": "nixpkgs_29" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_28": { + "inputs": { + "nixpkgs": "nixpkgs_30" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_29": { + "inputs": { + "nixpkgs": "nixpkgs_31" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, "logos-nix_3": { "inputs": { "nixpkgs": "nixpkgs_5" @@ -724,6 +1042,186 @@ "type": "github" } }, + "logos-nix_30": { + "inputs": { + "nixpkgs": "nixpkgs_32" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_31": { + "inputs": { + "nixpkgs": "nixpkgs_33" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_32": { + "inputs": { + "nixpkgs": "nixpkgs_34" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_33": { + "inputs": { + "nixpkgs": "nixpkgs_35" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_34": { + "inputs": { + "nixpkgs": "nixpkgs_36" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_35": { + "inputs": { + "nixpkgs": "nixpkgs_37" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_36": { + "inputs": { + "nixpkgs": "nixpkgs_38" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_37": { + "inputs": { + "nixpkgs": "nixpkgs_39" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_38": { + "inputs": { + "nixpkgs": "nixpkgs_40" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_39": { + "inputs": { + "nixpkgs": "nixpkgs_41" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, "logos-nix_4": { "inputs": { "nixpkgs": "nixpkgs_6" @@ -742,6 +1240,186 @@ "type": "github" } }, + "logos-nix_40": { + "inputs": { + "nixpkgs": "nixpkgs_42" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_41": { + "inputs": { + "nixpkgs": "nixpkgs_43" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_42": { + "inputs": { + "nixpkgs": "nixpkgs_44" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_43": { + "inputs": { + "nixpkgs": "nixpkgs_45" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_44": { + "inputs": { + "nixpkgs": "nixpkgs_46" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_45": { + "inputs": { + "nixpkgs": "nixpkgs_47" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_46": { + "inputs": { + "nixpkgs": "nixpkgs_48" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_47": { + "inputs": { + "nixpkgs": "nixpkgs_49" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_48": { + "inputs": { + "nixpkgs": "nixpkgs_50" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_49": { + "inputs": { + "nixpkgs": "nixpkgs_51" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, "logos-nix_5": { "inputs": { "nixpkgs": "nixpkgs_7" @@ -760,6 +1438,114 @@ "type": "github" } }, + "logos-nix_50": { + "inputs": { + "nixpkgs": "nixpkgs_52" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_51": { + "inputs": { + "nixpkgs": "nixpkgs_53" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_52": { + "inputs": { + "nixpkgs": "nixpkgs_54" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_53": { + "inputs": { + "nixpkgs": "nixpkgs_55" + }, + "locked": { + "lastModified": 1774455309, + "narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_54": { + "inputs": { + "nixpkgs": "nixpkgs_56" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, + "logos-nix_55": { + "inputs": { + "nixpkgs": "nixpkgs_57" + }, + "locked": { + "lastModified": 1773955630, + "narHash": "sha256-KqzMoWYIVp2xMgphs7v02T/BE54RKMFxpdC2duhJKG0=", + "owner": "logos-co", + "repo": "logos-nix", + "rev": "0e9e6d66ab8eb34f59e45ed448f7dc29130feb88", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-nix", + "type": "github" + } + }, "logos-nix_6": { "inputs": { "nixpkgs": "nixpkgs_8" @@ -886,40 +1672,80 @@ }, "logos-package-manager_2": { "inputs": { - "logos-cpp-sdk": "logos-cpp-sdk_10", - "logos-liblogos": "logos-liblogos_5", + "logos-nix": "logos-nix_31", "logos-package": "logos-package_2", + "nix-bundle-appimage": "nix-bundle-appimage_2", + "nix-bundle-dir": "nix-bundle-dir_4", "nixpkgs": [ - "logos-module-viewer", - "logos-package-manager", + "logos-module-builder", + "logos-standalone-app", "logos-liblogos", + "logos-package-manager", + "logos-nix", "nixpkgs" ] }, "locked": { - "lastModified": 1770753928, - "narHash": "sha256-61+3D+svB2mqyLpDFlHoIN+hBlbRGZUaueKysEiorNE=", + "lastModified": 1775680583, + "narHash": "sha256-0Bh48zTfi4lPL78ZLgmiX+QMW+nvjWKXHp5iJPEhvLg=", "owner": "logos-co", - "repo": "logos-package-manager-module", - "rev": "0cbf250ad2fec20c79dc5f61729a07c3a2bd50e1", + "repo": "logos-package-manager", + "rev": "8110734252edf9ca4266f475ace1c7c9bee68018", "type": "github" }, "original": { "owner": "logos-co", - "repo": "logos-package-manager-module", + "repo": "logos-package-manager", + "type": "github" + } + }, + "logos-package-manager_3": { + "inputs": { + "logos-nix": "logos-nix_48", + "logos-package": "logos-package_5", + "nix-bundle-appimage": "nix-bundle-appimage_3", + "nix-bundle-dir": "nix-bundle-dir_8", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "logos-package-manager", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775836847, + "narHash": "sha256-pU7GShEizE8HkDGvR9NWZPqksiGyvfcWodtFyc318TM=", + "owner": "logos-co", + "repo": "logos-package-manager", + "rev": "39118d6c52226e88a77c6ff7d1196229f56b757e", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-package-manager", "type": "github" } }, "logos-package_2": { "inputs": { - "nixpkgs": "nixpkgs_27" + "logos-nix": "logos-nix_32", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-liblogos", + "logos-package-manager", + "logos-package", + "logos-nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1768925546, - "narHash": "sha256-Y4sgYs9wtZ9sHAuKl9LUy//ReeF4/AyK8HlnZsYrSqg=", + "lastModified": 1775677349, + "narHash": "sha256-G+0E1mkmG3QDeTR4Pgy+xkiole/TDq+FYrvHwNp9Yrc=", "owner": "logos-co", "repo": "logos-package", - "rev": "9230ae37c9d289c0c355dcf9fa40fd3be2e99f17", + "rev": "64edea0e64309e1c9f91259d16f8f81e5e39e40e", "type": "github" }, "original": { @@ -928,6 +1754,271 @@ "type": "github" } }, + "logos-package_3": { + "inputs": { + "logos-nix": "logos-nix_41", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "nix-bundle-lgx", + "logos-package", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775835037, + "narHash": "sha256-Cti0DhkzyLQs98BSzcHWMLtGXpa3n+R+5upfSw6vKdQ=", + "owner": "logos-co", + "repo": "logos-package", + "rev": "ff93a0df15ceab255f27687d22d962ea2737efbe", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-package", + "type": "github" + } + }, + "logos-package_4": { + "inputs": { + "logos-nix": "logos-nix_45", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-lgx", + "logos-package", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775835037, + "narHash": "sha256-Cti0DhkzyLQs98BSzcHWMLtGXpa3n+R+5upfSw6vKdQ=", + "owner": "logos-co", + "repo": "logos-package", + "rev": "ff93a0df15ceab255f27687d22d962ea2737efbe", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-package", + "type": "github" + } + }, + "logos-package_5": { + "inputs": { + "logos-nix": "logos-nix_49", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "logos-package-manager", + "logos-package", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775835037, + "narHash": "sha256-Cti0DhkzyLQs98BSzcHWMLtGXpa3n+R+5upfSw6vKdQ=", + "owner": "logos-co", + "repo": "logos-package", + "rev": "ff93a0df15ceab255f27687d22d962ea2737efbe", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-package", + "type": "github" + } + }, + "logos-package_6": { + "inputs": { + "logos-nix": "logos-nix_54", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "nix-bundle-lgx", + "logos-package", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775835037, + "narHash": "sha256-Cti0DhkzyLQs98BSzcHWMLtGXpa3n+R+5upfSw6vKdQ=", + "owner": "logos-co", + "repo": "logos-package", + "rev": "ff93a0df15ceab255f27687d22d962ea2737efbe", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-package", + "type": "github" + } + }, + "logos-plugin-core": { + "inputs": { + "logos-module": "logos-module_4", + "logos-nix": "logos-nix_18", + "nixpkgs": [ + "logos-module-builder", + "logos-plugin-core", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775835070, + "narHash": "sha256-RaJzt4sx6WrLtwhRhkGki/I+Bvt8fuC+p+oCcuLTm3g=", + "owner": "logos-co", + "repo": "logos-plugin-qt", + "rev": "78a04d603d910d864a26b158eca0882321258d44", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-plugin-qt", + "type": "github" + } + }, + "logos-plugin-qt": { + "inputs": { + "logos-module": "logos-module_5", + "logos-nix": "logos-nix_20", + "nixpkgs": [ + "logos-module-builder", + "logos-plugin-qt", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775835070, + "narHash": "sha256-RaJzt4sx6WrLtwhRhkGki/I+Bvt8fuC+p+oCcuLTm3g=", + "owner": "logos-co", + "repo": "logos-plugin-qt", + "rev": "78a04d603d910d864a26b158eca0882321258d44", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-plugin-qt", + "type": "github" + } + }, + "logos-qt-mcp": { + "inputs": { + "logos-nix": "logos-nix_38", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774455349, + "narHash": "sha256-rebrtH1UxC1hDuwQBwyYbGzNCrnuuqiVL7OvzUhk65k=", + "owner": "logos-co", + "repo": "logos-qt-mcp", + "rev": "c5223b4b640add09e461983b8fddbd12c8b31f4f", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-qt-mcp", + "type": "github" + } + }, + "logos-standalone-app": { + "inputs": { + "logos-capability-module": "logos-capability-module_2", + "logos-cpp-sdk": "logos-cpp-sdk_4", + "logos-design-system": "logos-design-system", + "logos-liblogos": "logos-liblogos_2", + "logos-nix": "logos-nix_37", + "logos-qt-mcp": "logos-qt-mcp", + "logos-view-module-runtime": "logos-view-module-runtime", + "nix-bundle-lgx": "nix-bundle-lgx", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1777037010, + "narHash": "sha256-CfXpdDD/3/SNNmbtiJUdrloc28xDstdB7DcEgfzhAPI=", + "owner": "logos-co", + "repo": "logos-standalone-app", + "rev": "c3a079c1e007deee592ce74196c258077bdf3692", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-standalone-app", + "type": "github" + } + }, + "logos-test-framework": { + "inputs": { + "logos-cpp-sdk": [ + "logos-module-builder", + "logos-cpp-sdk" + ], + "logos-nix": "logos-nix_43", + "nixpkgs": [ + "logos-module-builder", + "logos-test-framework", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775684803, + "narHash": "sha256-BnnrAjYJHW994WYAhd6e6/T7igLqJm4utjhqx1a6kLw=", + "owner": "logos-co", + "repo": "logos-test-framework", + "rev": "55b15075b5990b3c043030a3e404c7f11d57c32b", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-test-framework", + "type": "github" + } + }, + "logos-view-module-runtime": { + "inputs": { + "logos-cpp-sdk": [ + "logos-module-builder", + "logos-standalone-app", + "logos-cpp-sdk" + ], + "logos-nix": "logos-nix_39", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1776431382, + "narHash": "sha256-21SqqdOuHBLUGcYxGvjtC4iKp+wLGEQOKn64qLVl/+0=", + "owner": "logos-co", + "repo": "logos-view-module-runtime", + "rev": "d611d697bf4ff48405d71f6ea29b8103d7969b22", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "logos-view-module-runtime", + "type": "github" + } + }, "nix-bundle-appimage": { "inputs": { "logos-nix": "logos-nix_10", @@ -956,15 +2047,51 @@ }, "nix-bundle-appimage_2": { "inputs": { + "logos-nix": "logos-nix_33", "nix-bundle-dir": "nix-bundle-dir_3", - "nixpkgs": "nixpkgs_23" + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-liblogos", + "logos-package-manager", + "nix-bundle-appimage", + "logos-nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1772047346, - "narHash": "sha256-RUsTUxKCxuQ3+D2LfBbK0EX1vF7HNMkpWgOGFfZbrEg=", + "lastModified": 1774455478, + "narHash": "sha256-S8IMfdDc+2Wwri0krLDsIUwSqmwanmvHAJWHOFo8ykk=", "owner": "logos-co", "repo": "nix-bundle-appimage", - "rev": "4d68437c97ac59c3c70c1b2b116235c434d571a8", + "rev": "2428125a4a1b34ad9119efa97edb98676283e3da", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-appimage", + "type": "github" + } + }, + "nix-bundle-appimage_3": { + "inputs": { + "logos-nix": "logos-nix_50", + "nix-bundle-dir": "nix-bundle-dir_7", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "logos-package-manager", + "nix-bundle-appimage", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774455478, + "narHash": "sha256-S8IMfdDc+2Wwri0krLDsIUwSqmwanmvHAJWHOFo8ykk=", + "owner": "logos-co", + "repo": "nix-bundle-appimage", + "rev": "2428125a4a1b34ad9119efa97edb98676283e3da", "type": "github" }, "original": { @@ -1024,19 +2151,22 @@ }, "nix-bundle-dir_3": { "inputs": { + "logos-nix": "logos-nix_34", "nixpkgs": [ - "logos-module-viewer", + "logos-module-builder", + "logos-standalone-app", "logos-liblogos", + "logos-package-manager", "nix-bundle-appimage", "nixpkgs" ] }, "locked": { - "lastModified": 1771971384, - "narHash": "sha256-fq0H+sxQhkGN054jdN+ZfHZibbOjHA+KD5SpRH78T1g=", + "lastModified": 1773961179, + "narHash": "sha256-bpaTvz//R8WFP5xnnDLv3a9l7unDmBwJjCewx3wCjzM=", "owner": "logos-co", "repo": "nix-bundle-dir", - "rev": "1ecb9662145a1ad84007a970b4bef50a4af159c9", + "rev": "cd214dbf15487d80967389847ae2210468be6ebf", "type": "github" }, "original": { @@ -1047,14 +2177,23 @@ }, "nix-bundle-dir_4": { "inputs": { - "nixpkgs": "nixpkgs_24" + "logos-nix": "logos-nix_35", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-liblogos", + "logos-package-manager", + "nix-bundle-dir", + "logos-nix", + "nixpkgs" + ] }, "locked": { - "lastModified": 1771971384, - "narHash": "sha256-fq0H+sxQhkGN054jdN+ZfHZibbOjHA+KD5SpRH78T1g=", + "lastModified": 1774455641, + "narHash": "sha256-HrVJguPxhIoZMCH+x8Wooa0tE6slUhgNOU6P89t2uQc=", "owner": "logos-co", "repo": "nix-bundle-dir", - "rev": "1ecb9662145a1ad84007a970b4bef50a4af159c9", + "rev": "3d155cab09051703a0b02ff2de166a53c30cbca8", "type": "github" }, "original": { @@ -1063,6 +2202,239 @@ "type": "github" } }, + "nix-bundle-dir_5": { + "inputs": { + "logos-nix": "logos-nix_42", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "nix-bundle-lgx", + "nix-bundle-dir", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774455641, + "narHash": "sha256-HrVJguPxhIoZMCH+x8Wooa0tE6slUhgNOU6P89t2uQc=", + "owner": "logos-co", + "repo": "nix-bundle-dir", + "rev": "3d155cab09051703a0b02ff2de166a53c30cbca8", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-dir", + "type": "github" + } + }, + "nix-bundle-dir_6": { + "inputs": { + "logos-nix": "logos-nix_46", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-lgx", + "nix-bundle-dir", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774455641, + "narHash": "sha256-HrVJguPxhIoZMCH+x8Wooa0tE6slUhgNOU6P89t2uQc=", + "owner": "logos-co", + "repo": "nix-bundle-dir", + "rev": "3d155cab09051703a0b02ff2de166a53c30cbca8", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-dir", + "type": "github" + } + }, + "nix-bundle-dir_7": { + "inputs": { + "logos-nix": "logos-nix_51", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "logos-package-manager", + "nix-bundle-appimage", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1773961179, + "narHash": "sha256-bpaTvz//R8WFP5xnnDLv3a9l7unDmBwJjCewx3wCjzM=", + "owner": "logos-co", + "repo": "nix-bundle-dir", + "rev": "cd214dbf15487d80967389847ae2210468be6ebf", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-dir", + "type": "github" + } + }, + "nix-bundle-dir_8": { + "inputs": { + "logos-nix": "logos-nix_52", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "logos-package-manager", + "nix-bundle-dir", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774455641, + "narHash": "sha256-HrVJguPxhIoZMCH+x8Wooa0tE6slUhgNOU6P89t2uQc=", + "owner": "logos-co", + "repo": "nix-bundle-dir", + "rev": "3d155cab09051703a0b02ff2de166a53c30cbca8", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-dir", + "type": "github" + } + }, + "nix-bundle-dir_9": { + "inputs": { + "logos-nix": "logos-nix_55", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "nix-bundle-lgx", + "nix-bundle-dir", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774455641, + "narHash": "sha256-HrVJguPxhIoZMCH+x8Wooa0tE6slUhgNOU6P89t2uQc=", + "owner": "logos-co", + "repo": "nix-bundle-dir", + "rev": "3d155cab09051703a0b02ff2de166a53c30cbca8", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-dir", + "type": "github" + } + }, + "nix-bundle-lgx": { + "inputs": { + "logos-nix": "logos-nix_40", + "logos-package": "logos-package_3", + "nix-bundle-dir": "nix-bundle-dir_5", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775836380, + "narHash": "sha256-XbBPcMuDFA/SxYVw9TIRQbhie5Vj5MqwdU+Gh1iR1LA=", + "owner": "logos-co", + "repo": "nix-bundle-lgx", + "rev": "9d8f8602b1574ec9ac4c9b31ae0c92570221c268", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-lgx", + "type": "github" + } + }, + "nix-bundle-lgx_2": { + "inputs": { + "logos-nix": "logos-nix_44", + "logos-package": "logos-package_4", + "nix-bundle-dir": "nix-bundle-dir_6", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-lgx", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775836380, + "narHash": "sha256-XbBPcMuDFA/SxYVw9TIRQbhie5Vj5MqwdU+Gh1iR1LA=", + "owner": "logos-co", + "repo": "nix-bundle-lgx", + "rev": "9d8f8602b1574ec9ac4c9b31ae0c92570221c268", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-lgx", + "type": "github" + } + }, + "nix-bundle-lgx_3": { + "inputs": { + "logos-nix": "logos-nix_53", + "logos-package": "logos-package_6", + "nix-bundle-dir": "nix-bundle-dir_9", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "nix-bundle-lgx", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775836380, + "narHash": "sha256-XbBPcMuDFA/SxYVw9TIRQbhie5Vj5MqwdU+Gh1iR1LA=", + "owner": "logos-co", + "repo": "nix-bundle-lgx", + "rev": "9d8f8602b1574ec9ac4c9b31ae0c92570221c268", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-lgx", + "type": "github" + } + }, + "nix-bundle-logos-module-install": { + "inputs": { + "logos-nix": "logos-nix_47", + "logos-package-manager": "logos-package-manager_3", + "nix-bundle-lgx": "nix-bundle-lgx_3", + "nixpkgs": [ + "logos-module-builder", + "nix-bundle-logos-module-install", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775839388, + "narHash": "sha256-0QH146bzL2kKBYJq2yA35iPwug55j2xjEyKCS7tjhvg=", + "owner": "logos-co", + "repo": "nix-bundle-logos-module-install", + "rev": "89cc9ea91275396d589c767d76926459ac77ef20", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "nix-bundle-logos-module-install", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1769461804, @@ -1305,11 +2677,11 @@ }, "nixpkgs_23": { "locked": { - "lastModified": 1771848320, - "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", + "lastModified": 1759036355, + "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2fc6539b481e1d2569f25f8799236694180c0993", + "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", "type": "github" }, "original": { @@ -1321,11 +2693,11 @@ }, "nixpkgs_24": { "locked": { - "lastModified": 1770562336, - "narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", + "lastModified": 1759036355, + "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d6c71932130818840fc8fe9509cf50be8c64634f", + "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", "type": "github" }, "original": { @@ -1369,11 +2741,43 @@ }, "nixpkgs_27": { "locked": { - "lastModified": 1768127708, - "narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=", + "lastModified": 1759036355, + "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38", + "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_28": { + "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_29": { + "locked": { + "lastModified": 1759036355, + "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", "type": "github" }, "original": { @@ -1399,6 +2803,166 @@ "type": "github" } }, + "nixpkgs_30": { + "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_31": { + "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_32": { + "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_33": { + "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_34": { + "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_35": { + "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_36": { + "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_37": { + "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_38": { + "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_39": { + "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_4": { "locked": { "lastModified": 1759036355, @@ -1415,6 +2979,166 @@ "type": "github" } }, + "nixpkgs_40": { + "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_41": { + "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_42": { + "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_43": { + "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_44": { + "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_45": { + "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_46": { + "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_47": { + "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_48": { + "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_49": { + "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_5": { "locked": { "lastModified": 1759036355, @@ -1431,6 +3155,134 @@ "type": "github" } }, + "nixpkgs_50": { + "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_51": { + "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_52": { + "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_53": { + "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_54": { + "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_55": { + "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_56": { + "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_57": { + "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_6": { "locked": { "lastModified": 1759036355, @@ -1519,12 +3371,38 @@ "type": "github" } }, + "process-stats_2": { + "inputs": { + "logos-nix": "logos-nix_36", + "nixpkgs": [ + "logos-module-builder", + "logos-standalone-app", + "logos-liblogos", + "process-stats", + "logos-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775744159, + "narHash": "sha256-hTVAnDREBQOVHML6KU3K7Ge0CRBqnFIg7uYL7qDnD8o=", + "owner": "logos-co", + "repo": "process-stats", + "rev": "33ace1270f90c89b3565e803139c0970fcd1ce8f", + "type": "github" + }, + "original": { + "owner": "logos-co", + "repo": "process-stats", + "type": "github" + } + }, "root": { "inputs": { "logos-blockchain": "logos-blockchain", "logos-core": "logos-core", "logos-liblogos": "logos-liblogos", - "logos-module-viewer": "logos-module-viewer", + "logos-module-builder": "logos-module-builder", "nixpkgs": [ "logos-liblogos", "nixpkgs" diff --git a/flake.nix b/flake.nix index 3e8cde8..9517684 100644 --- a/flake.nix +++ b/flake.nix @@ -7,157 +7,40 @@ logos-liblogos.url = "github:logos-co/logos-liblogos"; logos-core.url = "github:logos-co/logos-cpp-sdk"; + logos-module-builder.url = "github:logos-co/logos-module-builder"; logos-blockchain.url = "github:logos-blockchain/logos-blockchain?rev=88941ff33f2e028591b9d0ed2549a328d54f0cfa"; # pre-0.1.3 + potential note fixes - - logos-module-viewer.url = "github:logos-co/logos-module-viewer"; }; - outputs = - { - self, - nixpkgs, - logos-core, - logos-blockchain, - logos-module-viewer, - ... - }: - let - lib = nixpkgs.lib; + outputs = inputs@{ logos-module-builder, ... }: + logos-module-builder.lib.mkLogosModule { + src = ./.; + configFile = ./metadata.json; + flakeInputs = inputs; - systems = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; + externalLibInputs = { + logos_blockchain = inputs.logos-blockchain; + }; - forAll = lib.genAttrs systems; + preConfigure = { externalLibs }: '' + if [ -d "${externalLibs.logos_blockchain}/circuits" ]; then + echo "Staging zk circuits from logos-blockchain..." + cp -r "${externalLibs.logos_blockchain}/circuits" ./circuits + chmod -R u+w ./circuits + else + echo "WARNING: no circuits/ found in logos-blockchain derivation" + fi + ''; - mkPkgs = system: import nixpkgs { inherit system; }; - in - { - packages = forAll ( - system: - let - pkgs = mkPkgs system; - llvmPkgs = pkgs.llvmPackages; - - logosCore = logos-core.packages.${system}.default; - logosBlockchainC = logos-blockchain.packages.${system}.logos-blockchain-c; - - logosBlockchainModule = pkgs.stdenv.mkDerivation { - pname = "logos-blockchain-module"; - version = "dev"; - src = ./.; - - nativeBuildInputs = [ - pkgs.cmake - pkgs.ninja - pkgs.pkg-config - pkgs.qt6.wrapQtAppsHook - ]; - - buildInputs = [ - pkgs.qt6.qtbase - pkgs.qt6.qtremoteobjects - pkgs.qt6.qttools - llvmPkgs.clang - llvmPkgs.libclang - logosBlockchainC - ] - ++ lib.optionals pkgs.stdenv.isDarwin [ - pkgs.libiconv - pkgs.cacert - ]; - - LIBCLANG_PATH = "${llvmPkgs.libclang.lib}/lib"; - CLANG_PATH = "${llvmPkgs.clang}/bin/clang"; - SSL_CERT_FILE = lib.optionalString pkgs.stdenv.isDarwin "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - - cmakeFlags = [ - "-DLOGOS_CORE_ROOT=${logosCore}" - "-DLOGOS_BLOCKCHAIN_LIB=${logosBlockchainC}/lib" - "-DLOGOS_BLOCKCHAIN_INCLUDE=${logosBlockchainC}/include" - ]; - - postInstall = '' - mkdir $out/share - cp -r ${logosBlockchainC}/circuits $out/share - ''; - - # Logos Core Edge-case - # The current version of Logos Core expects circuits' binaries under `lib/circuits/`. - # Until we address this in Logos Core, we use this hook to include to ensure the circuits' binaries - # are included in the binary bundle and avoid the circuits being mangled by Nix (which did that when - # copying them in a previous phase). - postFixup = '' - cp -r ${logosBlockchainC}/circuits $out/lib/circuits - ''; - }; - in - { - lib = logosBlockchainModule; - default = logosBlockchainModule; - } - ); - - apps = forAll ( - system: - let - pkgs = mkPkgs system; - logosBlockchainModuleLib = self.packages.${system}.lib; - logosModuleViewer = logos-module-viewer.packages.${system}.default; - extension = if pkgs.stdenv.isDarwin then "dylib" - else if pkgs.stdenv.hostPlatform.isWindows then "dll" - else "so"; - inspectModule = { - type = "app"; - program = - "${pkgs.writeShellScriptBin "inspect-module" '' - exec ${logosModuleViewer}/bin/logos-module-viewer \ - --module ${logosBlockchainModuleLib}/lib/liblogos_blockchain_module.${extension} - ''}/bin/inspect-module"; - }; - in - { - inspect-module = inspectModule; - default = inspectModule; - } - ); - - devShells = forAll ( - system: - let - pkgs = mkPkgs system; - pkg = self.packages.${system}.default; - logosCore = logos-core.packages.${system}.default; - logosBlockchainC = logos-blockchain.packages.${system}.logos-blockchain-c; - in - { - default = pkgs.mkShell { - inputsFrom = [ pkg ]; - - inherit (pkg) - LIBCLANG_PATH - CLANG_PATH; - - LOGOS_CORE_ROOT = "${logosCore}"; - LOGOS_BLOCKCHAIN_LIB = "${logosBlockchainC}/lib"; - LOGOS_BLOCKCHAIN_INCLUDE = "${logosBlockchainC}/include"; - - shellHook = '' - BLUE='\e[1;34m' - GREEN='\e[1;32m' - RESET='\e[0m' - - echo -e "\n''${BLUE}=== Logos Blockchain Module Development Environment ===''${RESET}" - echo -e "''${GREEN}LOGOS_CORE_ROOT:''${RESET} $LOGOS_CORE_ROOT" - echo -e "''${GREEN}LOGOS_BLOCKCHAIN_LIB:''${RESET} $LOGOS_BLOCKCHAIN_LIB" - echo -e "''${GREEN}LOGOS_BLOCKCHAIN_INCLUDE:''${RESET} $LOGOS_BLOCKCHAIN_INCLUDE" - echo -e "''${BLUE}---------------------------------------------------------''${RESET}" - ''; - }; - } - ); + # Logos Core Edge-case + # The current version of Logos Core expects circuits' binaries under `lib/circuits/`. + # Until we address this in Logos Core, we use this hook to include to ensure the circuits' binaries + # are included in the binary bundle and avoid the circuits being mangled by Nix (which did that when + # copying them in a previous phase). + postInstall = '' + if [ -d "$LOGOS_MODULE_SOURCE_DIR/circuits" ]; then + cp -r "$LOGOS_MODULE_SOURCE_DIR/circuits" "$out/lib/circuits" + chmod -R u+w "$out/lib/circuits" + fi + ''; }; } diff --git a/justfile b/justfile index 6a3a553..d35b6da 100644 --- a/justfile +++ b/justfile @@ -1,13 +1,13 @@ default: build +# Inside `nix develop` / `ws develop logos-blockchain-module` the module-builder +# provides LOGOS_CPP_SDK_ROOT and LOGOS_MODULE_BUILDER_ROOT — CMake picks them +# up automatically via the logos_module() macro, no explicit -D flags needed. configure: - cmake -S . -B build -G Ninja \ - ${LOGOS_CORE_ROOT:+-DLOGOS_CORE_ROOT="$LOGOS_CORE_ROOT"} \ - ${LOGOS_BLOCKCHAIN_LIB:+-DLOGOS_BLOCKCHAIN_LIB="$LOGOS_BLOCKCHAIN_LIB"} \ - ${LOGOS_BLOCKCHAIN_INCLUDE:+-DLOGOS_BLOCKCHAIN_INCLUDE="$LOGOS_BLOCKCHAIN_INCLUDE"} + cmake -S . -B build -G Ninja build: configure - cmake --build build --parallel --target logos_blockchain_module + cmake --build build --parallel --target liblogos_blockchain_module_module_plugin clean: rm -rf build result diff --git a/metadata.json b/metadata.json index 4141552..3b07bdf 100644 --- a/metadata.json +++ b/metadata.json @@ -5,16 +5,29 @@ "author": "Logos Blockchain Team", "type": "core", "category": "blockchain", - "main": "liblogos_blockchain_module", + "main": "liblogos_blockchain_module_plugin", "dependencies": [], "capabilities": [], "include": [ "liblogos_blockchain.dylib", "liblogos_blockchain.so", "liblogos_blockchain.dll", - "liblogos_blockchain_module.dylib", - "liblogos_blockchain_module.so", - "liblogos_blockchain_module.dll", + "liblogos_blockchain_module_plugin.dylib", + "liblogos_blockchain_module_plugin.so", + "liblogos_blockchain_module_plugin.dll", "circuits" - ] -} \ No newline at end of file + ], + + "nix": { + "packages": { + "build": [], + "runtime": [] + }, + "external_libraries": [ + { "name": "logos_blockchain" } + ], + "cmake": { + "extra_include_dirs": ["lib"] + } + } +} diff --git a/src/i_logos_blockchain_module.h b/src/i_logos_blockchain_module.h index a9467d4..e3ddffe 100644 --- a/src/i_logos_blockchain_module.h +++ b/src/i_logos_blockchain_module.h @@ -2,7 +2,7 @@ #define I_LOGOS_BLOCKCHAIN_MODULE_API_H #include -#include +#include "interface.h" class ILogosBlockchainModule { public: diff --git a/src/logos_blockchain_module.cpp b/src/logos_blockchain_module.cpp index b1b8613..027105a 100644 --- a/src/logos_blockchain_module.cpp +++ b/src/logos_blockchain_module.cpp @@ -4,12 +4,31 @@ #include #include #include +#include +#include +#include #include +#include // Define static member LogosBlockchainModule* LogosBlockchainModule::s_instance = nullptr; namespace { + // Rust `File::open` / `deserialize_config_at_path` only accept real filesystem paths. QML often + // passes `file:///...` URLs; strip to a local path when applicable. + QString localPathFromFileUrl(const QString& s) { + if (s.isEmpty()) { + return s; + } + if (s.startsWith(QStringLiteral("file:"), Qt::CaseInsensitive)) { + const QUrl u(s); + if (u.isLocalFile()) { + return QDir::toNativeSeparators(u.toLocalFile()); + } + } + return s; + } + // Use the C API type Hash (from logos_blockchain.h) to define address/hash byte size. constexpr int ADDRESS_BYTES = sizeof(Hash); constexpr int ADDRESS_HEX_LEN = ADDRESS_BYTES * 2; @@ -263,14 +282,14 @@ int LogosBlockchainModule::start(const QString& config_path, const QString& depl } } - qInfo() << "Starting the node with the configuration file:" << effective_config_path; - qInfo() << "Using deployment:" << (deployment.isEmpty() ? "" : deployment); + effective_config_path = localPathFromFileUrl(effective_config_path); + const QString deployment_path = localPathFromFileUrl(deployment); const QByteArray config_path_buffer = effective_config_path.toUtf8(); const char* config_path_ptr = effective_config_path.isEmpty() ? nullptr : config_path_buffer.constData(); - const QByteArray deployment_buffer = deployment.toUtf8(); - const char* deployment_ptr = deployment.isEmpty() ? nullptr : deployment_buffer.constData(); + const QByteArray deployment_buffer = deployment_path.toUtf8(); + const char* deployment_ptr = deployment_path.isEmpty() ? nullptr : deployment_buffer.constData(); auto [value, error] = start_lb_node(config_path_ptr, deployment_ptr); qInfo() << "Start node returned with value and error."; diff --git a/src/logos_blockchain_module.h b/src/logos_blockchain_module.h index 131e500..b0ea8b9 100644 --- a/src/logos_blockchain_module.h +++ b/src/logos_blockchain_module.h @@ -13,7 +13,7 @@ extern "C" { class LogosBlockchainModule final : public QObject, public PluginInterface, public ILogosBlockchainModule { Q_OBJECT - Q_PLUGIN_METADATA(IID ILogosBlockchainModule_iid FILE LOGOS_BLOCKCHAIN_MODULE_METADATA_FILE) + Q_PLUGIN_METADATA(IID ILogosBlockchainModule_iid FILE "metadata.json") Q_INTERFACES(PluginInterface) public: