-
Matthew Clarkson authoredUnverifiede96216e1
MODULE.bazel 5.12 KiB
module(
name = "rules_coreutils",
bazel_compatibility = [
">=7.0.0",
],
)
bazel_dep(name = "toolchain_utils", version = "1.0.0-beta.18")
bazel_dep(name = "download_utils", version = "1.0.0-beta.2")
bazel_dep(name = "ape", version = "1.0.0-beta.14")
archive = use_repo_rule("@download_utils//download/archive:defs.bzl", "download_archive")
[
archive(
name = "coreutils-{}".format(triplet),
srcs = ["entrypoint"],
integrity = integrity,
links = {
"coreutils.exe" if "windows" in basename else "coreutils": "entrypoint",
},
strip_prefix = "coreutils-0.0.28-{}".format(basename.partition(".")[0]),
urls = ["https://github.com/uutils/coreutils/releases/download/0.0.28/coreutils-0.0.28-{}".format(basename)],
)
for triplet, basename, integrity in (
("arm64-linux-gnu", "aarch64-unknown-linux-gnu.tar.gz", "sha256-cm3iCgrKu1HauNH3PQpx06A3d4Jy0SmeVPY7MhMRNro="),
("amd64-linux-gnu", "x86_64-unknown-linux-gnu.tar.gz", "sha256-4ipKkXm73mZ4ZZF9wTmeRoahgVnaNb5sG3hYLFKjc6I="),
("arm64-linux-musl", "aarch64-unknown-linux-musl.tar.gz", "sha256-AMJriqQM9uC7g3OEbpPiQmCMMRVWCfVz5tTZ0pYcMKg="),
("amd64-linux-musl", "x86_64-unknown-linux-musl.tar.gz", "sha256-TTUsIpXa8imHQfzQVlzU4H1T3ltjUpcvJHMYHvid7Gw="),
("amd64-windows-msvc", "x86_64-pc-windows-msvc.zip", "sha256-NPrwPoVQtSOsdGaK1l+xJzCTDGNjcPgoWAMJpCa6k+I="),
("arm64-macos-darwin", "aarch64-apple-darwin.tar.gz", "sha256-u9m5f8OLnohB/rk7VoTzWHr7PWUaHMkeRtALGwvPKPY="),
("amd64-macos-darwin", "x86_64-apple-darwin.tar.gz", "sha256-o+LUnVjUaIzjU3WOk2xbILc5pBbURs76Ojjo+Mhu5vA="),
)
]
select = use_repo_rule("@toolchain_utils//toolchain/local/select:defs.bzl", "toolchain_local_select")
select(
name = "coreutils",
map = {
"@coreutils-amd64-linux-musl": "amd64-linux",
"@coreutils-arm64-linux-musl": "arm64-linux",
"@coreutils-amd64-windows-msvc": "amd64-windows",
"@coreutils-arm64-macos-darwin": "arm64-macos-darwin",
"@coreutils-amd64-macos-darwin": "amd64-macos-darwin",
},
)
export = use_extension("@toolchain_utils//toolchain/export:defs.bzl", "toolchain_export")
export.symlink(
name = "coreutils",
target = "@coreutils",
)
deb = use_repo_rule("@download_utils//download/deb:defs.bzl", "download_deb")
deb(
name = "busybox-arm64-linux",
srcs = ["busybox"],
integrity = "sha256-C0+0zi0/0Woc11BTX5d1ugxC2GOeE9ZjUka6g6DUvc8=",
strip_prefix = "bin",
urls = ["http://ftp.uk.debian.org/debian/pool/main/b/busybox/busybox-static_1.35.0-4+b3_arm64.deb"],
)
deb(
name = "busybox-amd64-linux",
srcs = ["busybox"],
integrity = "sha256-rMRMIHKVuGEU2kiV71Ouvxhr8839wmmloaCer6xqYNs=",
strip_prefix = "bin",
urls = ["http://ftp.uk.debian.org/debian/pool/main/b/busybox/busybox-static_1.35.0-4+b3_amd64.deb"],
)
resolved = use_repo_rule("@toolchain_utils//toolchain/resolved:defs.bzl", "toolchain_resolved")
which = use_repo_rule("@toolchain_utils//toolchain/local/which:defs.bzl", "toolchain_local_which")
[
(
resolved(
name = "resolved-{}".format(tool),
toolchain_type = "//coreutils/toolchain/{}:type".format(tool),
),
which(
name = "which-{}".format(tool),
basename = tool,
),
)
for tool in (
"busybox",
"coreutils",
"arch",
"b2sum",
"base32",
"base64",
"basename",
"basenc",
"cat",
"chcon",
"chgrp",
"chmod",
"chown",
"chroot",
"cksum",
"comm",
"cp",
"csplit",
"cut",
"date",
"dd",
"df",
"dir",
"dircolors",
"dirname",
"du",
"echo",
"env",
"expand",
"expr",
"factor",
"false",
"fmt",
"fold",
"head",
"hostname",
"hostid",
"id",
"install",
"join",
"link",
"ln",
"logname",
"ls",
"md5sum",
"mkdir",
"mkfifo",
"mknod",
"mktemp",
"more",
"mv",
"nice",
"nl",
"nohup",
"nproc",
"numfmt",
"od",
"paste",
"pathchk",
"pinky",
"pr",
"printenv",
"printf",
"ptx",
"pwd",
"readlink",
"realpath",
"rm",
"rmdir",
"runcon",
"seq",
"sha1sum",
"sha224sum",
"sha256sum",
"sha3sum",
"sha384sum",
"sha512sum",
"shred",
"shuf",
"sleep",
"sort",
"split",
"stat",
"stdbuf",
"stty",
"sum",
"sync",
"tac",
"tail",
"tee",
"test",
"timeout",
"touch",
"tr",
"true",
"truncate",
"uname",
"unexpand",
"uniq",
"unlink",
"users",
"vdir",
"wc",
"who",
"whoami",
"yes",
)
]
register_toolchains("//coreutils/toolchain/...")