mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 10:46:11 +03:00
881d0aba91
* Update rules_haskell & rules_nixpkgs changelog_begin changelog_end * remove unused patch * Remove the strict-source-names patch This patch was largely motivated by issues with directory outputs on Windows occasionally producing empty outputs that would poison the remote cache. However, we have continued seeing this type of issue despite this patch and have since resorted to a regular fixup job that cleans such empty items out of the cache. With that the strongest motivation with this change is no longer valid and it doesn't seem worth it to maintain it any longer. changelog_begin changelog_end * Remove windows-remove-fake-libs patch This patch was upstreamed. * Update windows-extra-libraries patch The GHC bindist patch is no longer required as it applied to GHC version 8.10.3 but we are using 8.10.4 instead. * Remove cc-wrapper-windows patch This was upstreamed. * Remove protobuf-source patch This was upstreamed * Keep patches in sync between daml and compatibility Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
152 lines
6.1 KiB
Python
152 lines
6.1 KiB
Python
# Copyright (c) 2021 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_bazel_common_sha256",
|
|
"rules_bazel_common_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 "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)],
|
|
)
|