Mercurial
diff MODULE.bazel @ 275:78699f810817
Add Qwen3-VL and WebRTC dictation services
Add Bazel targets for the CUDA-backed Qwen3-VL server and a local WebRTC faster-whisper dictation service.
Co-authored-by: Copilot <[email protected]>
Copilot-Session: e3d8cb06-6c95-4ae0-9757-651d3796ab00
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 17 Aug 2026 10:58:47 -0700 |
| parents | 1f9877b637e9 |
| children | 1d99147f520c |
line wrap: on
line diff
--- a/MODULE.bazel Sat Aug 08 02:13:21 2026 -0700 +++ b/MODULE.bazel Mon Aug 17 10:58:47 2026 -0700 @@ -2,10 +2,13 @@ bazel_dep(name = "platforms", version = "1.0.0") bazel_dep(name = "bazel_skylib", version = "1.8.2") bazel_dep(name = "rules_shell", version = "0.6.1") + bazel_dep(name = "aspect_rules_js", version = "2.9.2", dev_dependency = True) bazel_dep(name = "rules_nodejs", version = "6.7.3", dev_dependency = True) + bazel_dep(name = "openssl", version = "3.3.1.bcr.7") bazel_dep(name = "rules_foreign_cc", version = "0.14.0") + bazel_dep(name = "buildifier_prebuilt", version = "7.1.2", dev_dependency = True) bazel_dep(name = "emsdk", version = "4.0.23") @@ -15,44 +18,68 @@ ) http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") + http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( - name = "tectonic_linux_x86_64", - urls = ["https://github.com/tectonic-typesetting/tectonic/releases/download/tectonic%400.17.0/tectonic-0.17.0-x86_64-unknown-linux-musl.tar.gz"], - sha256 = "8533d07f9ccbd7a65824b9e0459041bca34af1eb33daba48f59215593753a3b7", - build_file_content = """ + name = "tectonic_linux_x86_64", + build_file_content = """ exports_files( ["tectonic"], visibility = ["//visibility:public"], ) """, + sha256 = "8533d07f9ccbd7a65824b9e0459041bca34af1eb33daba48f59215593753a3b7", + urls = ["https://github.com/tectonic-typesetting/tectonic/releases/download/tectonic%400.17.0/tectonic-0.17.0-x86_64-unknown-linux-musl.tar.gz"], ) http_archive( - name = "copilot_cli_linux_x86_64", - urls = ["https://github.com/github/copilot-cli/releases/download/v1.0.73/copilot-linux-x64.tar.gz"], - sha256 = "8f9bb5f7e364c267265d1e24ac2aea69ed559ddb956719c6db12a353de6c5970", - build_file_content = """ + name = "copilot_cli_linux_x86_64", + build_file_content = """ exports_files( ["copilot"], visibility = ["//visibility:public"], ) """, + sha256 = "8f9bb5f7e364c267265d1e24ac2aea69ed559ddb956719c6db12a353de6c5970", + urls = ["https://github.com/github/copilot-cli/releases/download/v1.0.73/copilot-linux-x64.tar.gz"], +) + +http_archive( + name = "llama_cpp_win_cuda_12_4_x64", + build_file_content = """ +filegroup( + name = "runtime", + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) +""", + sha256 = "84b863f70a8b4c2873e93385d0b208f24776ecd1b946a2cb6d5cda863d143c3d", + urls = ["https://github.com/ggml-org/llama.cpp/releases/download/b10453/llama-b10453-bin-win-cuda-12.4-x64.zip"], +) + +http_archive( + name = "llama_cpp_win_cuda_12_4_cudart_x64", + build_file_content = """ +filegroup( + name = "runtime", + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) +""", + sha256 = "8c79a9b226de4b3cacfd1f83d24f962d0773be79f1e7b75c6af4ded7e32ae1d6", + urls = ["https://github.com/ggml-org/llama.cpp/releases/download/b10453/cudart-llama-bin-win-cuda-12.4-x64.zip"], ) http_file( - name = "mercurial_cp311_wheel", - url = "https://files.pythonhosted.org/packages/ea/21/053406cf91b23bef2ac27a7023632efaf0d3c126134b322e2bb753626102/mercurial-7.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", - sha256 = "33576d9747b7db7d40950cb122c5a87686d92ea1dfe0f1ef0498df077c852ba7", + name = "mercurial_cp311_wheel", + sha256 = "33576d9747b7db7d40950cb122c5a87686d92ea1dfe0f1ef0498df077c852ba7", + url = "https://files.pythonhosted.org/packages/ea/21/053406cf91b23bef2ac27a7023632efaf0d3c126134b322e2bb753626102/mercurial-7.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", ) http_archive( - name = "playwright_chromium_linux", - urls = ["https://playwright.azureedge.net/builds/chromium/1140/chromium-linux.zip"], - sha256 = "e78cda52fa7e847abcd36a48ffabda43e71e2220a3e9a398f7c9a179529570a5", - strip_prefix = "chrome-linux", - build_file_content = """ + name = "playwright_chromium_linux", + build_file_content = """ exports_files(["chrome"]) filegroup( @@ -61,28 +88,31 @@ visibility = ["//visibility:public"], ) """, + sha256 = "e78cda52fa7e847abcd36a48ffabda43e71e2220a3e9a398f7c9a179529570a5", + strip_prefix = "chrome-linux", + urls = ["https://playwright.azureedge.net/builds/chromium/1140/chromium-linux.zip"], ) http_archive( - name = "libwebp_linux_x86_64", - urls = ["https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0-linux-x86-64.tar.gz"], - sha256 = "1c5ffab71efecefa0e3c23516c3a3a1dccb45cc310ae1095c6f14ae268e38067", - strip_prefix = "libwebp-1.6.0-linux-x86-64", - build_file_content = """ + name = "libwebp_linux_x86_64", + build_file_content = """ exports_files(["bin/cwebp"]) """, + sha256 = "1c5ffab71efecefa0e3c23516c3a3a1dccb45cc310ae1095c6f14ae268e38067", + strip_prefix = "libwebp-1.6.0-linux-x86-64", + urls = ["https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0-linux-x86-64.tar.gz"], ) http_archive( - name = "hlsjs", - urls = ["https://github.com/video-dev/hls.js/releases/download/v1.6.16/release.zip"], - sha256 = "09c827969e702e82be694da80dbf16dbdf5ff6819c33a374b1757e1bc0adb458", - build_file_content = """ + name = "hlsjs", + build_file_content = """ exports_files( ["dist/hls.min.js"], visibility = ["//visibility:public"], ) """, + sha256 = "09c827969e702e82be694da80dbf16dbdf5ff6819c33a374b1757e1bc0adb458", + urls = ["https://github.com/video-dev/hls.js/releases/download/v1.6.16/release.zip"], ) node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") @@ -91,28 +121,30 @@ npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( - name = "hg_web_npm", - data = ["//hg-web/e2e:package.json"], - npm_package_lock = "//hg-web/e2e:package-lock.json", - pnpm_lock = "//hg-web/e2e:pnpm-lock.yaml", + name = "hg_web_npm", + data = ["//hg-web/e2e:package.json"], + npm_package_lock = "//hg-web/e2e:package-lock.json", + pnpm_lock = "//hg-web/e2e:pnpm-lock.yaml", ) use_repo(npm, "hg_web_npm") # Bun http_file( - name = "bun_darwin_arm64_zip", - url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-darwin-aarch64.zip", - sha256 = "22f5fa3fff72b0d3b8e7e0f8051ecadf2e41920d474ac62db5279144809c9005", + name = "bun_darwin_arm64_zip", + sha256 = "22f5fa3fff72b0d3b8e7e0f8051ecadf2e41920d474ac62db5279144809c9005", + url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-darwin-aarch64.zip", ) + http_file( - name = "bun_linux_aarch64_zip", - url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-aarch64.zip", - sha256 = "6a7a98c546d084a845deda62eb2a5b94a6a14a63ea81cf9186d46bf55bf910a9", + name = "bun_linux_aarch64_zip", + sha256 = "6a7a98c546d084a845deda62eb2a5b94a6a14a63ea81cf9186d46bf55bf910a9", + url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-aarch64.zip", ) + http_file( - name = "bun_linux_x86_zip", - url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-x64.zip", - sha256 = "cf0ed0a920799d576ffde4e0cae66d732bf23c2530407f26f59c7831dffe1f0e", + name = "bun_linux_x86_zip", + sha256 = "cf0ed0a920799d576ffde4e0cae66d732bf23c2530407f26f59c7831dffe1f0e", + url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-x64.zip", ) # Bring in Python support @@ -125,8 +157,14 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") pip.parse( - hub_name = "inference_pip", - python_version = "3.11", - requirements_lock = "//mrjunejune/inference:requirements_lock.txt", + hub_name = "inference_pip", + python_version = "3.11", + requirements_lock = "//mrjunejune/inference:requirements_lock.txt", ) use_repo(pip, "inference_pip") +pip.parse( + hub_name = "dictation_pip", + python_version = "3.11", + requirements_lock = "//dictation:requirements_lock.txt", +) +use_repo(pip, "dictation_pip")