blob: 17ed6581709f599a54f9870d648fc8cdad704eb8 [file] [log] [blame]
# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
load("//bazel/portage/build_defs:binary_package.bzl", "binary_package")
visibility("public")
def direct_ebuild(
name,
package,
category,
package_name = None,
version = "1",
slot = "0/0",
runtime_deps = [],
visibility = None):
"""Defines an ebuild for a package containing files built with bazel"""
package_name = package_name or name
tar_name = "_%s_tbz2" % name
pkg_tar(
name = tar_name,
out = name + ".tbz2",
srcs = [package],
compressor = "@@//bazel/cros_pkg/private:gen_tbz2",
build_tar = "//bazel/cros_pkg/private:build_tar",
compressor_args = " ".join([
"--category=" + category,
"--package-name=" + package_name,
"--version=" + version,
"--slot=" + slot,
]),
visibility = ["//visibility:private"],
)
binary_package(
name = name,
category = category,
package_name = package_name,
version = version,
slot = slot,
src = tar_name,
runtime_deps = runtime_deps,
visibility = visibility,
)
def direct_ebuild_virtual_package(*, runtime_deps, **kwargs):
"""Defines an ebuild for a virtual package."""
direct_ebuild(
package = "//bazel/cros_pkg/private:empty_package",
category = "virtual",
runtime_deps = runtime_deps,
**kwargs
)