mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-18 20:34:35 -05:00
9be252fccb
This also includes aliases to select the correct library based on the target platform.
110 lines
2.7 KiB
Python
110 lines
2.7 KiB
Python
""" Bazel cc_library definitions for Nixpkgs. """
|
|
|
|
load("@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl", "nixpkgs_flake_package")
|
|
|
|
def nixpkgs_cc_library_deps():
|
|
""" Generate cc_library rules for Nixpkgs. """
|
|
return [
|
|
nixpkgs_flake_package(
|
|
name = "org_openssl_%s" % system,
|
|
nix_flake_file = "//:flake.nix",
|
|
nix_flake_lock_file = "//:flake.lock",
|
|
package = "packages.%s.openssl" % system,
|
|
build_file_content = OPENSSL_BUILD,
|
|
)
|
|
for system in openssl_systems
|
|
] + [
|
|
nixpkgs_flake_package(
|
|
name = "cryptsetup_%s" % system,
|
|
nix_flake_file = "//:flake.nix",
|
|
nix_flake_lock_file = "//:flake.lock",
|
|
package = "cryptsetup",
|
|
build_file_content = CRYPTSETUP_BUILD,
|
|
)
|
|
for system in cryptsetup_systems
|
|
] + [
|
|
nixpkgs_flake_package(
|
|
name = "libvirt_%s" % system,
|
|
nix_flake_file = "//:flake.nix",
|
|
nix_flake_lock_file = "//:flake.lock",
|
|
package = "libvirt",
|
|
build_file_content = LIBVIRT_BUILD,
|
|
)
|
|
for system in libvirt_systems
|
|
]
|
|
|
|
openssl_systems = [
|
|
"aarch64-linux",
|
|
"aarch64-darwin",
|
|
"x86_64-linux",
|
|
"x86_64-darwin",
|
|
]
|
|
|
|
cryptsetup_systems = [
|
|
"x86_64-linux",
|
|
]
|
|
|
|
libvirt_systems = [
|
|
"x86_64-linux",
|
|
]
|
|
|
|
OPENSSL_BUILD = """\
|
|
load("@rules_cc//cc:defs.bzl", "cc_library")
|
|
filegroup(
|
|
name = "include",
|
|
srcs = glob(["include/**/*.h"]),
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
cc_library(
|
|
name = "org_openssl",
|
|
srcs = glob(["lib/**/*.a"]),
|
|
hdrs = [":include"],
|
|
strip_include_prefix = "include",
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
"""
|
|
|
|
CRYPTSETUP_BUILD = """\
|
|
exports_files(["closure.tar", "rpath", "dynamic-linker"])
|
|
filegroup(
|
|
name = "include",
|
|
srcs = glob(["include/**/*.h"]),
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
cc_library(
|
|
name = "cryptsetup",
|
|
srcs = glob(["lib/**/*.so*"]),
|
|
hdrs = [":include"],
|
|
strip_include_prefix = "include",
|
|
target_compatible_with = [
|
|
"@platforms//os:linux",
|
|
"@platforms//cpu:x86_64",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
"""
|
|
|
|
LIBVIRT_BUILD = """\
|
|
exports_files(["bin-linktree.tar", "closure.tar", "rpath", "dynamic-linker"])
|
|
load("@rules_cc//cc:defs.bzl", "cc_library")
|
|
filegroup(
|
|
name = "include",
|
|
srcs = glob(["include/**/*.h"]),
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
cc_library(
|
|
name = "libvirt",
|
|
srcs = glob([
|
|
"lib/*.so",
|
|
"lib/*.so.*",
|
|
]),
|
|
hdrs = [":include"],
|
|
strip_include_prefix = "include",
|
|
target_compatible_with = [
|
|
"@platforms//os:linux",
|
|
"@platforms//cpu:x86_64",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
"""
|