workspace(name = "constellation") load("//bazel/toolchains:skylib_deps.bzl", "skylib_deps") skylib_deps() # nixpkgs deps load("//bazel/toolchains:nixpkgs_deps.bzl", "nixpkgs_deps") nixpkgs_deps() load("@io_tweag_rules_nixpkgs//nixpkgs:repositories.bzl", "rules_nixpkgs_dependencies") rules_nixpkgs_dependencies() load("@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl", "nixpkgs_flake_package", "nixpkgs_git_repository", "nixpkgs_package", "nixpkgs_python_configure") nixpkgs_git_repository( name = "nixpkgs", revision = "27c6a38e0aa2e57ab914ad8b500582085549c236", sha256 = "875c2e171ab9663ff6ad2b5c75d974776682b3b4075143fc98d73c39a3b8c132", ) nixpkgs_flake_package( name = "mkosi", nix_flake_file = "//:flake.nix", nix_flake_lock_file = "//:flake.lock", package = "mkosi", ) nixpkgs_package( name = "diffutils", repository = "@nixpkgs", ) nixpkgs_package( name = "systemd", repository = "@nixpkgs", ) load("//bazel/mkosi:mkosi_configure.bzl", "find_system_mkosi") find_system_mkosi(name = "constellation_mkosi") # Python toolchain load("//bazel/toolchains:python_deps.bzl", "python_deps") python_deps() load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") py_repositories() # if nix is installed, use nixpkgs python toolchain... nixpkgs_python_configure( fail_not_supported = False, python3_attribute_path = "python311.withPackages(ps: with ps; [ numpy ])", repository = "@nixpkgs", ) # ... otherwise, fall back to rules_python toolchain python_register_toolchains( name = "python3_11", python_version = "3.11", ) # Go toolchain load("//bazel/toolchains:go_rules_deps.bzl", "go_deps") go_deps() load("//bazel/toolchains:go_module_deps.bzl", "go_dependencies") # gazelle:repository_macro bazel/toolchains/go_module_deps.bzl%go_dependencies go_dependencies() load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies") go_rules_dependencies() local_repository( name = "nixos-support", path = "bazel/nixos-support", ) load("@nixos-support//:nixos-support.bzl", "gen_imports") gen_imports() load("@nixos_support//:imports.bzl", "cc_toolchain", "go_toolchain") go_toolchain() load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") gazelle_dependencies(go_repository_default_config = "//:WORKSPACE.bazel") # gazelle:repo bazel_gazelle # proto toolchain load("//bazel/toolchains:proto_deps.bzl", "proto_deps") proto_deps() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") rules_proto_dependencies() rules_proto_toolchains() # dnf / rpm toolchain load("//bazel/toolchains:dnf_deps.bzl", "dnf_deps") dnf_deps() load("@bazeldnf//:deps.bzl", "bazeldnf_dependencies") bazeldnf_dependencies() load("//rpm:rpms.bzl", "rpms") rpms() # Buildifier load("//bazel/toolchains:buildifier_deps.bzl", "buildifier_deps") buildifier_deps() # C / C++ toolchains load("//bazel/toolchains:hermetic_cc_deps.bzl", "hermetic_cc_deps") hermetic_cc_deps() load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains") # If needed, we can specify a specific version of the Zig toolchain to use. # If not specified, hermetic_cc_toolchain will use a known good version of Zig. # See https://ziglang.org/download/ for the latest releases # zig_toolchains( # host_platform_sha256 = { # "linux-aarch64": "b759a11993949531c692ccfc3d1a004b14df714a7a3515fe0b5c90c9a7631d61", # "linux-x86_64": "028dad5189e02b2058679b64df16e854a1c1ca0e6044b334d4f3be6e35544f07", # "macos-aarch64": "5709c27d581988f50f5e6fd5b69d92707787e803a1d04992e290b764617664e6", # "macos-x86_64": "88d194adb2f3c1a9edbb4a24d018007d5f827a57d1d26b2d9f3459236da1b7b6", # "windows-x86_64": "75e510bda108e4d78b89d5d1d09e70ea8595fac7c43b5611f280668881adb09d", # }, # version = "0.11.0-dev.1638+7199d7c77", # ) zig_toolchains() cc_toolchain() load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "rules_foreign_cc", sha256 = "2a4d07cd64b0719b39a7c12218a3e507672b82a97b98c6a89d38565894cf7c51", strip_prefix = "rules_foreign_cc-0.9.0", type = "tar.gz", urls = [ "https://cdn.confidential.cloud/constellation/cas/sha256/2a4d07cd64b0719b39a7c12218a3e507672b82a97b98c6a89d38565894cf7c51", "https://github.com/bazelbuild/rules_foreign_cc/archive/refs/tags/0.9.0.tar.gz", ], ) load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies") # This sets up some common toolchains for building targets. For more details, please see # https://bazelbuild.github.io/rules_foreign_cc/0.9.0/flatten.html#rules_foreign_cc_dependencies rules_foreign_cc_dependencies() load("//3rdparty/bazel/org_openssl:openssl_repositories.bzl", "openssl_repositories") openssl_repositories() load("//3rdparty/bazel/org_openssl:openssl_setup.bzl", "openssl_setup") openssl_setup() # Packaging rules (tar) load("//bazel/toolchains:pkg_deps.bzl", "pkg_deps") pkg_deps() load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") rules_pkg_dependencies() # OCI rules load("//bazel/toolchains:oci_deps.bzl", "oci_deps") oci_deps() load("@rules_oci//oci:dependencies.bzl", "rules_oci_dependencies") rules_oci_dependencies() load("@rules_oci//oci:repositories.bzl", "LATEST_CRANE_VERSION", "oci_register_toolchains") oci_register_toolchains( name = "oci", crane_version = LATEST_CRANE_VERSION, ) load("@aspect_bazel_lib//lib:repositories.bzl", "register_yq_toolchains") load("//bazel/toolchains:container_images.bzl", "containter_image_deps") containter_image_deps() register_yq_toolchains() # Multirun load("//bazel/toolchains:multirun_deps.bzl", "multirun_deps") multirun_deps() load("//3rdparty/bazel/com_github_medik8s_node_maintainance_operator:source.bzl", "node_maintainance_operator_deps") node_maintainance_operator_deps() # CI deps load("//bazel/toolchains:ci_deps.bzl", "ci_deps") ci_deps() # k8s deps load("//bazel/toolchains:k8s.bzl", "k8s_deps") k8s_deps() # kernel rpms load("//bazel/toolchains:linux_kernel.bzl", "kernel_rpms") kernel_rpms()