mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
c5ce6ed4c8
This is preparatory work for hitting the transaction service (and others but that one is the most important) which isn’t possible via DAML Script. To ease review, this PR only switches from a DAML Script to a custom Scala binary. It does not yet change what is tested. changelog_begin changelog_end
132 lines
5.3 KiB
Python
132 lines
5.3 KiB
Python
# Copyright (c) 2020 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",
|
|
"buildifier_sha256",
|
|
"buildifier_version",
|
|
"rules_haskell_sha256",
|
|
"rules_haskell_version",
|
|
"rules_jvm_external_sha256",
|
|
"rules_jvm_external_version",
|
|
"rules_nixpkgs_sha256",
|
|
"rules_nixpkgs_version",
|
|
"rules_nodejs_sha256",
|
|
"rules_nodejs_version",
|
|
"rules_scala_sha256",
|
|
"rules_scala_version",
|
|
"zlib_sha256",
|
|
"zlib_version",
|
|
)
|
|
|
|
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 = [
|
|
"@daml//bazel_tools:haskell-strict-source-names.patch",
|
|
"@daml//bazel_tools:haskell-windows-remove-fake-libs.patch",
|
|
"@daml//bazel_tools:haskell-windows-extra-libraries.patch",
|
|
"@daml//bazel_tools:haskell-pgmc.patch",
|
|
],
|
|
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 = [
|
|
# Remove once https://github.com/tweag/rules_nixpkgs/pull/128
|
|
# has been merged
|
|
"@daml//bazel_tools:nixpkgs-hermetic-cc-toolchain.patch",
|
|
],
|
|
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/{}.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 = "132cf8eeaab67f3142cec17152b8415901e7fa8396dd585d6334eec21bf7419d",
|
|
patches = [
|
|
"@daml//bazel_tools:scala-escape-jvmflags.patch",
|
|
"@daml//bazel_tools:scala-fail-jmh-build-on-error.patch",
|
|
],
|
|
patch_args = ["-p1"],
|
|
)
|