mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 10:46:11 +03:00
38f424155a
* Update `rules_nixpgks` to HEAD Since [rules_nixpkgs#191] has been merged, we can drop the `rules-nixpkgs-arm.patch` from rules_nixpkgs. Also, rules_nixpkgs has been split into several components which need to be added explicitly in `deps.bzl`, see [#182]. [#191]: https://github.com/tweag/rules_nixpkgs/pull/191 [#182]: https://github.com/tweag/rules_nixpkgs/issues/182 * Adapt `compatibility/deps.bzl` * Update platforms repository to version 0.0.4 It has been updated in rules_nixpkgs, so this just follows suite. * Pass through `isClang` attribute for the cc-toolchain In rules_nixpkgs, this attribute is now used to determine whether the compiler is clang, see [#216]. [#216]: https://github.com/tweag/rules_nixpkgs/pull/216 CHANGELOG_BEGIN CHANGELOG_END
191 lines
7.6 KiB
Python
191 lines
7.6 KiB
Python
# Copyright (c) 2022 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
#
|
|
# The dependencies of the daml workspace.
|
|
# This allows using the daml workspace externally
|
|
# from another bazel workspace.
|
|
#
|
|
# For example, another Bazel project can depend on
|
|
# targets in the daml repository by doing:
|
|
# ---
|
|
# local_repository(
|
|
# name = "com_github_digital_asset_daml",
|
|
# path = "/path/to/daml"
|
|
# )
|
|
# load("@com_github_digital_asset_daml//:deps.bzl", "daml_deps")
|
|
# daml_deps()
|
|
# ---
|
|
#
|
|
# A 3rd-party consumer would also need to register relevant
|
|
# toolchains and repositories in order to build targets.
|
|
# That is, copy some setup calls from WORKSPACE into the
|
|
# other WORKSPACE.
|
|
#
|
|
# Make sure to reference repository local files with the full
|
|
# prefix: @com_github_digital_asset_daml//..., as these won't
|
|
# be resolvable from external workspaces otherwise.
|
|
|
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
|
|
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
|
|
load(
|
|
"@daml//:deps.bzl",
|
|
"bazel_gazelle_sha256",
|
|
"bazel_gazelle_version",
|
|
"buildifier_sha256",
|
|
"buildifier_version",
|
|
"rules_bazel_common_sha256",
|
|
"rules_bazel_common_version",
|
|
"rules_go_sha256",
|
|
"rules_go_version",
|
|
"rules_haskell_patches",
|
|
"rules_haskell_sha256",
|
|
"rules_haskell_version",
|
|
"rules_jvm_external_sha256",
|
|
"rules_jvm_external_version",
|
|
"rules_nixpkgs_patches",
|
|
"rules_nixpkgs_sha256",
|
|
"rules_nixpkgs_version",
|
|
"rules_nodejs_sha256",
|
|
"rules_nodejs_version",
|
|
"rules_scala_sha256",
|
|
"rules_scala_version",
|
|
"zlib_sha256",
|
|
"zlib_version",
|
|
)
|
|
load("//:versions.bzl", "latest_stable_version", "version_sha256s")
|
|
load("@os_info//:os_info.bzl", "os_name")
|
|
|
|
def daml_deps():
|
|
if "rules_haskell" not in native.existing_rules():
|
|
http_archive(
|
|
name = "rules_haskell",
|
|
strip_prefix = "rules_haskell-%s" % rules_haskell_version,
|
|
urls = ["https://github.com/tweag/rules_haskell/archive/%s.tar.gz" % rules_haskell_version],
|
|
patches = [
|
|
p.replace("@com_github_digital_asset_daml", "@daml")
|
|
for p in rules_haskell_patches
|
|
],
|
|
patch_args = ["-p1"],
|
|
sha256 = rules_haskell_sha256,
|
|
)
|
|
|
|
if "io_tweag_rules_nixpkgs" not in native.existing_rules():
|
|
# N.B. rules_nixpkgs was split into separate components, which need to be loaded separately
|
|
#
|
|
# See https://github.com/tweag/rules_nixpkgs/issues/182 for the rational
|
|
|
|
strip_prefix = "rules_nixpkgs-%s" % rules_nixpkgs_version
|
|
|
|
http_archive(
|
|
name = "io_tweag_rules_nixpkgs",
|
|
strip_prefix = strip_prefix,
|
|
urls = ["https://github.com/tweag/rules_nixpkgs/archive/%s.tar.gz" % rules_nixpkgs_version],
|
|
sha256 = rules_nixpkgs_sha256,
|
|
patches = [
|
|
p.replace("@com_github_digital_asset_daml", "@daml")
|
|
for p in rules_nixpkgs_patches
|
|
],
|
|
patch_args = ["-p1"],
|
|
)
|
|
|
|
http_archive(
|
|
name = "rules_nixpkgs_core",
|
|
strip_prefix = strip_prefix + "/core",
|
|
urls = ["https://github.com/tweag/rules_nixpkgs/archive/%s.tar.gz" % rules_nixpkgs_version],
|
|
sha256 = rules_nixpkgs_sha256,
|
|
patches = [
|
|
p.replace("@com_github_digital_asset_daml", "@daml")
|
|
for p in rules_nixpkgs_patches
|
|
],
|
|
patch_args = ["-p2"],
|
|
)
|
|
|
|
for toolchain in ["cc", "java", "python", "go", "rust", "posix"]:
|
|
http_archive(
|
|
name = "rules_nixpkgs_" + toolchain,
|
|
strip_prefix = strip_prefix + "/toolchains/" + toolchain,
|
|
urls = ["https://github.com/tweag/rules_nixpkgs/archive/%s.tar.gz" % rules_nixpkgs_version],
|
|
sha256 = rules_nixpkgs_sha256,
|
|
)
|
|
|
|
if "com_github_bazelbuild_buildtools" not in native.existing_rules():
|
|
http_archive(
|
|
name = "com_github_bazelbuild_buildtools",
|
|
sha256 = buildifier_sha256,
|
|
strip_prefix = "buildtools-{}".format(buildifier_version),
|
|
url = "https://github.com/bazelbuild/buildtools/archive/{}.tar.gz".format(buildifier_version),
|
|
)
|
|
|
|
if "com_github_madler_zlib" not in native.existing_rules():
|
|
http_archive(
|
|
name = "com_github_madler_zlib",
|
|
build_file = "@daml//3rdparty/c:zlib.BUILD",
|
|
strip_prefix = "zlib-{}".format(zlib_version),
|
|
urls = ["https://github.com/madler/zlib/archive/v{}.tar.gz".format(zlib_version)],
|
|
sha256 = zlib_sha256,
|
|
)
|
|
|
|
if "build_bazel_rules_nodejs" not in native.existing_rules():
|
|
http_archive(
|
|
name = "build_bazel_rules_nodejs",
|
|
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/{}/rules_nodejs-{}.tar.gz".format(rules_nodejs_version, rules_nodejs_version)],
|
|
sha256 = rules_nodejs_sha256,
|
|
patches = [
|
|
# Work around for https://github.com/bazelbuild/rules_nodejs/issues/1565
|
|
"@daml//bazel_tools:rules_nodejs_npm_cli_path.patch",
|
|
# Enforces a dependency of the rules_nodejs workspace on the
|
|
# workspace providing node.
|
|
"@daml//bazel_tools:rules_nodejs_node_dependency.patch",
|
|
],
|
|
patch_args = ["-p1"],
|
|
)
|
|
|
|
if "rules_jvm_external" not in native.existing_rules():
|
|
http_archive(
|
|
name = "rules_jvm_external",
|
|
strip_prefix = "rules_jvm_external-{}".format(rules_jvm_external_version),
|
|
sha256 = rules_jvm_external_sha256,
|
|
url = "https://github.com/bazelbuild/rules_jvm_external/archive/{}.zip".format(rules_jvm_external_version),
|
|
)
|
|
|
|
if "io_bazel_rules_scala" not in native.existing_rules():
|
|
http_archive(
|
|
name = "io_bazel_rules_scala",
|
|
url = "https://github.com/bazelbuild/rules_scala/archive/%s.tar.gz" % rules_scala_version,
|
|
strip_prefix = "rules_scala-%s" % rules_scala_version,
|
|
sha256 = rules_scala_sha256,
|
|
patches = [
|
|
"@daml//bazel_tools:scala-escape-jvmflags.patch",
|
|
],
|
|
patch_args = ["-p1"],
|
|
)
|
|
|
|
if "bazel_gazelle" not in native.existing_rules():
|
|
http_archive(
|
|
name = "bazel_gazelle",
|
|
urls = [
|
|
"https://github.com/bazelbuild/bazel-gazelle/archive/{version}/bazel-gazelle-{version}.tar.gz".format(version = bazel_gazelle_version),
|
|
],
|
|
strip_prefix = "bazel-gazelle-{version}".format(version = bazel_gazelle_version),
|
|
sha256 = bazel_gazelle_sha256,
|
|
)
|
|
|
|
if "io_bazel_rules_go" not in native.existing_rules():
|
|
http_archive(
|
|
name = "io_bazel_rules_go",
|
|
urls = [
|
|
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v{version}/rules_go-v{version}.zip".format(version = rules_go_version),
|
|
"https://github.com/bazelbuild/rules_go/releases/download/v{version}/rules_go-v{version}.zip".format(version = rules_go_version),
|
|
],
|
|
sha256 = rules_go_sha256,
|
|
)
|
|
|
|
if "com_github_google_bazel_common" not in native.existing_rules():
|
|
http_archive(
|
|
name = "com_github_google_bazel_common",
|
|
sha256 = rules_bazel_common_sha256,
|
|
strip_prefix = "bazel-common-{}".format(rules_bazel_common_version),
|
|
urls = ["https://github.com/google/bazel-common/archive/{}.tar.gz".format(rules_bazel_common_version)],
|
|
)
|