diff --git a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.13-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.13-foss-2024a-CUDA-12.6.0.eb new file mode 100644 index 00000000000..00284f81950 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.13-foss-2024a-CUDA-12.6.0.eb @@ -0,0 +1,54 @@ +# update 0.0.12: Thomas Hoffmann (EMBL) +easyblock = 'PythonBundle' + +name = 'dm-haiku' +version = '0.0.13' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/deepmind/dm-haiku' +description = """Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural +network library for TensorFlow.""" + +toolchain = {'name': 'foss', 'version': '2024a'} + +builddependencies = [ + ('poetry', '1.8.3') +] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('jax', '0.4.35', versionsuffix), # required by jmp, also provides absl-py + ('PyYAML', '6.0.2'), + ('CUDA', '12.6.0', '', SYSTEM), + ('tensorstore', '0.1.69'), + ('protobuf-python', '5.28.0'), + ('Optax', '0.2.4', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('flax', '0.10.2', { + 'checksums': ['6f831350026ad48182ba6588bb4dd72dc1084985d9aca923254cb3e4c78d75f3'], + }), + ('nest_asyncio', '1.6.0', { + 'checksums': ['6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe'], + }), + ('humanize', '4.11.0'), + ('orbax_checkpoint', '0.10.2', { + 'modulename': 'orbax.checkpoint', + 'checksums': ['e575ebe1f94e5cb6353ab8c9df81de0ca7cddc118645c3bfc17b8344f19d42f1'], + }), + ('dm_haiku', version, { + 'modulename': 'haiku', + 'checksums': ['029bb91b5b1edb0d3fe23304d3bf12a545ea6e485041f7f5d8c8d85ebcf6e17d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorstore/tensorstore-0.1.69-foss-2024a.eb b/easybuild/easyconfigs/t/tensorstore/tensorstore-0.1.69-foss-2024a.eb new file mode 100644 index 00000000000..337c36cde0e --- /dev/null +++ b/easybuild/easyconfigs/t/tensorstore/tensorstore-0.1.69-foss-2024a.eb @@ -0,0 +1,381 @@ +# Thomas Hoffmann, EMBL Heidlelberg, structures-it@embl.de, 2024/12 +easyblock = 'PythonBundle' + +name = 'tensorstore' +version = '0.1.69' + +homepage = 'https://github.com/google/tensorstore' +description = """TensorStore is an open-source C++ and Python software library designed for +storage and manipulation of large multi-dimensional arrays.""" + +toolchain = {'name': 'foss', 'version': '2024a'} + +use_pip = True + +builddependencies = [ + ('pybind11', '2.12.0'), + ('Bazel', '7.4.1'), # .bazelversion has 7.4.0 + ('PyYAML', '6.0.2'), + # ('NASM', '2.16.03'), # TODO syslib + # ('Abseil', '20240722.0'), # TODO syslib + # ('RE2', '2024-07-02'), # TODO syslib + # ('protobuf', '28.0'), # TODO syslib + # ('c-ares', '1.34.3'), # TODO syslib + # ('OpenSSL','3', '', SYSTEM)] +] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('ml_dtypes', '0.5.0'), + ('zlib', '1.3.1'), + ('LibTIFF', '4.6.0'), + ('libpng', '1.6.43'), + ('libavif', '1.1.1'), + ('cURL', '8.7.1'), + ('bzip2', '1.0.8'), + # ('snappy', '1.1.10'), # TODO syslib + # ('Brotli', '1.1.0'), # TODO syslib + # ('libwebp', '1.4.0'), # TODO syslib + # ('nlohmann_json', '3.11.3'), # TODO syslib + # ('Blosc', '1.21.6'), # TODO # TODO syslib + # ('tinyxml2', '10.0.0'), TODO # TODO syslib +] + +_systemlibs = [ + 'numpy', + 'com_github_pybind_pybind11', + 'net_zlib', + 'jpeg', + 'png', + 'org_lz4', + 'libtiff', + 'se_curl', + 'net_zstd', + 'org_tukaani_xz', + 'com_google_brotli', + 'org_sourceware_bzip2', + 'org_nghttp2', + # TODO: fix include paths for related system.BUILD.bzl + # 'com_github_nlohmann_json', #TODO + # 'blake3', #TODO + # 'org_aomedia_avif', #TODO + # 'com_github_cares_cares', # TODO + # 'libwebp', # TODO + # 'nasm', # TODO + # 'com_google_absl', TODO + # 'com_google_snappy', # TODO + # 'tinyxml2', TODO + # 'org_blosc_cblosc', #TODO +] + +# Generate list of includ paths and link path for syslibs to be passed to Bazel as --copt and --linkopt +_bzl_include_copts = ' '.join(['--copt=-I$EBROOT%s/include' % x for x in [ + 'PYBIND11', + 'LIBTIFF', + 'LIBJPEGMINTURBO/', + 'ZLIB', + 'LIBPNG', + 'LZ4', + 'ZSTD', + 'CURL', + 'XZ', + 'BZIP2', + # '$EBROOTLIBAVIF', + # '$EBROOTTINYXML2', + # '$EBROOTRE2', + # '$EBROOTCMINARES', + # '$EBROOTABSEIL', + # '$EBROOTSNAPPY', + # '$EBROOTBLOSC', + # '$EBROOTLIBWEBP', + # '$EBROOTNLOHMANN_JSON' +]]) +_bzl_linkopts = _bzl_include_copts.replace('copt', 'linkopt').replace('include', 'lib').replace('-I', '-L') + +# Download all bazel third_party artifacts by components and provide them in _archives_dir. +# Third_party urls are modified to use file:// instead of https:// by patch _disable_third_party_downloads. +_archives_dir = '%(builddir)s/archives' +_extract_cmd = 'mkdir -p %(builddir)s/archives && cp %s ' + _archives_dir +default_easyblock = 'Binary' +# templates for Bazel sources download: +_sources = [{ + 'download_filename': '%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz', + 'extract_cmd': _extract_cmd, +}] +_sources_v = [{ + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz', + 'extract_cmd': _extract_cmd, +}] +_sources_vzip = [{ + 'download_filename': 'v%(version)s.zip', + 'filename': '%(name)s-%(version)s.zip', + 'extract_cmd': _extract_cmd, +}] +_sources_namedotversion = [{ + 'download_filename': '%(name)s.%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz', + 'extract_cmd': _extract_cmd, +}] +_sources_nameminvversion = [{ + 'download_filename': '%(name)s-v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz', + 'extract_cmd': _extract_cmd, +}] +_sources_nameminversion = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'extract_cmd': _extract_cmd, +}] +_sources_nameminversionbz2 = [{ + 'filename': '%(name)s-%(version)s.tar.bz2', + 'extract_cmd': _extract_cmd, +}] +_sources_nameminversionzip = [{ + 'filename': '%(name)s-%(version)s.zip', + 'extract_cmd': _extract_cmd, +}] + +default_component_specs = { + 'install_cmd': '#', + 'source_urls': [ + "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/%(name)s/archive/", + "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/%(name)s/releases" + + "/download/%(version)s/", + "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazel-contrib/%(name)s/archive/", + "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazel-contrib/%(name)s/releases/download/" + + "v%(version)s/", + "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/%(name)s/%(name)s/archive/", + "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/%(name)s/archive", + 'https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/%(name)s/releases/download/' + + '%(version)s/', + 'https://storage.googleapis.com/tensorstore-bazel-mirror/sourceforge.net/projects/%(name)s/files/%(name)s/' + + '%(version)s' + ], + 'sources': _sources, +} +components = [ + ('bazel_features', '1.17.0', { + 'sources': _sources_v + }), + ('rules_proto', '6.0.2', { + }), + ('apple_support', '1.17.1', { + 'sources': _sources_namedotversion + }), + ('toolchains_llvm', '1.2.0', { + 'sources': _sources_nameminvversion + }), + ('bazel-skylib', '1.7.1'), + ('platforms', '0.0.10', { + 'sources': _sources_nameminversion + }), + ('rules_cc', '0.0.13', { + 'sources': _sources_nameminversion + }), + ('protobuf', '28.2', { + 'source_urls': [ + "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/protocolbuffers/protobuf/archive/" + ], + 'sources': _sources_v + }), + ('boringssl', '20220720', { + 'sources': [{ + 'download_filename': '098695591f3a2665fccef83a3732ecfc99acdcdd.tar.gz', + 'filename': '%(name)s-%(version)s-098695591f3a2665fccef83a3732ecfc99acdcdd.tar.gz', + 'extract_cmd': _extract_cmd, + }], + }), + ('riegeli', '20231212', { + 'sources': [{ + 'download_filename': 'e54e4300f61cc113e5da816952d20ae070fe7219.tar.gz', + 'filename': '%(name)s-%(version)s-e54e4300f61cc113e5da816952d20ae070fe7219.tar.gz', + 'extract_cmd': _extract_cmd, + }], + }), + ('grpc', '1.66.1', {'sources': _sources_v}), + ('abseil-cpp', '20240722.0', { + 'source_urls': ['https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/abseil/abseil-cpp/archive'], + }), + ('json', '3.11.3', { + 'source_urls': ['https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/nlohmann/json/archive'], + 'sources': _sources_vzip + }), + ('half', '2.1.0', { + 'sources': _sources_nameminversionzip + }), + ('BLAKE3', '1.5.4', { + 'source_urls': [ + 'https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/BLAKE3-team/BLAKE3/archive/' + ], + }), + ('re2', '2024-07-02', { + 'sources': _sources_nameminversion + }), + ('rules_pkg', '1.0.1'), + ('tinyxml2', '10.0.0', { + 'source_urls': [ + 'https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/leethomason/tinyxml2/archive/' + ] + }), + ('c-blosc', '1.21.6', { + 'source_urls': ['https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/Blosc/c-blosc/archive/'], + 'sources': _sources_vzip + }), + ('googleapis', '20240910', { + 'sources': [{ + 'download_filename': '32bc03653260356351854429bd7e2dfbf670d352.tar.gz', + 'filename': '%(name)s-%(version)s-32bc03653260356351854429bd7e2dfbf670d352.tar.gz', + 'extract_cmd': _extract_cmd, + }], + }), + ('snappy', '20240910', { + 'sources': [{ + 'download_filename': '32ded457c0b1fe78ceb8397632c416568d6714a0.tar.gz', + 'filename': '%(name)s-%(version)s-32ded457c0b1fe78ceb8397632c416568d6714a0.tar.gz', + 'extract_cmd': _extract_cmd, + }], + }), + ('libavif', '1.0.4', { + 'source_urls': [ + 'https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/AOMediaCodec/libavif/archive' + ], + 'sources': _sources_v + }), + ('libwebp', '1.4.0', { + 'source_urls': [ + 'https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/webmproject/libwebp/archive' + ], + 'sources': _sources_v + }), + ('c-ares', '1.33.1', { + 'sources': _sources_v + }), + ('aomedia', '20221101', { + 'source_urls': [ + 'https://storage.googleapis.com/tensorstore-bazel-mirror/aomedia.googlesource.com/aom/+archive/' + ], + 'sources': [{ + 'download_filename': 'd730cef03ac754f2b6a233e926cd925d8ce8de81.tar.gz', + 'filename': '%(name)s-%(version)s-d730cef03ac754f2b6a233e926cd925d8ce8de81.tar.gz', + 'extract_cmd': _extract_cmd, + }], + }), + ('videolan-dav1d', '1.4.3', { + 'source_urls': ['https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/videolan/dav1d/archive'] + }), + ('libyuv', '20240925', { + 'source_urls': [ + 'https://storage.googleapis.com/tensorstore-bazel-mirror/chromium.googlesource.com/libyuv/libyuv/+archive' + ], + 'sources': [{ + 'download_filename': '61bf0b61f7799c02eddc87b65c0fc542011cfd2b.tar.gz', + 'filename': '%(name)s-%(version)s-61bf0b61f7799c02eddc87b65c0fc542011cfd2b.tar.gz', + 'extract_cmd': _extract_cmd, + }], + }), + ('nasm', '2.15.05', { + 'source_urls': [ + 'https://storage.googleapis.com/tensorstore-bazel-mirror/www.nasm.us/pub/%(name)s/releasebuilds/%(version)s' + ], + 'sources': _sources_nameminversionbz2 + }), + ('xds', '20240911', { + 'source_urls': ['https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/cncf/xds/archive/'], + 'sources': [{ + 'download_filename': 'b4127c9b8d78b77423fd25169f05b7476b6ea932.tar.gz', + 'filename': '%(name)s-%(version)s-b4127c9b8d78b77423fd25169f05b7476b6ea932.tar.gz', + 'extract_cmd': _extract_cmd, + }], + }), + ('data-plane-api', '20240911', { + 'source_urls': [ + 'https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/' + ], + 'sources': [{ + 'download_filename': '19420fea29dd86aa3b25172151f0311476a66599.tar.gz', + 'filename': '%(name)s-%(version)s-19420fea29dd86aa3b25172151f0311476a66599.tar.gz', + 'extract_cmd': _extract_cmd, + }], + }), + ('cel-spec', '0.16.2', {'sources': _sources_vzip}), +] +checksums = [ + {'bazel_features-1.17.0.tar.gz': 'bdc12fcbe6076180d835c9dd5b3685d509966191760a0eb10b276025fcb76158'}, + {'rules_proto-6.0.2.tar.gz': '6fb6767d1bef535310547e03247f7518b03487740c11b6c6adb7952033fe1295'}, + {'apple_support-1.17.1.tar.gz': 'b53f6491e742549f13866628ddffcc75d1f3b2d6987dc4f14a16b242113c890b'}, + {'toolchains_llvm-1.2.0.tar.gz': 'e3fb6dc6b77eaf167cb2b0c410df95d09127cbe20547e5a329c771808a816ab4'}, + {'bazel-skylib-1.7.1.tar.gz': 'e3fea03ff75a9821e84199466799ba560dbaebb299c655b5307f4df1e5970696'}, + {'platforms-0.0.10.tar.gz': '218efe8ee736d26a3572663b374a253c012b716d8af0c07e842e82f238a0a7ee'}, + {'rules_cc-0.0.13.tar.gz': 'd9bdd3ec66b6871456ec9c965809f43a0901e692d754885e89293807762d3d80'}, + {'protobuf-28.2.tar.gz': 'b2340aa47faf7ef10a0328190319d3f3bee1b24f426d4ce8f4253b6f27ce16db'}, + {'boringssl-20220720-098695591f3a2665fccef83a3732ecfc99acdcdd.tar.gz': + 'e141448cf6f686b6e9695f6b6459293fd602c8d51efe118a83106752cf7e1280'}, + {'riegeli-20231212-e54e4300f61cc113e5da816952d20ae070fe7219.tar.gz': + 'c2a40a1a422fe513faa198b325865022ccfbb1ca6317ef5f51a8b60d7c2bdc4c'}, + {'grpc-1.66.1.tar.gz': '79ed4ab72fa9589b20f8b0b76c16e353e4cfec1d773d33afad605d97b5682c61'}, + {'abseil-cpp-20240722.0.tar.gz': 'f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3'}, + {'json-3.11.3.zip': '04022b05d806eb5ff73023c280b68697d12b93e1b7267a0b22a1a39ec7578069'}, + {'half-2.1.0.zip': 'ad1788afe0300fa2b02b0d1df128d857f021f92ccf7c8bddd07812685fa07a25'}, + {'BLAKE3-1.5.4.tar.gz': 'ddd24f26a31d23373e63d9be2e723263ac46c8b6d49902ab08024b573fd2a416'}, + {'re2-2024-07-02.tar.gz': 'eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b'}, + {'rules_pkg-1.0.1.tar.gz': '23005750a27aabfd5975a3d5aeac9542371cbfa24d3ad74e47f80b84547754da'}, + {'tinyxml2-10.0.0.tar.gz': '3bdf15128ba16686e69bce256cc468e76c7b94ff2c7f391cc5ec09e40bff3839'}, + {'c-blosc-1.21.6.zip': '1919c97d55023c04aa8771ea8235b63e9da3c22e3d2a68340b33710d19c2a2eb'}, + {'googleapis-20240910-32bc03653260356351854429bd7e2dfbf670d352.tar.gz': + '46ca6d9a6349c3845334dde2d55d482a11e7c1072a9085b89b6c1e94cdeb2d3e'}, + {'snappy-20240910-32ded457c0b1fe78ceb8397632c416568d6714a0.tar.gz': + '677d1dd8172bac1862e6c8d7bbe1fe9fb2320cfd11ee04756b1ef8b3699c6135'}, + {'libavif-1.0.4.tar.gz': 'dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146'}, + {'libwebp-1.4.0.tar.gz': '12af50c45530f0a292d39a88d952637e43fb2d4ab1883c44ae729840f7273381'}, + {'c-ares-1.33.1.tar.gz': 'b3d127d8357863eb465053ce9308b79d9b00314f92ec09df056221a1a45c2fef'}, + {'aomedia-20221101-d730cef03ac754f2b6a233e926cd925d8ce8de81.tar.gz': + '7f87960be61edb846e25b7d10e4e41aef6d652f62270e19172e7cafae9b536ad'}, + {'videolan-dav1d-1.4.3.tar.gz': '88a023e58d955e0886faf49c72940e0e90914a948a8e60c1326ce3e09e7a6099'}, + {'libyuv-20240925-61bf0b61f7799c02eddc87b65c0fc542011cfd2b.tar.gz': + 'a869a841acb0579d85354a227562b15a603e35f5112394a48955eda20d736f46'}, + {'nasm-2.15.05.tar.bz2': '3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0'}, + {'xds-20240911-b4127c9b8d78b77423fd25169f05b7476b6ea932.tar.gz': + 'aa5f1596bbef3f277dcf4700e4c1097b34301ae66f3b79cd731e3adfbaff2f8f'}, + {'data-plane-api-20240911-19420fea29dd86aa3b25172151f0311476a66599.tar.gz': + 'd84dcb4d88a961fcf6aa5ea1ff479180bd9e58e41ad82d8dca3beacac2fb3bdc'}, + {'cel-spec-0.16.2.zip': '13234d9622ef4b7660b6259498a6f02f001fd260d42fa21e67b28fd4c4e0d344'}, +] + +# generate third_party/archives.bzl in order to set EB_OFFLINE_ARCHIVES to _archives_dir +# (see patch _disable_third_party_downloads.patch): +_prebuild_gen_archivesbzl = """echo 'EB_OFFLINE_ARCHIVES="%s"' > third_party/archives.bzl &&""" % _archives_dir +# set system libs: +_prebuild_bazel_exports_syslibs = """export TENSORSTORE_SYSTEM_LIBS="%s" && """ % ','.join(_systemlibs) +# set output_user_root: +_prebuild_bazel_exports_startup = "export TENSORSTORE_BAZEL_STARTUP_OPTIONS=" +_prebuild_bazel_exports_startup += "'--output_user_root %(builddir)s/cache' &&" +# setup Bazel build options (pass CFLAGS, extra include paths and extra link paths for systemlibs: +_prebuild_bazel_exports_buildopts = 'export TENSORSTORE_BAZEL_BUILD_OPTIONS="' +_prebuild_bazel_exports_buildopts += '$(for i in $CFLAGS;do echo --copt=$i; done) ' # pass CFLAGS to Bazel as copts +_prebuild_bazel_exports_buildopts += '%s %s' % (_bzl_linkopts, _bzl_include_copts) +_prebuild_bazel_exports_buildopts += '" &&' # end prebuild_bazel_exports_buildopts + + +_preinstall_opts = _prebuild_gen_archivesbzl +_preinstall_opts += _prebuild_bazel_exports_startup +_preinstall_opts += _prebuild_bazel_exports_buildopts +_preinstall_opts += _prebuild_bazel_exports_syslibs + +exts_list = [ + (name, version, { + 'installopts': '-v', + 'patches': ['tensorstore-0.1.69_disable_third_party_downloads.patch'], + 'preinstallopts': _preinstall_opts, + 'checksums': [ + {'tensorstore-0.1.69.tar.gz': '150cdc7e2044b7629ea466bfc8425ab50e52c8300950dbdd4a64445a2d4fbab1'}, + {'tensorstore-0.1.69_disable_third_party_downloads.patch': + 'cd6ac01da452ae936ee1b64cf71174a42d6c1ed5bbd6bc6421dcd27fe636d374'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorstore/tensorstore-0.1.69_disable_third_party_downloads.patch b/easybuild/easyconfigs/t/tensorstore/tensorstore-0.1.69_disable_third_party_downloads.patch new file mode 100644 index 00000000000..c7a7a3fd594 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorstore/tensorstore-0.1.69_disable_third_party_downloads.patch @@ -0,0 +1,1293 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/12 +# disable downloads at build time. +# 1. use bazel binary from module, if loaded. +# 2. modify all urls to file://EB_OFFLINE_ARCHIVES+'/... +# EB_OFFLINE_ARCHIVES is supposed to be defined in third_party/archives.bzl, i.e., the easyconfig +# requires the prebuild command """echo 'EB_OFFLINE_ARCHIVES="%(builddir)s/archives"' > third_party/archives.bzl""" +diff -ru tensorstore-0.1.69/bazelisk.py tensorstore-0.1.69_disable_downloads/bazelisk.py +--- tensorstore-0.1.69/bazelisk.py 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/bazelisk.py 2024-12-12 17:09:45.116084719 +0100 +@@ -487,8 +487,11 @@ + def main(argv=None): + if argv is None: + argv = sys.argv +- +- bazel_path = get_bazel_path() ++ bazel_path = '' ++ if (os.getenv('EBROOTBAZEL')): ++ bazel_path=os.path.join(os.getenv('EBROOTBAZEL'), 'bin', 'bazel') ++ else: ++ bazel_path = get_bazel_path() + + argv = argv[1:] + +diff -ru tensorstore-0.1.69/third_party/aws_c_auth/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_auth/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_auth/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_auth/workspace.bzl 2024-12-12 09:58:31.510357038 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "7f97aacef6bd1649734383c2bf022250671f353b7fa60d195e6865d7f4594b43", + strip_prefix = "aws-c-auth-0.7.31", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-auth/archive/v0.7.31.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-auth-0.7.31.tar.gz", + ], + build_file = Label("//third_party:aws_c_auth/aws_c_auth.BUILD.bazel"), + cmake_name = "aws_c_auth", +diff -ru tensorstore-0.1.69/third_party/aws_c_cal/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_cal/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_cal/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_cal/workspace.bzl 2024-12-12 09:58:31.507356964 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "8020ecbe850ceb402aa9c81a1ef34e3becdbcb49587a1b19eb5c7e040f369b58", + strip_prefix = "aws-c-cal-0.7.4", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-cal/archive/v0.7.4.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-cal-0.7.4.tar.gz", + ], + build_file = Label("//third_party:aws_c_cal/aws_c_cal.BUILD.bazel"), + cmake_name = "aws_c_cal", +diff -ru tensorstore-0.1.69/third_party/aws_c_common/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_common/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_common/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_common/workspace.bzl 2024-12-12 09:58:31.505356915 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "bf265e9e409d563b0eddcb66e1cb00ff6b371170db3e119348478d911d054317", + strip_prefix = "aws-c-common-0.9.28", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-common/archive/v0.9.28.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-common-0.9.28.tar.gz", + ], + build_file = Label("//third_party:aws_c_common/aws_c_common.BUILD.bazel"), + cmake_name = "aws_c_common", +diff -ru tensorstore-0.1.69/third_party/aws_c_compression/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_compression/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_compression/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_compression/workspace.bzl 2024-12-12 09:58:31.503356866 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "51796f98a29a0d6e257c02e1f842bbc41db324758939093e6d46ec28337a3272", + strip_prefix = "aws-c-compression-0.2.19", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-compression/archive/v0.2.19.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-compression-0.2.19.tar.gz", + ], + build_file = Label("//third_party:aws_c_compression/aws_c_compression.BUILD.bazel"), + cmake_name = "aws_c_compression", +diff -ru tensorstore-0.1.69/third_party/aws_c_event_stream/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_event_stream/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_event_stream/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_event_stream/workspace.bzl 2024-12-12 09:58:31.501356817 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "d7d82c38bae68d2287ac59972a76b2b6159e7a3d7c9b7edb1357495aa4d0c0de", + strip_prefix = "aws-c-event-stream-0.4.3", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-event-stream/archive/v0.4.3.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-event-stream-0.4.3.tar.gz", + ], + build_file = Label("//third_party:aws_c_event_stream/aws_c_event_stream.BUILD.bazel"), + cmake_name = "aws_c_event_stream", +diff -ru tensorstore-0.1.69/third_party/aws_checksums/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_checksums/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_checksums/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_checksums/workspace.bzl 2024-12-12 09:58:31.487356473 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "12f80085993662b6d2cbd2d090b49b4350d19396b1d218d52323712cc8dee252", + strip_prefix = "aws-checksums-0.1.20", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-checksums/archive/v0.1.20.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-checksums-0.1.20.tar.gz", + ], + build_file = Label("//third_party:aws_checksums/aws_checksums.BUILD.bazel"), + cmake_name = "aws_checksums", +diff -ru tensorstore-0.1.69/third_party/aws_c_http/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_http/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_http/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_http/workspace.bzl 2024-12-12 09:58:31.498356743 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "f878802a4e0bcefadce9959ce443acaf77607a68d138f9d3db04a5a878f1a871", + strip_prefix = "aws-c-http-0.8.10", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-http/archive/v0.8.10.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-http-0.8.10.tar.gz", + ], + build_file = Label("//third_party:aws_c_http/aws_c_http.BUILD.bazel"), + cmake_name = "aws_c_http", +diff -ru tensorstore-0.1.69/third_party/aws_c_io/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_io/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_io/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_io/workspace.bzl 2024-12-12 09:58:31.496356694 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "44e9dee181ed7d867d1cc2944f4b4669259b569fc56bdd6dd4c7c30440fc4bf8", + strip_prefix = "aws-c-io-0.14.18", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-io/archive/v0.14.18.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-io-0.14.18.tar.gz", + ], + build_file = Label("//third_party:aws_c_io/aws_c_io.BUILD.bazel"), + cmake_name = "aws_c_io", +diff -ru tensorstore-0.1.69/third_party/aws_c_mqtt/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_mqtt/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_mqtt/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_mqtt/workspace.bzl 2024-12-12 09:58:31.494356645 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "7579fafc74a8751c15c0196eda6ec93d00a17e7f79fb994f34a8f62ceb66cc62", + strip_prefix = "aws-c-mqtt-0.10.6", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-mqtt/archive/v0.10.6.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-mqtt-0.10.6.tar.gz", + ], + build_file = Label("//third_party:aws_c_mqtt/aws_c_mqtt.BUILD.bazel"), + cmake_name = "aws_c_mqtt", +diff -ru tensorstore-0.1.69/third_party/aws_crt_cpp/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_crt_cpp/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_crt_cpp/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_crt_cpp/workspace.bzl 2024-12-12 09:58:31.485356424 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "0d0255eb1983ff3b6f7a7e98a54f65e2e8b40a7c7d6118a96a9c656ada7afb5f", + strip_prefix = "aws-crt-cpp-0.28.3", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-crt-cpp/archive/v0.28.3.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-crt-cpp-0.28.3.tar.gz", + ], + build_file = Label("//third_party:aws_crt_cpp/aws_crt_cpp.BUILD.bazel"), + remove_paths = ["VERSION"], +diff -ru tensorstore-0.1.69/third_party/aws_c_s3/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_s3/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_s3/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_s3/workspace.bzl 2024-12-12 09:58:31.491356571 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "2945ffb9e6529f560b34eee018ebdd4397288477f2df0126b5fd5cc2490fd056", + strip_prefix = "aws-c-s3-0.6.6", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-s3/archive/v0.6.6.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-s3-0.6.6.tar.gz", + ], + build_file = Label("//third_party:aws_c_s3/aws_c_s3.BUILD.bazel"), + cmake_name = "aws_c_s3", +diff -ru tensorstore-0.1.69/third_party/aws_c_sdkutils/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_c_sdkutils/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_c_sdkutils/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_c_sdkutils/workspace.bzl 2024-12-12 09:58:31.489356523 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "66bd7a8679703386aec1539407aaed0942a78032fe340ab44e810a3cf6d7e505", + strip_prefix = "aws-c-sdkutils-0.1.19", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/awslabs/aws-c-sdkutils/archive/v0.1.19.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/aws-c-sdkutils-0.1.19.tar.gz", + ], + build_file = Label("//third_party:aws_c_sdkutils/aws_c_sdkutils.BUILD.bazel"), + cmake_name = "aws_c_sdkutils", +diff -ru tensorstore-0.1.69/third_party/aws_s2n_tls/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/aws_s2n_tls/workspace.bzl +--- tensorstore-0.1.69/third_party/aws_s2n_tls/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/aws_s2n_tls/workspace.bzl 2024-12-12 09:58:31.483356375 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + sha256 = "609d4ab5747e592a8749f2db7ff6422ea2e0aff3d2790b6d36defe276f422a71", + strip_prefix = "s2n-tls-1.5.3", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/aws/s2n-tls/archive/v1.5.3.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/s2n-tls-1.5.3.tar.gz", + ], + build_file = Label("//third_party:aws_s2n_tls/aws_s2n_tls.BUILD.bazel"), + cmake_name = "s2n_tls", +diff -ru tensorstore-0.1.69/third_party/bazel_features/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/bazel_features/workspace.bzl +--- tensorstore-0.1.69/third_party/bazel_features/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/bazel_features/workspace.bzl 2024-12-12 10:10:59.961737812 +0100 +@@ -16,7 +16,7 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") +- ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + def repo(): + maybe( + http_archive, +@@ -24,6 +24,6 @@ + sha256 = "bdc12fcbe6076180d835c9dd5b3685d509966191760a0eb10b276025fcb76158", + strip_prefix = "bazel_features-1.17.0", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazel-contrib/bazel_features/archive/v1.17.0.tar.gz", ++ "file://"+ EB_OFFLINE_ARCHIVES + "/bazel_features-1.17.0.tar.gz", + ], + ) +Only in tensorstore-0.1.69_disable_downloads/third_party/bazel_features: .workspace.bzl.swm +Only in tensorstore-0.1.69_disable_downloads/third_party/bazel_features: .workspace.bzl.swn +Only in tensorstore-0.1.69_disable_downloads/third_party/bazel_features: .workspace.bzl.swo +Binary files tensorstore-0.1.69/third_party/bazel_features/.workspace.bzl.swp and tensorstore-0.1.69_disable_downloads/third_party/bazel_features/.workspace.bzl.swp differ +diff -ru tensorstore-0.1.69/third_party/bazel_skylib/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/bazel_skylib/workspace.bzl +--- tensorstore-0.1.69/third_party/bazel_skylib/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/bazel_skylib/workspace.bzl 2024-12-12 09:58:31.471356080 +0100 +@@ -16,6 +16,7 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + + def repo(): + maybe( +@@ -23,7 +24,7 @@ + name = "bazel_skylib", + strip_prefix = "bazel-skylib-1.7.1", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/bazel-skylib/archive/1.7.1.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/bazel-skylib-1.7.1.tar.gz", + ], + sha256 = "e3fea03ff75a9821e84199466799ba560dbaebb299c655b5307f4df1e5970696", + ) +diff -ru tensorstore-0.1.69/third_party/blake3/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/blake3/workspace.bzl +--- tensorstore-0.1.69/third_party/blake3/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/blake3/workspace.bzl 2024-12-12 10:02:34.508324444 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -24,7 +25,7 @@ + strip_prefix = "BLAKE3-1.5.4", + sha256 = "ddd24f26a31d23373e63d9be2e723263ac46c8b6d49902ab08024b573fd2a416", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/BLAKE3-team/BLAKE3/archive/1.5.4.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/BLAKE3-1.5.4.tar.gz", + ], + build_file = Label("//third_party:blake3/blake3.BUILD.bazel"), + system_build_file = Label("//third_party:blake3/system.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/build_bazel_apple_support/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/build_bazel_apple_support/workspace.bzl +--- tensorstore-0.1.69/third_party/build_bazel_apple_support/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/build_bazel_apple_support/workspace.bzl 2024-12-12 10:02:25.284097907 +0100 +@@ -16,13 +16,14 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + + def repo(): + maybe( + http_archive, + name = "build_bazel_apple_support", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/apple_support/releases/download/1.17.1/apple_support.1.17.1.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/apple_support-1.17.1.tar.gz", + ], + sha256 = "b53f6491e742549f13866628ddffcc75d1f3b2d6987dc4f14a16b242113c890b", + ) +Only in tensorstore-0.1.69_disable_downloads/third_party/build_bazel_apple_support: .workspace.bzl.swp +diff -ru tensorstore-0.1.69/third_party/cel_spec/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/cel_spec/workspace.bzl +--- tensorstore-0.1.69/third_party/cel_spec/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/cel_spec/workspace.bzl 2024-12-12 16:03:54.831978866 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # Should be compatible with grpc/bazel/grpc_deps.bzl c-ares. +@@ -26,7 +27,7 @@ + sha256 = "13234d9622ef4b7660b6259498a6f02f001fd260d42fa21e67b28fd4c4e0d344", + strip_prefix = "cel-spec-0.16.2", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/cel-spec/archive/v0.16.2.zip", ++ "file://"+EB_OFFLINE_ARCHIVES+"/cel-spec-0.16.2.zip", + ], + repo_mapping = { + "@io_bazel_rules_go": "@local_proto_mirror", +Only in tensorstore-0.1.69_disable_downloads/third_party/cel_spec: .workspace.bzl.swp +diff -ru tensorstore-0.1.69/third_party/com_github_cares_cares/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_github_cares_cares/workspace.bzl +--- tensorstore-0.1.69/third_party/com_github_cares_cares/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_github_cares_cares/workspace.bzl 2024-12-12 10:02:11.143750636 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # Should be compatible with grpc/bazel/grpc_deps.bzl c-ares. +@@ -26,7 +27,7 @@ + sha256 = "b3d127d8357863eb465053ce9308b79d9b00314f92ec09df056221a1a45c2fef", + strip_prefix = "c-ares-1.33.1", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/c-ares/c-ares/archive/v1.33.1.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/c-ares-1.33.1.tar.gz", + ], + build_file = Label("//third_party:com_github_cares_cares/cares.BUILD.bazel"), + system_build_file = Label("//third_party:com_github_cares_cares/system.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/com_github_cncf_udpa/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_github_cncf_udpa/workspace.bzl +--- tensorstore-0.1.69/third_party/com_github_cncf_udpa/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_github_cncf_udpa/workspace.bzl 2024-12-12 10:02:00.899499049 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -22,7 +23,7 @@ + third_party_http_archive, + name = "com_github_cncf_udpa", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/cncf/xds/archive/b4127c9b8d78b77423fd25169f05b7476b6ea932.tar.gz", # main(2024-09-11) ++ "file://"+EB_OFFLINE_ARCHIVES+"/xds-20240911-b4127c9b8d78b77423fd25169f05b7476b6ea932.tar.gz", # main(2024-09-11) + ], + sha256 = "aa5f1596bbef3f277dcf4700e4c1097b34301ae66f3b79cd731e3adfbaff2f8f", + strip_prefix = "xds-b4127c9b8d78b77423fd25169f05b7476b6ea932", +diff -ru tensorstore-0.1.69/third_party/com_github_grpc_grpc/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_github_grpc_grpc/workspace.bzl +--- tensorstore-0.1.69/third_party/com_github_grpc_grpc/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_github_grpc_grpc/workspace.bzl 2024-12-12 09:58:31.455355688 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # NOTE: Switch back to a tagged release with darwin-arm64 +@@ -27,7 +28,7 @@ + sha256 = "79ed4ab72fa9589b20f8b0b76c16e353e4cfec1d773d33afad605d97b5682c61", + strip_prefix = "grpc-1.66.1", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/grpc/grpc/archive/v1.66.1.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/grpc-1.66.1.tar.gz", + ], + patches = [ + # Fixes, including https://github.com/grpc/grpc/issues/34482 +diff -ru tensorstore-0.1.69/third_party/com_github_nlohmann_json/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_github_nlohmann_json/workspace.bzl +--- tensorstore-0.1.69/third_party/com_github_nlohmann_json/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_github_nlohmann_json/workspace.bzl 2024-12-12 10:01:42.284041873 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -21,7 +22,7 @@ + name = "com_github_nlohmann_json", + strip_prefix = "json-3.11.3", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/nlohmann/json/archive/v3.11.3.zip", ++ "file://"+EB_OFFLINE_ARCHIVES+"/json-3.11.3.zip", + ], + sha256 = "04022b05d806eb5ff73023c280b68697d12b93e1b7267a0b22a1a39ec7578069", + system_build_file = Label("//third_party:com_github_nlohmann_json/system.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/com_github_pybind_pybind11/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_github_pybind_pybind11/workspace.bzl +--- tensorstore-0.1.69/third_party/com_github_pybind_pybind11/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_github_pybind_pybind11/workspace.bzl 2024-12-12 09:58:31.451355590 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # REPO_BRANCH = master +@@ -25,7 +26,7 @@ + name = "com_github_pybind_pybind11", + strip_prefix = "pybind11-2.13.6", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/pybind/pybind11/archive/v2.13.6.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/pybind11-2.13.6.tar.gz", + ], + sha256 = "e08cb87f4773da97fa7b5f035de8763abc656d87d5773e62f6da0587d1f0ec20", + build_file = Label("//third_party:com_github_pybind_pybind11/pybind11.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/com_google_absl/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_absl/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_absl/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_absl/workspace.bzl 2024-12-12 10:01:27.958690059 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # REPO_BRANCH = master +@@ -25,7 +26,7 @@ + name = "com_google_absl", + strip_prefix = "abseil-cpp-20240722.0", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/abseil/abseil-cpp/archive/20240722.0.tar.gz", # lts_2024_01_16(2023-09-19) ++ "file://"+EB_OFFLINE_ARCHIVES+"/abseil-cpp-20240722.0.tar.gz", # lts_2024_01_16(2023-09-19) + ], + sha256 = "f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3", + cmake_name = "absl", +Binary files tensorstore-0.1.69/third_party/com_google_absl/.workspace.bzl.swp and tensorstore-0.1.69_disable_downloads/third_party/com_google_absl/.workspace.bzl.swp differ +diff -ru tensorstore-0.1.69/third_party/com_google_benchmark/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_benchmark/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_benchmark/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_benchmark/workspace.bzl 2024-12-12 10:00:58.267960887 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -22,7 +23,7 @@ + third_party_http_archive, + name = "com_google_benchmark", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/benchmark/archive/v1.9.0.zip", ++ "file://"+EB_OFFLINE_ARCHIVES+"/benchmark-1.9.0.zip", + ], + sha256 = "1a6f0678cbcac65a12e2178d77d3c97d050d173389220c9df57e9249a40827ec", + strip_prefix = "benchmark-1.9.0", +diff -ru tensorstore-0.1.69/third_party/com_google_boringssl/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_boringssl/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_boringssl/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_boringssl/workspace.bzl 2024-12-12 10:00:45.963658707 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -26,7 +27,7 @@ + name = "com_google_boringssl", + strip_prefix = "boringssl-098695591f3a2665fccef83a3732ecfc99acdcdd", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/boringssl/archive/098695591f3a2665fccef83a3732ecfc99acdcdd.tar.gz", # master-with-bazel(2022-07-20) ++ "file://"+EB_OFFLINE_ARCHIVES+"/boringssl-20220720-098695591f3a2665fccef83a3732ecfc99acdcdd.tar.gz", # master-with-bazel(2022-07-20) + ], + sha256 = "e141448cf6f686b6e9695f6b6459293fd602c8d51efe118a83106752cf7e1280", + system_build_file = Label("//third_party:com_google_boringssl/system.BUILD.bazel"), +Only in tensorstore-0.1.69/third_party/com_google_boringssl: .workspace.bzl.swp +diff -ru tensorstore-0.1.69/third_party/com_google_brotli/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_brotli/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_brotli/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_brotli/workspace.bzl 2024-12-12 10:00:29.514254728 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -22,7 +23,7 @@ + third_party_http_archive, + name = "com_google_brotli", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/brotli/archive/39bcecf4559f9b0e75c6248a75d9c0db6b123d88.zip", # master(2024-09-10) ++ "file://"+EB_OFFLINE_ARCHIVES+"/brotli-20240910-39bcecf4559f9b0e75c6248a75d9c0db6b123d88.zip", # master(2024-09-10) + ], + sha256 = "6c72b4d43cd11c8cfd966dbe293cd7f11a3e4e2e08408861b49198dc50b447c3", + strip_prefix = "brotli-39bcecf4559f9b0e75c6248a75d9c0db6b123d88", +diff -ru tensorstore-0.1.69/third_party/com_google_googleapis/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_googleapis/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_googleapis/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_googleapis/workspace.bzl 2024-12-12 10:00:13.770868088 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -23,7 +24,7 @@ + name = "com_google_googleapis", + strip_prefix = "googleapis-32bc03653260356351854429bd7e2dfbf670d352", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/googleapis/googleapis/archive/32bc03653260356351854429bd7e2dfbf670d352.tar.gz", # master(2024-09-10) ++ "file://"+EB_OFFLINE_ARCHIVES+"/googleapis-20240910-32bc03653260356351854429bd7e2dfbf670d352.tar.gz", # master(2024-09-10) + ], + sha256 = "46ca6d9a6349c3845334dde2d55d482a11e7c1072a9085b89b6c1e94cdeb2d3e", + repo_mapping = { +diff -ru tensorstore-0.1.69/third_party/com_google_googletest/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_googletest/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_googletest/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_googletest/workspace.bzl 2024-12-12 09:59:48.576249337 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # REPO_BRANCH = main +@@ -23,7 +24,7 @@ + maybe( + third_party_http_archive, + name = "com_google_googletest", +- urls = ["https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/googletest/archive/0953a17a4281fc26831da647ad3fcd5e21e6473b.zip"], # main(2024-09-10) ++ urls = ["file://"+EB_OFFLINE_ARCHIVES+"/googletest-20240910-0953a17a4281fc26831da647ad3fcd5e21e6473b.zip"], # main(2024-09-10) + sha256 = "374cf3b88504f141a0da1058d8bb2cefbcd2f952037b3fc7909d6360785095e4", + strip_prefix = "googletest-0953a17a4281fc26831da647ad3fcd5e21e6473b", + repo_mapping = { +diff -ru tensorstore-0.1.69/third_party/com_google_libyuv/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_libyuv/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_libyuv/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_libyuv/workspace.bzl 2024-12-12 15:31:58.455427300 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -22,7 +23,7 @@ + third_party_http_archive, + name = "com_google_libyuv", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/chromium.googlesource.com/libyuv/libyuv/+archive/61bf0b61f7799c02eddc87b65c0fc542011cfd2b.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/libyuv-20240925-61bf0b61f7799c02eddc87b65c0fc542011cfd2b.tar.gz", + ], + # googlesource does not cache archive files; the sha256 is only valid for the mirror. + sha256 = "a869a841acb0579d85354a227562b15a603e35f5112394a48955eda20d736f46", +diff -ru tensorstore-0.1.69/third_party/com_google_protobuf/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_protobuf/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_protobuf/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_protobuf/workspace.bzl 2024-12-12 09:58:31.427355000 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -22,8 +23,7 @@ + strip_prefix = "protobuf-28.2", + sha256 = "b2340aa47faf7ef10a0328190319d3f3bee1b24f426d4ce8f4253b6f27ce16db", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/protocolbuffers/protobuf/archive/v28.2.tar.gz", +- "https://github.com/protocolbuffers/protobuf/archive/v28.2.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/protobuf-28.2.tar.gz", + ], + patches = [ + # protobuf uses rules_python, but we just use the native python rules. +diff -ru tensorstore-0.1.69/third_party/com_google_protobuf_utf8_range/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_protobuf_utf8_range/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_protobuf_utf8_range/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_protobuf_utf8_range/workspace.bzl 2024-12-12 09:58:31.425354951 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -21,7 +22,7 @@ + name = "com_google_protobuf_utf8_range", + strip_prefix = "utf8_range-1d1ea7e3fedf482d4a12b473c1ed25fe0f371a45", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/protocolbuffers/utf8_range/archive/1d1ea7e3fedf482d4a12b473c1ed25fe0f371a45.zip", # main(2024-05-03) ++ "file://"+EB_OFFLINE_ARCHIVES+"/utf8_range-20240503-1d1ea7e3fedf482d4a12b473c1ed25fe0f371a45.zip", # main(2024-05-03) + ], + sha256 = "bf4798b9635a3b34e40a30cb54b5bc185807945da8839e041ab8d91f268d26b1", + cmake_name = "utf8_range", +diff -ru tensorstore-0.1.69/third_party/com_google_re2/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_re2/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_re2/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_re2/workspace.bzl 2024-12-12 09:58:31.423354902 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # REPO_BRANCH = main +@@ -25,7 +26,7 @@ + name = "com_google_re2", + strip_prefix = "re2-2024-07-02", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/re2/releases/download/2024-07-02/re2-2024-07-02.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/re2-2024-07-02.tar.gz", + ], + sha256 = "eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b", + # Cloned from the repo in place of patching the bundled BUILD.bazel +diff -ru tensorstore-0.1.69/third_party/com_google_riegeli/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_riegeli/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_riegeli/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_riegeli/workspace.bzl 2024-12-12 11:29:51.396043767 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -26,7 +27,7 @@ + name = "com_google_riegeli", + strip_prefix = "riegeli-e54e4300f61cc113e5da816952d20ae070fe7219", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/riegeli/archive/e54e4300f61cc113e5da816952d20ae070fe7219.tar.gz", # master(2023-12-12) ++ "file://"+EB_OFFLINE_ARCHIVES+"/riegeli-20231212-e54e4300f61cc113e5da816952d20ae070fe7219.tar.gz", # master(2023-12-12) + ], + sha256 = "c2a40a1a422fe513faa198b325865022ccfbb1ca6317ef5f51a8b60d7c2bdc4c", + patches = [ +Only in tensorstore-0.1.69_disable_downloads/third_party/com_google_riegeli: .workspace.bzl.swp +diff -ru tensorstore-0.1.69/third_party/com_google_snappy/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_snappy/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_snappy/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_snappy/workspace.bzl 2024-12-12 15:11:45.742028197 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -22,7 +23,7 @@ + third_party_http_archive, + name = "com_google_snappy", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/google/snappy/archive/32ded457c0b1fe78ceb8397632c416568d6714a0.tar.gz", # main(2024-09-10) ++ "file://"+EB_OFFLINE_ARCHIVES+"/snappy-20240910-32ded457c0b1fe78ceb8397632c416568d6714a0.tar.gz", # main(2024-09-10) + ], + sha256 = "677d1dd8172bac1862e6c8d7bbe1fe9fb2320cfd11ee04756b1ef8b3699c6135", + strip_prefix = "snappy-32ded457c0b1fe78ceb8397632c416568d6714a0", +diff -ru tensorstore-0.1.69/third_party/com_google_storagetestbench/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/com_google_storagetestbench/workspace.bzl +--- tensorstore-0.1.69/third_party/com_google_storagetestbench/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/com_google_storagetestbench/workspace.bzl 2024-12-12 09:58:31.416354730 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # REPO_BRANCH = master +@@ -25,7 +26,7 @@ + name = "com_google_storagetestbench", + strip_prefix = "storage-testbench-bc7738b9f0c737c198d67e03a12d21600c3e771b", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/googleapis/storage-testbench/archive/bc7738b9f0c737c198d67e03a12d21600c3e771b.tar.gz", # main(2024-09-10) ++ "file://"+EB_OFFLINE_ARCHIVES+"/storage-testbench-20240910-bc7738b9f0c737c198d67e03a12d21600c3e771b.tar.gz", # main(2024-09-10) + ], + sha256 = "7a71839be3c5e0502cb699f4bf6f22f878cce7af4e7a593a6b2a0d1002bee873", + build_file = Label("//third_party:com_google_storagetestbench/storagetestbench.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/envoy_api/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/envoy_api/workspace.bzl +--- tensorstore-0.1.69/third_party/envoy_api/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/envoy_api/workspace.bzl 2024-12-12 09:58:31.414354681 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -22,8 +23,8 @@ + third_party_http_archive, + name = "envoy_api", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/19420fea29dd86aa3b25172151f0311476a66599.tar.gz", # main(2024-09-11) +- "https://github.com/envoyproxy/data-plane-api/archive/19420fea29dd86aa3b25172151f0311476a66599.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/data-plane-api-20240911-19420fea29dd86aa3b25172151f0311476a66599.tar.gz", # main(2024-09-11) ++ #"https://data-plane-api-19420fea29dd86aa3b25172151f0311476a66599.tar.gz", + ], + sha256 = "d84dcb4d88a961fcf6aa5ea1ff479180bd9e58e41ad82d8dca3beacac2fb3bdc", + strip_prefix = "data-plane-api-19420fea29dd86aa3b25172151f0311476a66599", +diff -ru tensorstore-0.1.69/third_party/jpeg/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/jpeg/workspace.bzl +--- tensorstore-0.1.69/third_party/jpeg/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/jpeg/workspace.bzl 2024-12-12 09:58:31.412354632 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -27,7 +28,7 @@ + name = "jpeg", + strip_prefix = "libjpeg-turbo-2.1.5.1", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/libjpeg-turbo/libjpeg-turbo/archive/2.1.5.1.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/libjpeg-turbo-2.1.5.1.tar.gz", + ], + sha256 = "61846251941e5791005fb7face196eec24541fce04f12570c308557529e92c75", + build_file = Label("//third_party:jpeg/jpeg.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/libtiff/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/libtiff/workspace.bzl +--- tensorstore-0.1.69/third_party/libtiff/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/libtiff/workspace.bzl 2024-12-12 09:58:31.409354559 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # Homepages http://www.simplesystems.org/libtiff/ +@@ -24,7 +25,7 @@ + third_party_http_archive, + name = "libtiff", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/download.osgeo.org/libtiff/tiff-4.7.0.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/tiff-4.7.0.tar.gz", + ], + sha256 = "67160e3457365ab96c5b3286a0903aa6e78bdc44c4bc737d2e486bcecb6ba976", + strip_prefix = "tiff-4.7.0", +diff -ru tensorstore-0.1.69/third_party/libwebp/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/libwebp/workspace.bzl +--- tensorstore-0.1.69/third_party/libwebp/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/libwebp/workspace.bzl 2024-12-12 10:07:41.906873808 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -23,8 +24,8 @@ + third_party_http_archive, + name = "libwebp", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/webmproject/libwebp/archive/v1.4.0.tar.gz", +- "https://github.com/webmproject/libwebp/archive/v1.4.0.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/libwebp-1.4.0.tar.gz", ++ # "https://libwebp-1.4.0.tar.gz", + ], + sha256 = "12af50c45530f0a292d39a88d952637e43fb2d4ab1883c44ae729840f7273381", + strip_prefix = "libwebp-1.4.0", +diff -ru tensorstore-0.1.69/third_party/local_proto_mirror/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/local_proto_mirror/workspace.bzl +--- tensorstore-0.1.69/third_party/local_proto_mirror/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/local_proto_mirror/workspace.bzl 2024-12-12 09:58:31.404354436 +0100 +@@ -37,6 +37,7 @@ + """ + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//bazel:local_mirror.bzl", "local_mirror") + + def repo(): +diff -ru tensorstore-0.1.69/third_party/nasm/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/nasm/workspace.bzl +--- tensorstore-0.1.69/third_party/nasm/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/nasm/workspace.bzl 2024-12-12 09:58:31.402354387 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -20,7 +21,7 @@ + third_party_http_archive, + name = "nasm", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2", ++ "file://"+EB_OFFLINE_ARCHIVES+"/nasm-2.15.05.tar.bz2", + # "https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2", + ], + sha256 = "3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0", +diff -ru tensorstore-0.1.69/third_party/net_sourceforge_half/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/net_sourceforge_half/workspace.bzl +--- tensorstore-0.1.69/third_party/net_sourceforge_half/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/net_sourceforge_half/workspace.bzl 2024-12-12 09:58:31.400354338 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -23,8 +24,7 @@ + third_party_http_archive, + name = "net_sourceforge_half", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/sourceforge.net/projects/half/files/half/2.1.0/half-2.1.0.zip", +- "https://sourceforge.net/projects/half/files/half/2.1.0/half-2.1.0.zip", ++ "file://"+EB_OFFLINE_ARCHIVES+"/half-2.1.0.zip", + ], + sha256 = "ad1788afe0300fa2b02b0d1df128d857f021f92ccf7c8bddd07812685fa07a25", + build_file = Label("//third_party:net_sourceforge_half/half.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/net_zlib/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/net_zlib/workspace.bzl +--- tensorstore-0.1.69/third_party/net_zlib/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/net_zlib/workspace.bzl 2024-12-12 09:58:31.398354288 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -31,7 +32,7 @@ + # googlesource does not cache archive files; the sha256 is only valid for the mirror. + sha256 = "096325e0c605fcb23aa578e9d259f5e577da1f1d0bdd68e9887974072c120a09", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/chromium.googlesource.com/chromium/src/third_party/zlib/+archive/3787595bbbd3a374613713164db935e8331f5825.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/zlib-3787595bbbd3a374613713164db935e8331f5825.tar.gz", + ], + build_file = Label("//third_party:net_zlib/zlib.BUILD.bazel"), + system_build_file = Label("//third_party:net_zlib/system.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/net_zstd/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/net_zstd/workspace.bzl +--- tensorstore-0.1.69/third_party/net_zstd/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/net_zstd/workspace.bzl 2024-12-12 10:06:50.234604795 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -24,7 +25,7 @@ + name = "net_zstd", + strip_prefix = "zstd-1.5.6", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/facebook/zstd/archive/v1.5.6.zip", ++ "file://"+EB_OFFLINE_ARCHIVES+"/zstd-1.5.6.zip", + ], + sha256 = "3b1c3b46e416d36931efd34663122d7f51b550c87f74de2d38249516fe7d8be5", + build_file = Label("//third_party:net_zstd/zstd.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/org_aomedia_aom/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/org_aomedia_aom/workspace.bzl +--- tensorstore-0.1.69/third_party/org_aomedia_aom/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/org_aomedia_aom/workspace.bzl 2024-12-12 10:13:07.310865365 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -25,8 +26,7 @@ + third_party_http_archive, + name = "org_aomedia_aom", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/aomedia.googlesource.com/aom/+archive/d730cef03ac754f2b6a233e926cd925d8ce8de81.tar.gz", # main(2022-11-01) +- # "https://aomedia.googlesource.com/aom/+archive/d730cef03ac754f2b6a233e926cd925d8ce8de81.tar.gz ++ "file://"+EB_OFFLINE_ARCHIVES+"/aomedia-20221101-d730cef03ac754f2b6a233e926cd925d8ce8de81.tar.gz", # main(2022-11-01) + ], + # googlesource does not cache archive files; the sha256 is only valid for the mirror. + sha256 = "7f87960be61edb846e25b7d10e4e41aef6d652f62270e19172e7cafae9b536ad", +diff -ru tensorstore-0.1.69/third_party/org_aomedia_avif/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/org_aomedia_avif/workspace.bzl +--- tensorstore-0.1.69/third_party/org_aomedia_avif/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/org_aomedia_avif/workspace.bzl 2024-12-12 09:58:31.390354092 +0100 +@@ -16,6 +16,7 @@ + # https://github.com/tensorflow/io + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -26,7 +27,7 @@ + third_party_http_archive, + name = "org_aomedia_avif", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/AOMediaCodec/libavif/archive/v1.0.4.tar.gz", # 1.0.1(2023-08-30) ++ "file://"+EB_OFFLINE_ARCHIVES+"/libavif-1.0.4.tar.gz", # 1.0.1(2023-08-30) + ], + sha256 = "dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146", + strip_prefix = "libavif-1.0.4", +diff -ru tensorstore-0.1.69/third_party/org_blosc_cblosc/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/org_blosc_cblosc/workspace.bzl +--- tensorstore-0.1.69/third_party/org_blosc_cblosc/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/org_blosc_cblosc/workspace.bzl 2024-12-12 10:05:42.269935658 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -23,7 +24,7 @@ + name = "org_blosc_cblosc", + strip_prefix = "c-blosc-1.21.6", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/Blosc/c-blosc/archive/v1.21.6.zip", ++ "file://"+EB_OFFLINE_ARCHIVES+"/c-blosc-1.21.6.zip", + ], + sha256 = "1919c97d55023c04aa8771ea8235b63e9da3c22e3d2a68340b33710d19c2a2eb", + build_file = Label("//third_party:org_blosc_cblosc/cblosc.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/org_lz4/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/org_lz4/workspace.bzl +--- tensorstore-0.1.69/third_party/org_lz4/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/org_lz4/workspace.bzl 2024-12-12 09:58:31.385353970 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -23,7 +24,7 @@ + name = "org_lz4", + strip_prefix = "lz4-1.10.0", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/lz4/lz4/archive/v1.10.0.zip", ++ "file://"+EB_OFFLINE_ARCHIVES+"/lz4-1.10.0.zip", + ], + sha256 = "3224b4c80f351f194984526ef396f6079bd6332dd9825c72ac0d7a37b3cdc565", + build_file = Label("//third_party:org_lz4/lz4.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/org_nghttp2/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/org_nghttp2/workspace.bzl +--- tensorstore-0.1.69/third_party/org_nghttp2/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/org_nghttp2/workspace.bzl 2024-12-12 10:05:34.437743309 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -23,7 +24,7 @@ + name = "org_nghttp2", + strip_prefix = "nghttp2-1.63.0", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/nghttp2/nghttp2/archive/v1.63.0.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/nghttp2-1.63.0.tar.gz", + ], + sha256 = "f3da0627bee7a6a60f5a4eb6de8d17d25e99f50f87b0fc0c20676c682bf31098", + build_file = Label("//third_party:org_nghttp2/nghttp2.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/org_sourceware_bzip2/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/org_sourceware_bzip2/workspace.bzl +--- tensorstore-0.1.69/third_party/org_sourceware_bzip2/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/org_sourceware_bzip2/workspace.bzl 2024-12-12 09:58:31.380353847 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -23,7 +24,7 @@ + third_party_http_archive, + name = "org_sourceware_bzip2", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/bzip2-1.0.8.tar.gz", + ], + strip_prefix = "bzip2-1.0.8", + sha256 = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269", +diff -ru tensorstore-0.1.69/third_party/org_tukaani_xz/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/org_tukaani_xz/workspace.bzl +--- tensorstore-0.1.69/third_party/org_tukaani_xz/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/org_tukaani_xz/workspace.bzl 2024-12-12 09:58:31.377353773 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -21,8 +22,8 @@ + name = "org_tukaani_xz", + strip_prefix = "xz-5.3.3alpha", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/tukaani.org/xz/xz-5.3.3alpha.tar.gz", +- "https://tukaani.org/xz/xz-5.3.3alpha.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/xz-5.3.3alpha.tar.gz", ++ #"https://tukaani.org/xz/xz-5.3.3alpha.tar.gz", + ], + sha256 = "c6d4789a79bab565440784db2e132d6bf03b2e75dd6d66a8102cf002d8dfe926", + build_file = Label("//third_party:org_tukaani_xz/xz.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/org_videolan_dav1d/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/org_videolan_dav1d/workspace.bzl +--- tensorstore-0.1.69/third_party/org_videolan_dav1d/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/org_videolan_dav1d/workspace.bzl 2024-12-12 09:58:31.375353724 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + # Canonical location for dav1d codec is https://code.videolan.org/videolan/dav1d +@@ -26,7 +27,7 @@ + sha256 = "88a023e58d955e0886faf49c72940e0e90914a948a8e60c1326ce3e09e7a6099", + strip_prefix = "dav1d-1.4.3", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/videolan/dav1d/archive/1.4.3.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/videolan-dav1d-1.4.3.tar.gz", + ], + build_file = Label("//third_party:org_videolan_dav1d/dav1d.BUILD.bazel"), + cmake_name = "dav1d", +diff -ru tensorstore-0.1.69/third_party/platforms/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/platforms/workspace.bzl +--- tensorstore-0.1.69/third_party/platforms/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/platforms/workspace.bzl 2024-12-12 09:58:31.373353675 +0100 +@@ -16,13 +16,14 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + + def repo(): + maybe( + http_archive, + name = "platforms", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/platforms/releases/download/0.0.10/platforms-0.0.10.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/platforms-0.0.10.tar.gz", + ], + sha256 = "218efe8ee736d26a3572663b374a253c012b716d8af0c07e842e82f238a0a7ee", + ) +diff -ru tensorstore-0.1.69/third_party/png/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/png/workspace.bzl +--- tensorstore-0.1.69/third_party/png/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/png/workspace.bzl 2024-12-12 09:58:31.371353626 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -28,7 +29,7 @@ + # system png. + name = "png", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/glennrp/libpng/archive/v1.6.42.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/libpng-1.6.42.tar.gz", + ], + sha256 = "fe89de292e223829859d21990d9c4d6b7e30e295a268f6a53a022611aa98bd67", + strip_prefix = "libpng-1.6.42", +diff -ru tensorstore-0.1.69/third_party/pypa/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/pypa/workspace.bzl +--- tensorstore-0.1.69/third_party/pypa/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/pypa/workspace.bzl 2024-12-12 09:58:31.369353577 +0100 +@@ -2,6 +2,7 @@ + """Defines third-party bazel repos for Python packages fetched with pip.""" + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_python_package", +diff -ru tensorstore-0.1.69/third_party/rules_cc/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/rules_cc/workspace.bzl +--- tensorstore-0.1.69/third_party/rules_cc/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/rules_cc/workspace.bzl 2024-12-12 09:58:31.363353429 +0100 +@@ -16,13 +16,14 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + + def repo(): + maybe( + http_archive, + name = "rules_cc", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/rules_cc/releases/download/0.0.13/rules_cc-0.0.13.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/rules_cc-0.0.13.tar.gz", + ], + strip_prefix = "rules_cc-0.0.13", + sha256 = "d9bdd3ec66b6871456ec9c965809f43a0901e692d754885e89293807762d3d80", +diff -ru tensorstore-0.1.69/third_party/rules_license/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/rules_license/workspace.bzl +--- tensorstore-0.1.69/third_party/rules_license/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/rules_license/workspace.bzl 2024-12-12 09:58:31.361353380 +0100 +@@ -16,6 +16,7 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + + def repo(): + maybe( +@@ -23,7 +24,7 @@ + name = "rules_license", + strip_prefix = "rules_license-1.0.0", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/rules_license/archive/1.0.0.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/rules_license-1.0.0.tar.gz", + ], + sha256 = "75759939aef3aeb726e801417a883deefadadb7fea49946a1f5bb74a5162e81e", + ) +diff -ru tensorstore-0.1.69/third_party/rules_pkg/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/rules_pkg/workspace.bzl +--- tensorstore-0.1.69/third_party/rules_pkg/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/rules_pkg/workspace.bzl 2024-12-12 09:58:31.359353331 +0100 +@@ -16,6 +16,7 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + + def repo(): + maybe( +@@ -23,7 +24,7 @@ + name = "rules_pkg", + strip_prefix = "rules_pkg-1.0.1", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/rules_pkg/archive/1.0.1.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/rules_pkg-1.0.1.tar.gz", + ], + sha256 = "23005750a27aabfd5975a3d5aeac9542371cbfa24d3ad74e47f80b84547754da", + ) +diff -ru tensorstore-0.1.69/third_party/rules_proto/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/rules_proto/workspace.bzl +--- tensorstore-0.1.69/third_party/rules_proto/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/rules_proto/workspace.bzl 2024-12-12 09:58:31.357353282 +0100 +@@ -16,14 +16,14 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") +- ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + def repo(): + maybe( + http_archive, + name = "rules_proto", + strip_prefix = "rules_proto-6.0.2", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazelbuild/rules_proto/archive/6.0.2.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/rules_proto-6.0.2.tar.gz", + ], + sha256 = "6fb6767d1bef535310547e03247f7518b03487740c11b6c6adb7952033fe1295", + ) +Only in tensorstore-0.1.69_disable_downloads/third_party/rules_proto: .workspace.bzl.swp +diff -ru tensorstore-0.1.69/third_party/se_curl/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/se_curl/workspace.bzl +--- tensorstore-0.1.69/third_party/se_curl/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/se_curl/workspace.bzl 2024-12-12 09:58:31.352353159 +0100 +@@ -15,6 +15,7 @@ + # buildifier: disable=module-docstring + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load("//third_party:repo.bzl", "third_party_http_archive") + + def repo(): +@@ -23,8 +24,8 @@ + name = "se_curl", + strip_prefix = "curl-8.10.1", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/curl.se/download/curl-8.10.1.tar.gz", +- "https://curl.se/download/curl-8.10.1.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/curl-8.10.1.tar.gz", ++ #"https://curl.se/download/curl-8.10.1.tar.gz", + ], + sha256 = "d15ebab765d793e2e96db090f0e172d127859d78ca6f6391d7eafecfd894bbc0", + build_file = Label("//third_party:se_curl/curl.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/tinyxml2/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/tinyxml2/workspace.bzl +--- tensorstore-0.1.69/third_party/tinyxml2/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/tinyxml2/workspace.bzl 2024-12-12 09:58:31.350353110 +0100 +@@ -13,6 +13,7 @@ + # limitations under the License. + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "//third_party:repo.bzl", + "third_party_http_archive", +@@ -24,7 +25,7 @@ + name = "tinyxml2", + strip_prefix = "tinyxml2-10.0.0", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/leethomason/tinyxml2/archive/10.0.0.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/tinyxml2-10.0.0.tar.gz", + ], + sha256 = "3bdf15128ba16686e69bce256cc468e76c7b94ff2c7f391cc5ec09e40bff3839", + build_file = Label("//third_party:tinyxml2/tinyxml2.BUILD.bazel"), +diff -ru tensorstore-0.1.69/third_party/toolchains_llvm/workspace.bzl tensorstore-0.1.69_disable_downloads/third_party/toolchains_llvm/workspace.bzl +--- tensorstore-0.1.69/third_party/toolchains_llvm/workspace.bzl 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/third_party/toolchains_llvm/workspace.bzl 2024-12-12 10:04:30.674177346 +0100 +@@ -16,13 +16,14 @@ + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + + def repo(): + maybe( + http_archive, + name = "toolchains_llvm", + urls = [ +- "https://storage.googleapis.com/tensorstore-bazel-mirror/github.com/bazel-contrib/toolchains_llvm/releases/download/v1.2.0/toolchains_llvm-v1.2.0.tar.gz", ++ "file://"+EB_OFFLINE_ARCHIVES+"/toolchains_llvm-1.2.0.tar.gz", + ], + strip_prefix = "toolchains_llvm-v1.2.0", + sha256 = "e3fb6dc6b77eaf167cb2b0c410df95d09127cbe20547e5a329c771808a816ab4", +diff -ru tensorstore-0.1.69/tools/pypi_solver/workspace_builder.py tensorstore-0.1.69_disable_downloads/tools/pypi_solver/workspace_builder.py +--- tensorstore-0.1.69/tools/pypi_solver/workspace_builder.py 2024-11-25 23:54:46.000000000 +0100 ++++ tensorstore-0.1.69_disable_downloads/tools/pypi_solver/workspace_builder.py 2024-12-12 09:58:31.341352889 +0100 +@@ -30,6 +30,7 @@ + """Defines third-party bazel repos for Python packages fetched with pip.""" + + load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") ++load("//third_party:archives.bzl", "EB_OFFLINE_ARCHIVES") + load( + "%s//third_party:repo.bzl", + "third_party_python_package",