Skip to content

Commit 2b6082a

Browse files
authored
Get module version from module_ctx and try to lookup integrities (#103)
1 parent 7d42550 commit 2b6082a

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

internal_configure.bzl

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@
22

33
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
44

5-
def _parse_my_own_version_from_module_dot_bazel(module_ctx):
6-
lines = module_ctx.read(Label("//:MODULE.bazel")).split("\n")
7-
for line in lines:
8-
parts = line.split("\"")
9-
if parts[0] == " version = ":
10-
return parts[1]
11-
fail("Failed to parse my own version from `MODULE.bazel`! " +
12-
"This should never happen!")
5+
_INTEGRITIES = {
6+
# Generate with "sha256-$(curl -fsSL "$url" | sha256sum | cut -d' ' -f1 | xxd -r -p | base64)"
7+
"2.11.1": "sha256-1HWXjaDNwtQ7c/MJEHhnWdWTqdjuBbG2hG0esWxtLgw=",
8+
"2.12.0": "sha256-v48kKr0avNN11RanBnSQ+3Gr15UZooLSK25NGSghhac=",
9+
"2.13.1": "sha256-UWMeiJYKiFb5xJcCf1XJ8vkRXK+wjAAFQ5g4oFuhe/w=",
10+
"2.13.5": "sha256-seIJxCs6ntdNo+CyWk9M1HjYnV77tI8EsnffQn+vYlI=",
11+
"2.13.6": "sha256-4Iy4f0dz2pf6e18DXeh2OrxlbYfVdz5i9toFh9Hw7CA=",
12+
}
1313

1414
def _internal_configure_extension_impl(module_ctx):
15-
version = _parse_my_own_version_from_module_dot_bazel(module_ctx)
15+
(pybind11_bazel,) = [module for module in module_ctx.modules if module.name == "pybind11_bazel"]
16+
version = pybind11_bazel.version
1617

1718
# The pybind11_bazel version should typically just be the pybind11 version,
1819
# but can end with ".bzl.<N>" if the Bazel plumbing was updated separately.
@@ -21,7 +22,8 @@ def _internal_configure_extension_impl(module_ctx):
2122
name = "pybind11",
2223
build_file = "//:pybind11-BUILD.bazel",
2324
strip_prefix = "pybind11-%s" % version,
24-
urls = ["https://github.com/pybind/pybind11/archive/v%s.zip" % version],
25+
url = "https://github.com/pybind/pybind11/archive/refs/tags/v%s.tar.gz" % version,
26+
integrity = _INTEGRITIES.get(version),
2527
)
2628

2729
internal_configure_extension = module_extension(implementation = _internal_configure_extension_impl)

0 commit comments

Comments
 (0)