mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-19 16:57:40 +03:00
49e19ebed1
* Make compat tests work on windows This required some changes to the daml_sdk rule since the read-only installation by the assistant breaks Bazel completely. We could only apply those changes on Windows but I think I prefer the consistency across platforms here over trying to stay close to how the SDK is installed on user machines given that the SDK installation is not something we’ve had issues with. I’ve excluded the postgresql tests for now. I don’t expect them to be particularly hard to fix but I’ve already spent almost 2 days on this and having some tests run on Windows seems like a clear improvement over running no tests on Windows :) changelog_begin changelog_end * Remove todo changelog_begin changelog_end
73 lines
2.4 KiB
Python
73 lines
2.4 KiB
Python
# Copyright (c) 2020 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Defines external Haskell dependencies.
|
|
#
|
|
# Add Stackage dependencies to the `packages` attribute of the `@stackage`
|
|
# `stack_snapshot` in the very bottom of this file. If a package or version is
|
|
# not available on Stackage, add it to the custom stack snapshot in
|
|
# `stack-snapshot.yaml`. If a library requires patching, then add it as an
|
|
# `http_archive` and add it to the `vendored_packages` attribute of
|
|
# `stack_snapshot`. Executables are defined in an `http_archive` using
|
|
# `haskell_cabal_binary`.
|
|
|
|
load("@bazel_skylib//lib:dicts.bzl", "dicts")
|
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
load("@os_info//:os_info.bzl", "is_windows")
|
|
load("@rules_haskell//haskell:cabal.bzl", "stack_snapshot")
|
|
load("@dadew//:dadew.bzl", "dadew_tool_home")
|
|
|
|
def daml_haskell_deps():
|
|
"""Load all Haskell dependencies of the DAML repository."""
|
|
|
|
use_integer_simple = not is_windows
|
|
|
|
stack_snapshot(
|
|
name = "stackage",
|
|
extra_deps = {
|
|
"zlib": ["@com_github_madler_zlib//:libz"],
|
|
},
|
|
flags = dicts.add(
|
|
{
|
|
"cryptonite": ["-integer-gmp"],
|
|
"hashable": ["-integer-gmp"],
|
|
"integer-logarithms": ["-integer-gmp"],
|
|
"text": ["integer-simple"],
|
|
"scientific": ["integer-simple"],
|
|
} if use_integer_simple else {},
|
|
),
|
|
haddock = False,
|
|
local_snapshot = "//:stack-snapshot.yaml",
|
|
packages = [
|
|
"aeson",
|
|
"base",
|
|
"containers",
|
|
"directory",
|
|
"extra",
|
|
"filepath",
|
|
"jwt",
|
|
"monad-loops",
|
|
"network",
|
|
"process",
|
|
"safe",
|
|
"safe-exceptions",
|
|
"split",
|
|
"tagged",
|
|
"tasty",
|
|
"tasty-hunit",
|
|
"text",
|
|
] + (["unix"] if not is_windows else ["Win32"]),
|
|
stack = "@stack_windows//:stack.exe" if is_windows else None,
|
|
tools = [
|
|
],
|
|
)
|
|
|
|
if is_windows:
|
|
native.new_local_repository(
|
|
name = "stack_windows",
|
|
build_file_content = """
|
|
exports_files(["stack.exe"], visibility = ["//visibility:public"])
|
|
""",
|
|
path = dadew_tool_home("stack"),
|
|
)
|