mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 10:46:11 +03:00
d2e2c21684
New year, new copyright, new expected unknown issues with various files that won't be covered by the script and/or will be but shouldn't change. I'll do the details on Jan 1, but would appreciate this being preapproved so I can actually get it merged by then. CHANGELOG_BEGIN CHANGELOG_END
176 lines
7.2 KiB
Python
176 lines
7.2 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():
|
|
http_archive(
|
|
name = "io_tweag_rules_nixpkgs",
|
|
strip_prefix = "rules_nixpkgs-%s" % rules_nixpkgs_version,
|
|
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"],
|
|
)
|
|
|
|
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.zip" % rules_scala_version,
|
|
type = "zip",
|
|
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/{}.zip".format(rules_bazel_common_version)],
|
|
)
|
|
|
|
# The tests for the `platform-version` field need a proper assistant installation with
|
|
# multiple installed SDKs. Therefore, we fetch the (unextracted) installation
|
|
# tarball for the latest stable release. Together with the tarball for HEAD
|
|
# that gives us two SDK version to test with.
|
|
http_file(
|
|
name = "daml-sdk-tarball-latest-stable",
|
|
sha256 = version_sha256s[latest_stable_version][os_name],
|
|
urls = ["https://github.com/digital-asset/daml/releases/download/v{}/daml-sdk-{}-{}.tar.gz".format(latest_stable_version, latest_stable_version, os_name)],
|
|
)
|