Bazel Central Registry (BCR)

repository·main·Indexed 18 days ago

https://github.com/bazelbuild/bazel-central-registry

The primary source of truth for Bzlmod dependencies, providing metadata for rulesets and non-Bazel projects. Includes documentation on contributing modules using the add_module tool, managing metadata.json and source.json, performing local validations with bcr_validation.py, and configuring presubmit.yml for anonymous and test module verification.

Tokens
29.4K
Snippets
62
Records
169
Agent score
61%

What's inside Bazel Central Registry

  1. Overview of the sed module

    main
    The sed module is a hand-written module in the Bazel Central Registry. It utilizes rules_cc_autoconf to perform platform-specific configuration detection during the build process. This approach ensures that the module adapts to the host environment at build time instead of relying on static, hard-coded defaults.
  2. Overview of libpcap in the Bazel Central Registry

    main
    The libpcap module in the Bazel Central Registry is provided via a hand-written BUILD file. This BUILD file was generated by converting the original Autoconf (configure.ac) configuration files to Bazel using the rules_cc_autoconf tool. Users can depend on this module in their Bazel projects to access the libpcap library.
  3. What is the Bazel Central Registry (BCR)?

    main

    The Bazel Central Registry (BCR) is the default registry for Bazel's external dependency system, known as Bzlmod. It hosts metadata for Bazel-specific libraries (rulesets) and serves as a central host for projects that lack native Bazel support (such as many C/C++ projects).

  4. Overview of the texlive Bazel module

    main

    The texlive module is a Bazel port of the TeX Live distribution (TeX, LaTeX, and related programs).

    Key architectural details:

    • Build Logic: Build files are hand-crafted to mirror upstream autotools builds (configure.ac and Makefile.am) using rules_cc_autoconf for feature probing.
    • Runtime Data: LaTeX macros, fonts, and configuration (the texmf-dist component) are not contained within this module. Instead, they reside in the texlive-texmf module and are pulled in transitively based on the matching version.
    • Directory Structure: The Bazel overlay shadows the texlive-source/ tree. Binaries and libraries maintain their upstream paths, each with a hand-written BUILD.bazel file. The bazel/ directory contains Bazel-specific helpers, rules, and tools.
  5. Overview of the OpenUSD BCR module

    main

    This module provides a minimal build of OpenUSD linked as a monolithic static library.

    Key Characteristics:

    • Build Type: Monolithic static library (for ease of use).
    • Limitations: Optional addons and plugins, such as Python support, are disabled in this build. If you require Python support or a different build configuration (e.g., shared libraries or split-up builds), refer to the original OpenUSD GitHub repository's README.md and BUILDING.md.
    • Supported Platforms: Linux and macOS Apple Silicon. Windows support is currently unvalidated.
  6. Overview of the Seastar BUILD overlay

    main
    The Seastar module in the Bazel Central Registry provides a BUILD overlay derived from the latest version of Seastar found in the Redpanda repository (https://github.com/redpanda-data/redpanda.git). Note that minor changes may have been introduced to the build files to ensure compatibility with upstream Seastar when used within the Bazel ecosystem.
  7. Build Git and libgit using Bazel

    main

    This module provides a community-maintained Bazel setup to build Git and its library, libgit.

    Supported Platforms:

    • Linux x86
    • macOS ARM64

    Known Limitations:

    • Windows: Not currently validated in CI.
    • Toolchains: Python, Perl, and shell toolchains are currently hard-coded in the Bazel setup and cannot be swapped via standard Bazel toolchain resolution.
    • macOS Tests: Test t3900 is explicitly disabled on macOS due to compatibility issues with libiconv on macOS 14 and 15.