diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68f1813..6a56d9c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: submodules: true - name: Lint Manifest - run: flatpak-builder-lint --gha-format manifest ai.lemonade_server.Lemonade.yaml + run: flatpak-builder-lint --exceptions --user-exceptions exceptions.json --gha-format manifest ai.lemonade_server.Lemonade.yaml - name: Build Flatpak uses: flatpak/flatpak-github-actions/flatpak-builder@v6 diff --git a/0003-fastflowlm-disable-usr-local-symlink.patch b/0003-fastflowlm-disable-usr-local-symlink.patch new file mode 100644 index 0000000..1dd8a12 --- /dev/null +++ b/0003-fastflowlm-disable-usr-local-symlink.patch @@ -0,0 +1,32 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -229,18 +229,6 @@ +- if(FFTW3_PKG_FOUND) +- target_include_directories(flm PUBLIC ${FFTW3_PKG_INCLUDE_DIRS}) +- target_link_libraries(flm PUBLIC ${FFTW3_PKG_LIBRARIES}) +- else() +- target_link_libraries(flm PUBLIC fftw3) +- endif() + if(FFTW3F_PKG_FOUND) + target_include_directories(flm PUBLIC ${FFTW3F_PKG_INCLUDE_DIRS}) + target_link_libraries(flm PUBLIC ${FFTW3F_PKG_LIBRARIES}) + else() + target_link_libraries(flm PUBLIC fftw3f) + endif() +- if(FFTW3L_PKG_FOUND) +- target_include_directories(flm PUBLIC ${FFTW3L_PKG_INCLUDE_DIRS}) +- target_link_libraries(flm PUBLIC ${FFTW3L_PKG_LIBRARIES}) +- else() +- target_link_libraries(flm PUBLIC fftw3l) +- endif() +@@ -347,9 +331,0 @@ +-if(NOT WIN32 AND NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr" AND NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr/local") +- install(CODE " +- message(STATUS \"Creating symlink for flm\") +- file(MAKE_DIRECTORY \"$ENV{DESTDIR}/usr/local/bin\") +- execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink +- \"${CMAKE_INSTALL_PREFIX}/bin/flm\" +- \"$ENV{DESTDIR}/usr/local/bin/flm\")" +- ) +-endif() diff --git a/ai.lemonade_server.Lemonade.yaml b/ai.lemonade_server.Lemonade.yaml index eeed08a..1ad3816 100644 --- a/ai.lemonade_server.Lemonade.yaml +++ b/ai.lemonade_server.Lemonade.yaml @@ -21,6 +21,10 @@ finish-args: - --filesystem=xdg-run/lemonade:rw - --env=WEBKIT_DISABLE_DMABUF_RENDERER=1 - --env=LEMONADE_DISABLE_SYSTEMD_JOURNAL=1 + - --env=X_LEMONADE_FLM_LINUX_BETA=1 + - --env=LD_LIBRARY_PATH=/app/lib + - --env=FLM_CONFIG_PATH=/app/share/flm/model_list.json + - --env=XILINX_XRT=/app cleanup: - /include @@ -36,6 +40,12 @@ modules: - modules/cpp-httplib.json - modules/libwebsockets.json - shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json + - modules/opencl-headers.json + - modules/rapidjson.json + - modules/boost.json + - modules/xrt.json + - modules/fftw3f.json + - modules/fastflowlm.json - name: lemonade-cpp buildsystem: cmake-ninja diff --git a/exceptions.json b/exceptions.json new file mode 100644 index 0000000..2db4094 --- /dev/null +++ b/exceptions.json @@ -0,0 +1,7 @@ +{ + "ai.lemonade_server.Lemonade": { + "module-rapidjson-source-git-branch": { + "linter-error": "project does not provide tagged releases since 2016" + } + } +} diff --git a/modules/boost.json b/modules/boost.json new file mode 100644 index 0000000..033f523 --- /dev/null +++ b/modules/boost.json @@ -0,0 +1,20 @@ +{ + "name": "boost", + "buildsystem": "simple", + "cleanup": [ + "/include", + "/lib/cmake", + "/lib/pkgconfig" + ], + "build-commands": [ + "./bootstrap.sh --prefix=/app", + "./b2 -j4 cxxflags=\"-std=c++17 -fPIC\" install link=shared,static --with-filesystem --with-program_options --with-system --layout=tagged" + ], + "sources": [ + { + "type": "archive", + "url": "https://archives.boost.io/release/1.81.0/source/boost_1_81_0.tar.bz2", + "sha256": "71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa" + } + ] +} diff --git a/modules/fastflowlm.json b/modules/fastflowlm.json new file mode 100644 index 0000000..e0490b7 --- /dev/null +++ b/modules/fastflowlm.json @@ -0,0 +1,37 @@ +{ + "name": "fastflowlm", + "buildsystem": "cmake-ninja", + "build-options": { + "append-path": "/usr/lib/sdk/rust-stable/bin", + "env": { + "CARGO_NET_OFFLINE": "true" + } + }, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=Release", + "-DFLM_VERSION=0.9.43", + "-DNPU_VERSION=32.0.203.304", + "-DXRT_INCLUDE_DIR=/app/include", + "-DXRT_LIB_DIR=/app/lib", + "-DCMAKE_XCLBIN_PREFIX=/app/share/flm" + ], + "subdir": "src", + "sources": [ + { + "type": "git", + "url": "https://github.com/FastFlowLM/FastFlowLM.git", + "commit": "5324dd73162e7005546d287aa4daeceff56e3b2c" + }, + { + "type": "patch", + "path": "../0003-fastflowlm-disable-usr-local-symlink.patch" + }, + { + "type": "inline", + "contents": "[source.crates-io]\nreplace-with = \"vendored-sources\"\n\n[source.vendored-sources]\ndirectory = \"/run/build/fastflowlm/cargo/vendor\"\n", + "dest": "third_party/tokenizers-cpp/rust/.cargo", + "dest-filename": "config.toml" + }, + "generated-flm-cargo-sources.json" + ] +} diff --git a/modules/fftw3f.json b/modules/fftw3f.json new file mode 100644 index 0000000..8d409f5 --- /dev/null +++ b/modules/fftw3f.json @@ -0,0 +1,26 @@ +{ + "name": "fftw3f", + "buildsystem": "autotools", + "config-opts": [ + "--enable-shared", + "--disable-static", + "--enable-threads", + "--enable-float", + "--enable-avx" + ], + "cleanup": [ + "/include", + "/lib/cmake", + "/lib/pkgconfig", + "/share/doc", + "/share/man", + "/bin" + ], + "sources": [ + { + "type": "archive", + "url": "https://www.fftw.org/fftw-3.3.10.tar.gz", + "sha256": "56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467" + } + ] +} diff --git a/modules/generated-flm-cargo-sources.json b/modules/generated-flm-cargo-sources.json new file mode 100644 index 0000000..3fc2ba0 --- /dev/null +++ b/modules/generated-flm-cargo-sources.json @@ -0,0 +1,1022 @@ +[ + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/ahash/ahash-0.8.12.crate", + "sha256": "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75", + "dest": "cargo/vendor/ahash-0.8.12" + }, + { + "type": "inline", + "contents": "{\"package\": \"5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75\", \"files\": {}}", + "dest": "cargo/vendor/ahash-0.8.12", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/aho-corasick/aho-corasick-1.1.4.crate", + "sha256": "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301", + "dest": "cargo/vendor/aho-corasick-1.1.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301\", \"files\": {}}", + "dest": "cargo/vendor/aho-corasick-1.1.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/base64/base64-0.13.1.crate", + "sha256": "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8", + "dest": "cargo/vendor/base64-0.13.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8\", \"files\": {}}", + "dest": "cargo/vendor/base64-0.13.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/bitflags/bitflags-2.12.1.crate", + "sha256": "84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a", + "dest": "cargo/vendor/bitflags-2.12.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a\", \"files\": {}}", + "dest": "cargo/vendor/bitflags-2.12.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/castaway/castaway-0.2.4.crate", + "sha256": "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a", + "dest": "cargo/vendor/castaway-0.2.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a\", \"files\": {}}", + "dest": "cargo/vendor/castaway-0.2.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/cc/cc-1.2.63.crate", + "sha256": "556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f", + "dest": "cargo/vendor/cc-1.2.63" + }, + { + "type": "inline", + "contents": "{\"package\": \"556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f\", \"files\": {}}", + "dest": "cargo/vendor/cc-1.2.63", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/cfg-if/cfg-if-1.0.4.crate", + "sha256": "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801", + "dest": "cargo/vendor/cfg-if-1.0.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\", \"files\": {}}", + "dest": "cargo/vendor/cfg-if-1.0.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/compact_str/compact_str-0.9.1.crate", + "sha256": "9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab", + "dest": "cargo/vendor/compact_str-0.9.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab\", \"files\": {}}", + "dest": "cargo/vendor/compact_str-0.9.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/crossbeam-deque/crossbeam-deque-0.8.6.crate", + "sha256": "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51", + "dest": "cargo/vendor/crossbeam-deque-0.8.6" + }, + { + "type": "inline", + "contents": "{\"package\": \"9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51\", \"files\": {}}", + "dest": "cargo/vendor/crossbeam-deque-0.8.6", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/crossbeam-epoch/crossbeam-epoch-0.9.18.crate", + "sha256": "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e", + "dest": "cargo/vendor/crossbeam-epoch-0.9.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e\", \"files\": {}}", + "dest": "cargo/vendor/crossbeam-epoch-0.9.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/crossbeam-utils/crossbeam-utils-0.8.21.crate", + "sha256": "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28", + "dest": "cargo/vendor/crossbeam-utils-0.8.21" + }, + { + "type": "inline", + "contents": "{\"package\": \"d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28\", \"files\": {}}", + "dest": "cargo/vendor/crossbeam-utils-0.8.21", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/darling/darling-0.20.11.crate", + "sha256": "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee", + "dest": "cargo/vendor/darling-0.20.11" + }, + { + "type": "inline", + "contents": "{\"package\": \"fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee\", \"files\": {}}", + "dest": "cargo/vendor/darling-0.20.11", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/darling_core/darling_core-0.20.11.crate", + "sha256": "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e", + "dest": "cargo/vendor/darling_core-0.20.11" + }, + { + "type": "inline", + "contents": "{\"package\": \"0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e\", \"files\": {}}", + "dest": "cargo/vendor/darling_core-0.20.11", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/darling_macro/darling_macro-0.20.11.crate", + "sha256": "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead", + "dest": "cargo/vendor/darling_macro-0.20.11" + }, + { + "type": "inline", + "contents": "{\"package\": \"fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead\", \"files\": {}}", + "dest": "cargo/vendor/darling_macro-0.20.11", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/dary_heap/dary_heap-0.3.9.crate", + "sha256": "8b1e3a325bc115f096c8b77bbf027a7c2592230e70be2d985be950d3d5e60ebe", + "dest": "cargo/vendor/dary_heap-0.3.9" + }, + { + "type": "inline", + "contents": "{\"package\": \"8b1e3a325bc115f096c8b77bbf027a7c2592230e70be2d985be950d3d5e60ebe\", \"files\": {}}", + "dest": "cargo/vendor/dary_heap-0.3.9", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/derive_builder/derive_builder-0.20.2.crate", + "sha256": "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947", + "dest": "cargo/vendor/derive_builder-0.20.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947\", \"files\": {}}", + "dest": "cargo/vendor/derive_builder-0.20.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/derive_builder_core/derive_builder_core-0.20.2.crate", + "sha256": "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8", + "dest": "cargo/vendor/derive_builder_core-0.20.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8\", \"files\": {}}", + "dest": "cargo/vendor/derive_builder_core-0.20.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/derive_builder_macro/derive_builder_macro-0.20.2.crate", + "sha256": "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c", + "dest": "cargo/vendor/derive_builder_macro-0.20.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c\", \"files\": {}}", + "dest": "cargo/vendor/derive_builder_macro-0.20.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/either/either-1.16.0.crate", + "sha256": "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e", + "dest": "cargo/vendor/either-1.16.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e\", \"files\": {}}", + "dest": "cargo/vendor/either-1.16.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/esaxx-rs/esaxx-rs-0.1.10.crate", + "sha256": "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6", + "dest": "cargo/vendor/esaxx-rs-0.1.10" + }, + { + "type": "inline", + "contents": "{\"package\": \"d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6\", \"files\": {}}", + "dest": "cargo/vendor/esaxx-rs-0.1.10", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/find-msvc-tools/find-msvc-tools-0.1.9.crate", + "sha256": "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582", + "dest": "cargo/vendor/find-msvc-tools-0.1.9" + }, + { + "type": "inline", + "contents": "{\"package\": \"5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582\", \"files\": {}}", + "dest": "cargo/vendor/find-msvc-tools-0.1.9", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/fnv/fnv-1.0.7.crate", + "sha256": "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", + "dest": "cargo/vendor/fnv-1.0.7" + }, + { + "type": "inline", + "contents": "{\"package\": \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\", \"files\": {}}", + "dest": "cargo/vendor/fnv-1.0.7", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/getrandom/getrandom-0.3.4.crate", + "sha256": "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd", + "dest": "cargo/vendor/getrandom-0.3.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\", \"files\": {}}", + "dest": "cargo/vendor/getrandom-0.3.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/ident_case/ident_case-1.0.1.crate", + "sha256": "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39", + "dest": "cargo/vendor/ident_case-1.0.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\", \"files\": {}}", + "dest": "cargo/vendor/ident_case-1.0.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/itertools/itertools-0.14.0.crate", + "sha256": "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285", + "dest": "cargo/vendor/itertools-0.14.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\", \"files\": {}}", + "dest": "cargo/vendor/itertools-0.14.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/itoa/itoa-1.0.18.crate", + "sha256": "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682", + "dest": "cargo/vendor/itoa-1.0.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\", \"files\": {}}", + "dest": "cargo/vendor/itoa-1.0.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/libc/libc-0.2.186.crate", + "sha256": "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66", + "dest": "cargo/vendor/libc-0.2.186" + }, + { + "type": "inline", + "contents": "{\"package\": \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\", \"files\": {}}", + "dest": "cargo/vendor/libc-0.2.186", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/log/log-0.4.31.crate", + "sha256": "113b30b4cd05f7c06868fdb2854f66a7b9fece9a48425351cd532e810d74024f", + "dest": "cargo/vendor/log-0.4.31" + }, + { + "type": "inline", + "contents": "{\"package\": \"113b30b4cd05f7c06868fdb2854f66a7b9fece9a48425351cd532e810d74024f\", \"files\": {}}", + "dest": "cargo/vendor/log-0.4.31", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/macro_rules_attribute/macro_rules_attribute-0.2.2.crate", + "sha256": "65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520", + "dest": "cargo/vendor/macro_rules_attribute-0.2.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520\", \"files\": {}}", + "dest": "cargo/vendor/macro_rules_attribute-0.2.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/macro_rules_attribute-proc_macro/macro_rules_attribute-proc_macro-0.2.2.crate", + "sha256": "670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30", + "dest": "cargo/vendor/macro_rules_attribute-proc_macro-0.2.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30\", \"files\": {}}", + "dest": "cargo/vendor/macro_rules_attribute-proc_macro-0.2.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/memchr/memchr-2.8.1.crate", + "sha256": "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8", + "dest": "cargo/vendor/memchr-2.8.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8\", \"files\": {}}", + "dest": "cargo/vendor/memchr-2.8.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/minimal-lexical/minimal-lexical-0.2.1.crate", + "sha256": "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a", + "dest": "cargo/vendor/minimal-lexical-0.2.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\", \"files\": {}}", + "dest": "cargo/vendor/minimal-lexical-0.2.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/monostate/monostate-0.1.18.crate", + "sha256": "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67", + "dest": "cargo/vendor/monostate-0.1.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67\", \"files\": {}}", + "dest": "cargo/vendor/monostate-0.1.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/monostate-impl/monostate-impl-0.1.18.crate", + "sha256": "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9", + "dest": "cargo/vendor/monostate-impl-0.1.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9\", \"files\": {}}", + "dest": "cargo/vendor/monostate-impl-0.1.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/nom/nom-7.1.3.crate", + "sha256": "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a", + "dest": "cargo/vendor/nom-7.1.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\", \"files\": {}}", + "dest": "cargo/vendor/nom-7.1.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/once_cell/once_cell-1.21.4.crate", + "sha256": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50", + "dest": "cargo/vendor/once_cell-1.21.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\", \"files\": {}}", + "dest": "cargo/vendor/once_cell-1.21.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/onig/onig-6.5.3.crate", + "sha256": "0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2", + "dest": "cargo/vendor/onig-6.5.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2\", \"files\": {}}", + "dest": "cargo/vendor/onig-6.5.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/onig_sys/onig_sys-69.9.3.crate", + "sha256": "1e68317604e77e53b85896388e1a803c1d21b74c899ec9e5e1112db90735edd7", + "dest": "cargo/vendor/onig_sys-69.9.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"1e68317604e77e53b85896388e1a803c1d21b74c899ec9e5e1112db90735edd7\", \"files\": {}}", + "dest": "cargo/vendor/onig_sys-69.9.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/paste/paste-1.0.15.crate", + "sha256": "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a", + "dest": "cargo/vendor/paste-1.0.15" + }, + { + "type": "inline", + "contents": "{\"package\": \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\", \"files\": {}}", + "dest": "cargo/vendor/paste-1.0.15", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/pkg-config/pkg-config-0.3.33.crate", + "sha256": "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e", + "dest": "cargo/vendor/pkg-config-0.3.33" + }, + { + "type": "inline", + "contents": "{\"package\": \"19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e\", \"files\": {}}", + "dest": "cargo/vendor/pkg-config-0.3.33", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/ppv-lite86/ppv-lite86-0.2.21.crate", + "sha256": "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9", + "dest": "cargo/vendor/ppv-lite86-0.2.21" + }, + { + "type": "inline", + "contents": "{\"package\": \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\", \"files\": {}}", + "dest": "cargo/vendor/ppv-lite86-0.2.21", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/proc-macro2/proc-macro2-1.0.106.crate", + "sha256": "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934", + "dest": "cargo/vendor/proc-macro2-1.0.106" + }, + { + "type": "inline", + "contents": "{\"package\": \"8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934\", \"files\": {}}", + "dest": "cargo/vendor/proc-macro2-1.0.106", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/quote/quote-1.0.45.crate", + "sha256": "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924", + "dest": "cargo/vendor/quote-1.0.45" + }, + { + "type": "inline", + "contents": "{\"package\": \"41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924\", \"files\": {}}", + "dest": "cargo/vendor/quote-1.0.45", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/r-efi/r-efi-5.3.0.crate", + "sha256": "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f", + "dest": "cargo/vendor/r-efi-5.3.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\", \"files\": {}}", + "dest": "cargo/vendor/r-efi-5.3.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rand/rand-0.9.4.crate", + "sha256": "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea", + "dest": "cargo/vendor/rand-0.9.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea\", \"files\": {}}", + "dest": "cargo/vendor/rand-0.9.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rand_chacha/rand_chacha-0.9.0.crate", + "sha256": "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb", + "dest": "cargo/vendor/rand_chacha-0.9.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\", \"files\": {}}", + "dest": "cargo/vendor/rand_chacha-0.9.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rand_core/rand_core-0.9.5.crate", + "sha256": "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c", + "dest": "cargo/vendor/rand_core-0.9.5" + }, + { + "type": "inline", + "contents": "{\"package\": \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\", \"files\": {}}", + "dest": "cargo/vendor/rand_core-0.9.5", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rayon/rayon-1.12.0.crate", + "sha256": "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d", + "dest": "cargo/vendor/rayon-1.12.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d\", \"files\": {}}", + "dest": "cargo/vendor/rayon-1.12.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rayon-cond/rayon-cond-0.4.0.crate", + "sha256": "2964d0cf57a3e7a06e8183d14a8b527195c706b7983549cd5462d5aa3747438f", + "dest": "cargo/vendor/rayon-cond-0.4.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"2964d0cf57a3e7a06e8183d14a8b527195c706b7983549cd5462d5aa3747438f\", \"files\": {}}", + "dest": "cargo/vendor/rayon-cond-0.4.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rayon-core/rayon-core-1.13.0.crate", + "sha256": "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91", + "dest": "cargo/vendor/rayon-core-1.13.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91\", \"files\": {}}", + "dest": "cargo/vendor/rayon-core-1.13.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/regex/regex-1.12.3.crate", + "sha256": "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276", + "dest": "cargo/vendor/regex-1.12.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276\", \"files\": {}}", + "dest": "cargo/vendor/regex-1.12.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/regex-automata/regex-automata-0.4.14.crate", + "sha256": "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f", + "dest": "cargo/vendor/regex-automata-0.4.14" + }, + { + "type": "inline", + "contents": "{\"package\": \"6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f\", \"files\": {}}", + "dest": "cargo/vendor/regex-automata-0.4.14", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/regex-syntax/regex-syntax-0.8.10.crate", + "sha256": "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a", + "dest": "cargo/vendor/regex-syntax-0.8.10" + }, + { + "type": "inline", + "contents": "{\"package\": \"dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a\", \"files\": {}}", + "dest": "cargo/vendor/regex-syntax-0.8.10", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rustversion/rustversion-1.0.22.crate", + "sha256": "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d", + "dest": "cargo/vendor/rustversion-1.0.22" + }, + { + "type": "inline", + "contents": "{\"package\": \"b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d\", \"files\": {}}", + "dest": "cargo/vendor/rustversion-1.0.22", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/ryu/ryu-1.0.23.crate", + "sha256": "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f", + "dest": "cargo/vendor/ryu-1.0.23" + }, + { + "type": "inline", + "contents": "{\"package\": \"9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f\", \"files\": {}}", + "dest": "cargo/vendor/ryu-1.0.23", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/serde/serde-1.0.228.crate", + "sha256": "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e", + "dest": "cargo/vendor/serde-1.0.228" + }, + { + "type": "inline", + "contents": "{\"package\": \"9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e\", \"files\": {}}", + "dest": "cargo/vendor/serde-1.0.228", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/serde_core/serde_core-1.0.228.crate", + "sha256": "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad", + "dest": "cargo/vendor/serde_core-1.0.228" + }, + { + "type": "inline", + "contents": "{\"package\": \"41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad\", \"files\": {}}", + "dest": "cargo/vendor/serde_core-1.0.228", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/serde_derive/serde_derive-1.0.228.crate", + "sha256": "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79", + "dest": "cargo/vendor/serde_derive-1.0.228" + }, + { + "type": "inline", + "contents": "{\"package\": \"d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79\", \"files\": {}}", + "dest": "cargo/vendor/serde_derive-1.0.228", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/serde_json/serde_json-1.0.150.crate", + "sha256": "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9", + "dest": "cargo/vendor/serde_json-1.0.150" + }, + { + "type": "inline", + "contents": "{\"package\": \"e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9\", \"files\": {}}", + "dest": "cargo/vendor/serde_json-1.0.150", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/shlex/shlex-2.0.1.crate", + "sha256": "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba", + "dest": "cargo/vendor/shlex-2.0.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\", \"files\": {}}", + "dest": "cargo/vendor/shlex-2.0.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/smallvec/smallvec-1.15.1.crate", + "sha256": "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03", + "dest": "cargo/vendor/smallvec-1.15.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03\", \"files\": {}}", + "dest": "cargo/vendor/smallvec-1.15.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/spm_precompiled/spm_precompiled-0.1.4.crate", + "sha256": "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326", + "dest": "cargo/vendor/spm_precompiled-0.1.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326\", \"files\": {}}", + "dest": "cargo/vendor/spm_precompiled-0.1.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/static_assertions/static_assertions-1.1.0.crate", + "sha256": "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f", + "dest": "cargo/vendor/static_assertions-1.1.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\", \"files\": {}}", + "dest": "cargo/vendor/static_assertions-1.1.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/strsim/strsim-0.11.1.crate", + "sha256": "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f", + "dest": "cargo/vendor/strsim-0.11.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\", \"files\": {}}", + "dest": "cargo/vendor/strsim-0.11.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/syn/syn-2.0.117.crate", + "sha256": "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99", + "dest": "cargo/vendor/syn-2.0.117" + }, + { + "type": "inline", + "contents": "{\"package\": \"e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99\", \"files\": {}}", + "dest": "cargo/vendor/syn-2.0.117", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/thiserror/thiserror-2.0.18.crate", + "sha256": "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4", + "dest": "cargo/vendor/thiserror-2.0.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4\", \"files\": {}}", + "dest": "cargo/vendor/thiserror-2.0.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/thiserror-impl/thiserror-impl-2.0.18.crate", + "sha256": "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5", + "dest": "cargo/vendor/thiserror-impl-2.0.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5\", \"files\": {}}", + "dest": "cargo/vendor/thiserror-impl-2.0.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/tokenizers/tokenizers-0.21.4.crate", + "sha256": "a620b996116a59e184c2fa2dfd8251ea34a36d0a514758c6f966386bd2e03476", + "dest": "cargo/vendor/tokenizers-0.21.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"a620b996116a59e184c2fa2dfd8251ea34a36d0a514758c6f966386bd2e03476\", \"files\": {}}", + "dest": "cargo/vendor/tokenizers-0.21.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/unicode-ident/unicode-ident-1.0.24.crate", + "sha256": "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75", + "dest": "cargo/vendor/unicode-ident-1.0.24" + }, + { + "type": "inline", + "contents": "{\"package\": \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\", \"files\": {}}", + "dest": "cargo/vendor/unicode-ident-1.0.24", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/unicode-normalization-alignments/unicode-normalization-alignments-0.1.12.crate", + "sha256": "43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de", + "dest": "cargo/vendor/unicode-normalization-alignments-0.1.12" + }, + { + "type": "inline", + "contents": "{\"package\": \"43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de\", \"files\": {}}", + "dest": "cargo/vendor/unicode-normalization-alignments-0.1.12", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/unicode-segmentation/unicode-segmentation-1.13.3.crate", + "sha256": "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8", + "dest": "cargo/vendor/unicode-segmentation-1.13.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8\", \"files\": {}}", + "dest": "cargo/vendor/unicode-segmentation-1.13.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/unicode_categories/unicode_categories-0.1.1.crate", + "sha256": "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e", + "dest": "cargo/vendor/unicode_categories-0.1.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e\", \"files\": {}}", + "dest": "cargo/vendor/unicode_categories-0.1.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/version_check/version_check-0.9.5.crate", + "sha256": "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a", + "dest": "cargo/vendor/version_check-0.9.5" + }, + { + "type": "inline", + "contents": "{\"package\": \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\", \"files\": {}}", + "dest": "cargo/vendor/version_check-0.9.5", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/wasip2/wasip2-1.0.3+wasi-0.2.9.crate", + "sha256": "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6", + "dest": "cargo/vendor/wasip2-1.0.3+wasi-0.2.9" + }, + { + "type": "inline", + "contents": "{\"package\": \"20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6\", \"files\": {}}", + "dest": "cargo/vendor/wasip2-1.0.3+wasi-0.2.9", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/wit-bindgen/wit-bindgen-0.57.1.crate", + "sha256": "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e", + "dest": "cargo/vendor/wit-bindgen-0.57.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\", \"files\": {}}", + "dest": "cargo/vendor/wit-bindgen-0.57.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/zerocopy/zerocopy-0.8.50.crate", + "sha256": "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1", + "dest": "cargo/vendor/zerocopy-0.8.50" + }, + { + "type": "inline", + "contents": "{\"package\": \"3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1\", \"files\": {}}", + "dest": "cargo/vendor/zerocopy-0.8.50", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.50.crate", + "sha256": "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639", + "dest": "cargo/vendor/zerocopy-derive-0.8.50" + }, + { + "type": "inline", + "contents": "{\"package\": \"0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639\", \"files\": {}}", + "dest": "cargo/vendor/zerocopy-derive-0.8.50", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/zmij/zmij-1.0.21.crate", + "sha256": "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa", + "dest": "cargo/vendor/zmij-1.0.21" + }, + { + "type": "inline", + "contents": "{\"package\": \"b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa\", \"files\": {}}", + "dest": "cargo/vendor/zmij-1.0.21", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "inline", + "contents": "[source.vendored-sources]\ndirectory = \"cargo/vendor\"\n\n[source.crates-io]\nreplace-with = \"vendored-sources\"\n", + "dest": "cargo", + "dest-filename": "config" + } +] \ No newline at end of file diff --git a/modules/opencl-headers.json b/modules/opencl-headers.json new file mode 100644 index 0000000..11492a3 --- /dev/null +++ b/modules/opencl-headers.json @@ -0,0 +1,19 @@ +{ + "name": "opencl-headers", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DCMAKE_INSTALL_PREFIX=/app", + "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" + ], + "cleanup": [ + "/lib/cmake" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/KhronosGroup/OpenCL-Headers.git", + "tag": "v2023.04.17", + "commit": "4fdcfb0ae675f2f63a9add9552e0af62c2b4ed30" + } + ] +} diff --git a/modules/rapidjson.json b/modules/rapidjson.json new file mode 100644 index 0000000..c639f7a --- /dev/null +++ b/modules/rapidjson.json @@ -0,0 +1,24 @@ +{ + "name": "rapidjson", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DRAPIDJSON_BUILD_DOC=OFF", + "-DRAPIDJSON_BUILD_EXAMPLES=OFF", + "-DRAPIDJSON_BUILD_TESTS=OFF", + "-DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF", + "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" + ], + "cleanup": [ + "/lib/cmake", + "/lib/pkgconfig", + "/share/doc" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/Tencent/rapidjson.git", + "branch": "master", + "commit": "24b5e7a8b27f42fa16b96fc70aade9106cf7102f" + } + ] +} diff --git a/modules/xrt.json b/modules/xrt.json new file mode 100644 index 0000000..dfb8f69 --- /dev/null +++ b/modules/xrt.json @@ -0,0 +1,27 @@ +{ + "name": "xrt", + "buildsystem": "simple", + "cleanup": [ + "/include", + "/lib/cmake", + "/lib/pkgconfig" + ], + "build-commands": [ + "mkdir -p build_bin && ln -sf /usr/bin/cmake build_bin/cmake3", + "sed -i 's|xrt_add_subdirectory(python)|# xrt_add_subdirectory(python)|g' xrt/src/CMake/nativeLnx.cmake", + "sed -i 's|#include |#define STAP_PROBEV(...)\\n#define DTRACE_PROBE(...)\\n#define DTRACE_PROBE1(...)\\n#define DTRACE_PROBE2(...)|g' xrt/src/runtime_src/core/common/detail/linux/trace.h", + "PATH=$PWD/build_bin:$PATH cd xrt/build && ./build.sh -npu -opt -noctest -noinit -disable-werror -cmake-flags \"-DXRT_UPSTREAM_DEBIAN=ON -DCMAKE_INSTALL_LIBDIR=lib\" -install_prefix /app -j 4", + "cp -a xrt/build/Release/app/* /app/", + "install -Dm755 xrt/src/runtime_src/core/tools/xbutil2/smi_install_archive.sh /app/bin/smi_install_archive.sh", + "sed -i 's|if(\"${XDNA_CPACK_LINUX_PKG_FLAVOR}\" MATCHES \"debian\")|set(XDNA_CPACK_LINUX_PKG_FLAVOR \"debian\")\\nif(\"${XDNA_CPACK_LINUX_PKG_FLAVOR}\" MATCHES \"debian\")|g' CMake/pkg.cmake", + "mkdir build_plugin && cd build_plugin && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/app -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PREFIX_PATH=/app -DSKIP_KMOD=ON -DBUILD_VXDNA=ON -DXRT_UPSTREAM=OFF .. && make -j4 && make install", + "if [ -d /app/lib64 ]; then cp -a /app/lib64/* /app/lib/ && rm -rf /app/lib64; fi" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/amd/xdna-driver.git", + "commit": "23ce43b2b8e790f6dbb50d75b20c08a914e69abc" + } + ] +}