comparison 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
comparison
equal deleted inserted replaced
274:c9be578316a6 275:78699f810817
1 bazel_dep(name = "rules_cc", version = "0.2.14") 1 bazel_dep(name = "rules_cc", version = "0.2.14")
2 bazel_dep(name = "platforms", version = "1.0.0") 2 bazel_dep(name = "platforms", version = "1.0.0")
3 bazel_dep(name = "bazel_skylib", version = "1.8.2") 3 bazel_dep(name = "bazel_skylib", version = "1.8.2")
4 bazel_dep(name = "rules_shell", version = "0.6.1") 4 bazel_dep(name = "rules_shell", version = "0.6.1")
5
5 bazel_dep(name = "aspect_rules_js", version = "2.9.2", dev_dependency = True) 6 bazel_dep(name = "aspect_rules_js", version = "2.9.2", dev_dependency = True)
6 bazel_dep(name = "rules_nodejs", version = "6.7.3", dev_dependency = True) 7 bazel_dep(name = "rules_nodejs", version = "6.7.3", dev_dependency = True)
8
7 bazel_dep(name = "openssl", version = "3.3.1.bcr.7") 9 bazel_dep(name = "openssl", version = "3.3.1.bcr.7")
8 bazel_dep(name = "rules_foreign_cc", version = "0.14.0") 10 bazel_dep(name = "rules_foreign_cc", version = "0.14.0")
11
9 bazel_dep(name = "buildifier_prebuilt", version = "7.1.2", dev_dependency = True) 12 bazel_dep(name = "buildifier_prebuilt", version = "7.1.2", dev_dependency = True)
10 13
11 bazel_dep(name = "emsdk", version = "4.0.23") 14 bazel_dep(name = "emsdk", version = "4.0.23")
12 local_path_override( 15 local_path_override(
13 module_name = "emsdk", 16 module_name = "emsdk",
14 path = "third_party/emsdk/bazel", 17 path = "third_party/emsdk/bazel",
15 ) 18 )
16 19
17 http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") 20 http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
21
18 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") 22 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
19 23
20 http_archive( 24 http_archive(
21 name = "tectonic_linux_x86_64", 25 name = "tectonic_linux_x86_64",
22 urls = ["https://github.com/tectonic-typesetting/tectonic/releases/download/tectonic%400.17.0/tectonic-0.17.0-x86_64-unknown-linux-musl.tar.gz"], 26 build_file_content = """
23 sha256 = "8533d07f9ccbd7a65824b9e0459041bca34af1eb33daba48f59215593753a3b7",
24 build_file_content = """
25 exports_files( 27 exports_files(
26 ["tectonic"], 28 ["tectonic"],
27 visibility = ["//visibility:public"], 29 visibility = ["//visibility:public"],
28 ) 30 )
29 """, 31 """,
32 sha256 = "8533d07f9ccbd7a65824b9e0459041bca34af1eb33daba48f59215593753a3b7",
33 urls = ["https://github.com/tectonic-typesetting/tectonic/releases/download/tectonic%400.17.0/tectonic-0.17.0-x86_64-unknown-linux-musl.tar.gz"],
30 ) 34 )
31 35
32 http_archive( 36 http_archive(
33 name = "copilot_cli_linux_x86_64", 37 name = "copilot_cli_linux_x86_64",
34 urls = ["https://github.com/github/copilot-cli/releases/download/v1.0.73/copilot-linux-x64.tar.gz"], 38 build_file_content = """
35 sha256 = "8f9bb5f7e364c267265d1e24ac2aea69ed559ddb956719c6db12a353de6c5970",
36 build_file_content = """
37 exports_files( 39 exports_files(
38 ["copilot"], 40 ["copilot"],
39 visibility = ["//visibility:public"], 41 visibility = ["//visibility:public"],
40 ) 42 )
41 """, 43 """,
44 sha256 = "8f9bb5f7e364c267265d1e24ac2aea69ed559ddb956719c6db12a353de6c5970",
45 urls = ["https://github.com/github/copilot-cli/releases/download/v1.0.73/copilot-linux-x64.tar.gz"],
46 )
47
48 http_archive(
49 name = "llama_cpp_win_cuda_12_4_x64",
50 build_file_content = """
51 filegroup(
52 name = "runtime",
53 srcs = glob(["**"]),
54 visibility = ["//visibility:public"],
55 )
56 """,
57 sha256 = "84b863f70a8b4c2873e93385d0b208f24776ecd1b946a2cb6d5cda863d143c3d",
58 urls = ["https://github.com/ggml-org/llama.cpp/releases/download/b10453/llama-b10453-bin-win-cuda-12.4-x64.zip"],
59 )
60
61 http_archive(
62 name = "llama_cpp_win_cuda_12_4_cudart_x64",
63 build_file_content = """
64 filegroup(
65 name = "runtime",
66 srcs = glob(["**"]),
67 visibility = ["//visibility:public"],
68 )
69 """,
70 sha256 = "8c79a9b226de4b3cacfd1f83d24f962d0773be79f1e7b75c6af4ded7e32ae1d6",
71 urls = ["https://github.com/ggml-org/llama.cpp/releases/download/b10453/cudart-llama-bin-win-cuda-12.4-x64.zip"],
42 ) 72 )
43 73
44 http_file( 74 http_file(
45 name = "mercurial_cp311_wheel", 75 name = "mercurial_cp311_wheel",
46 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", 76 sha256 = "33576d9747b7db7d40950cb122c5a87686d92ea1dfe0f1ef0498df077c852ba7",
47 sha256 = "33576d9747b7db7d40950cb122c5a87686d92ea1dfe0f1ef0498df077c852ba7", 77 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",
48 ) 78 )
49 79
50 http_archive( 80 http_archive(
51 name = "playwright_chromium_linux", 81 name = "playwright_chromium_linux",
52 urls = ["https://playwright.azureedge.net/builds/chromium/1140/chromium-linux.zip"], 82 build_file_content = """
53 sha256 = "e78cda52fa7e847abcd36a48ffabda43e71e2220a3e9a398f7c9a179529570a5",
54 strip_prefix = "chrome-linux",
55 build_file_content = """
56 exports_files(["chrome"]) 83 exports_files(["chrome"])
57 84
58 filegroup( 85 filegroup(
59 name = "chromium", 86 name = "chromium",
60 srcs = glob(["**"], exclude = ["BUILD.bazel"]), 87 srcs = glob(["**"], exclude = ["BUILD.bazel"]),
61 visibility = ["//visibility:public"], 88 visibility = ["//visibility:public"],
62 ) 89 )
63 """, 90 """,
91 sha256 = "e78cda52fa7e847abcd36a48ffabda43e71e2220a3e9a398f7c9a179529570a5",
92 strip_prefix = "chrome-linux",
93 urls = ["https://playwright.azureedge.net/builds/chromium/1140/chromium-linux.zip"],
64 ) 94 )
65 95
66 http_archive( 96 http_archive(
67 name = "libwebp_linux_x86_64", 97 name = "libwebp_linux_x86_64",
68 urls = ["https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0-linux-x86-64.tar.gz"], 98 build_file_content = """
69 sha256 = "1c5ffab71efecefa0e3c23516c3a3a1dccb45cc310ae1095c6f14ae268e38067",
70 strip_prefix = "libwebp-1.6.0-linux-x86-64",
71 build_file_content = """
72 exports_files(["bin/cwebp"]) 99 exports_files(["bin/cwebp"])
73 """, 100 """,
101 sha256 = "1c5ffab71efecefa0e3c23516c3a3a1dccb45cc310ae1095c6f14ae268e38067",
102 strip_prefix = "libwebp-1.6.0-linux-x86-64",
103 urls = ["https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.6.0-linux-x86-64.tar.gz"],
74 ) 104 )
75 105
76 http_archive( 106 http_archive(
77 name = "hlsjs", 107 name = "hlsjs",
78 urls = ["https://github.com/video-dev/hls.js/releases/download/v1.6.16/release.zip"], 108 build_file_content = """
79 sha256 = "09c827969e702e82be694da80dbf16dbdf5ff6819c33a374b1757e1bc0adb458",
80 build_file_content = """
81 exports_files( 109 exports_files(
82 ["dist/hls.min.js"], 110 ["dist/hls.min.js"],
83 visibility = ["//visibility:public"], 111 visibility = ["//visibility:public"],
84 ) 112 )
85 """, 113 """,
114 sha256 = "09c827969e702e82be694da80dbf16dbdf5ff6819c33a374b1757e1bc0adb458",
115 urls = ["https://github.com/video-dev/hls.js/releases/download/v1.6.16/release.zip"],
86 ) 116 )
87 117
88 node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") 118 node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
89 node.toolchain(node_version = "20.18.0") 119 node.toolchain(node_version = "20.18.0")
90 use_repo(node, "nodejs") 120 use_repo(node, "nodejs")
91 121
92 npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") 122 npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
93 npm.npm_translate_lock( 123 npm.npm_translate_lock(
94 name = "hg_web_npm", 124 name = "hg_web_npm",
95 data = ["//hg-web/e2e:package.json"], 125 data = ["//hg-web/e2e:package.json"],
96 npm_package_lock = "//hg-web/e2e:package-lock.json", 126 npm_package_lock = "//hg-web/e2e:package-lock.json",
97 pnpm_lock = "//hg-web/e2e:pnpm-lock.yaml", 127 pnpm_lock = "//hg-web/e2e:pnpm-lock.yaml",
98 ) 128 )
99 use_repo(npm, "hg_web_npm") 129 use_repo(npm, "hg_web_npm")
100 130
101 # Bun 131 # Bun
102 http_file( 132 http_file(
103 name = "bun_darwin_arm64_zip", 133 name = "bun_darwin_arm64_zip",
104 url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-darwin-aarch64.zip", 134 sha256 = "22f5fa3fff72b0d3b8e7e0f8051ecadf2e41920d474ac62db5279144809c9005",
105 sha256 = "22f5fa3fff72b0d3b8e7e0f8051ecadf2e41920d474ac62db5279144809c9005", 135 url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-darwin-aarch64.zip",
106 ) 136 )
137
107 http_file( 138 http_file(
108 name = "bun_linux_aarch64_zip", 139 name = "bun_linux_aarch64_zip",
109 url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-aarch64.zip", 140 sha256 = "6a7a98c546d084a845deda62eb2a5b94a6a14a63ea81cf9186d46bf55bf910a9",
110 sha256 = "6a7a98c546d084a845deda62eb2a5b94a6a14a63ea81cf9186d46bf55bf910a9", 141 url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-aarch64.zip",
111 ) 142 )
143
112 http_file( 144 http_file(
113 name = "bun_linux_x86_zip", 145 name = "bun_linux_x86_zip",
114 url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-x64.zip", 146 sha256 = "cf0ed0a920799d576ffde4e0cae66d732bf23c2530407f26f59c7831dffe1f0e",
115 sha256 = "cf0ed0a920799d576ffde4e0cae66d732bf23c2530407f26f59c7831dffe1f0e", 147 url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-x64.zip",
116 ) 148 )
117 149
118 # Bring in Python support 150 # Bring in Python support
119 bazel_dep(name = "rules_python", version = "1.7.0") 151 bazel_dep(name = "rules_python", version = "1.7.0")
120 152
123 python.toolchain(python_version = "3.11") 155 python.toolchain(python_version = "3.11")
124 use_repo(python, "python_3_11") 156 use_repo(python, "python_3_11")
125 157
126 pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") 158 pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
127 pip.parse( 159 pip.parse(
128 hub_name = "inference_pip", 160 hub_name = "inference_pip",
129 python_version = "3.11", 161 python_version = "3.11",
130 requirements_lock = "//mrjunejune/inference:requirements_lock.txt", 162 requirements_lock = "//mrjunejune/inference:requirements_lock.txt",
131 ) 163 )
132 use_repo(pip, "inference_pip") 164 use_repo(pip, "inference_pip")
165 pip.parse(
166 hub_name = "dictation_pip",
167 python_version = "3.11",
168 requirements_lock = "//dictation:requirements_lock.txt",
169 )
170 use_repo(pip, "dictation_pip")