constellation/WORKSPACE.bazel
2023-10-12 14:42:24 +02:00

239 lines
6.0 KiB
Plaintext

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 = "0c7ffbc66e6d78c50c38e717ec91a2a14e0622fb",
sha256 = "2c8c39259595441e2fe529b75b2e69eba486e0f3457e810bf9bb2b531822743e",
)
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()