mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-04 00:36:58 +03:00
Update rules_haskell (#1106)
Some of the patches against rules_haskell and Hazel can now be dropped as they've been merged upstream.
This commit is contained in:
parent
f744c7a9cd
commit
e428618f03
@ -1,238 +0,0 @@
|
||||
diff --git a/haskell/CROSSTOOL.windows b/haskell/CROSSTOOL.windows
|
||||
deleted file mode 100644
|
||||
index ae16776..0000000
|
||||
--- a/haskell/CROSSTOOL.windows
|
||||
+++ /dev/null
|
||||
@@ -1,49 +0,0 @@
|
||||
-major_version: "local"
|
||||
-minor_version: ""
|
||||
-
|
||||
-toolchain {
|
||||
- toolchain_identifier: "ghc_windows_mingw64"
|
||||
- abi_version: "local"
|
||||
- abi_libc_version: "local"
|
||||
- builtin_sysroot: ""
|
||||
- compiler: "ghc-mingw-gcc"
|
||||
- host_system_name: "local"
|
||||
- needsPic: false
|
||||
- target_libc: "mingw"
|
||||
- target_cpu: "x64_windows"
|
||||
- target_system_name: "local"
|
||||
-
|
||||
- artifact_name_pattern {
|
||||
- category_name: 'executable'
|
||||
- prefix: ''
|
||||
- extension: '.exe'
|
||||
- }
|
||||
-
|
||||
- tool_path { name: "ar" path: "mingw/bin/ar" }
|
||||
- tool_path { name: "compat-ld" path: "mingw/bin/ld" }
|
||||
- tool_path { name: "cpp" path: "mingw/bin/cpp" }
|
||||
- tool_path { name: "dwp" path: "mingw/bin/dwp" }
|
||||
- tool_path { name: "gcc" path: "mingw/bin/gcc" }
|
||||
- tool_path { name: "gcov" path: "mingw/bin/gcov" }
|
||||
- tool_path { name: "ld" path: "mingw/bin/ld" }
|
||||
- tool_path { name: "nm" path: "mingw/bin/nm" }
|
||||
- tool_path { name: "objcopy" path: "mingw/bin/objcopy" }
|
||||
- tool_path { name: "objdump" path: "mingw/bin/objdump" }
|
||||
- tool_path { name: "strip" path: "mingw/bin/strip" }
|
||||
- cxx_builtin_include_directory: "mingw"
|
||||
- cxx_flag: "-std=gnu++0x"
|
||||
-
|
||||
- # Needed to prevent Bazel from complaining about undeclared inclusions of
|
||||
- # MingW headers.
|
||||
- #
|
||||
- # See: https://github.com/bazelbuild/bazel/issues/4605
|
||||
- unfiltered_cxx_flag: "-no-canonical-prefixes"
|
||||
- unfiltered_cxx_flag: "-fno-canonical-system-headers"
|
||||
-
|
||||
- linker_flag: "-lstdc++"
|
||||
- objcopy_embed_flag: "-I"
|
||||
- objcopy_embed_flag: "binary"
|
||||
- feature { name: "targets_windows" implies: "copy_dynamic_libraries_to_binary" enabled: true }
|
||||
- feature { name: "copy_dynamic_libraries_to_binary" }
|
||||
- linking_mode_flags { mode: DYNAMIC }
|
||||
-}
|
||||
diff --git a/haskell/cc_toolchain_config.bzl b/haskell/cc_toolchain_config.bzl
|
||||
new file mode 100644
|
||||
index 0000000..cb6b9c0
|
||||
--- /dev/null
|
||||
+++ b/haskell/cc_toolchain_config.bzl
|
||||
@@ -0,0 +1,107 @@
|
||||
+load(
|
||||
+ "@bazel_tools//tools/build_defs/cc:action_names.bzl",
|
||||
+ "ACTION_NAMES",
|
||||
+)
|
||||
+load(
|
||||
+ "@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
|
||||
+ "artifact_name_pattern",
|
||||
+ "feature",
|
||||
+ "flag_group",
|
||||
+ "flag_set",
|
||||
+ "tool_path",
|
||||
+)
|
||||
+
|
||||
+def _impl(ctx):
|
||||
+ tool_paths = [
|
||||
+ tool_path(
|
||||
+ name = "ar",
|
||||
+ path = "mingw/bin/ar",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "compat-ld",
|
||||
+ path = "mingw/bin/ld",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "cpp",
|
||||
+ path = "mingw/bin/cpp",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "dwp",
|
||||
+ path = "mingw/bin/dwp",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "gcc",
|
||||
+ path = "mingw/bin/gcc",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "gcov",
|
||||
+ path = "mingw/bin/gcov",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "ld",
|
||||
+ path = "mingw/bin/ld",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "nm",
|
||||
+ path = "mingw/bin/nm",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "objcopy",
|
||||
+ path = "mingw/bin/objcopy",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "objdump",
|
||||
+ path = "mingw/bin/objdump",
|
||||
+ ),
|
||||
+ tool_path(
|
||||
+ name = "strip",
|
||||
+ path = "mingw/bin/strip",
|
||||
+ ),
|
||||
+ ]
|
||||
+ artifact_name_patterns = [
|
||||
+ artifact_name_pattern(
|
||||
+ category_name = "executable",
|
||||
+ prefix = "",
|
||||
+ extension = ".exe",
|
||||
+ ),
|
||||
+ ]
|
||||
+ default_link_flags_feature = feature(
|
||||
+ name = "default_link_flags",
|
||||
+ enabled = True,
|
||||
+ flag_sets = [
|
||||
+ flag_set(
|
||||
+ actions = [
|
||||
+ ACTION_NAMES.cpp_link_executable,
|
||||
+ ACTION_NAMES.cpp_link_dynamic_library,
|
||||
+ ACTION_NAMES.cpp_link_nodeps_dynamic_library,
|
||||
+ ],
|
||||
+ flag_groups = [
|
||||
+ flag_group(
|
||||
+ flags = [
|
||||
+ "-lstdc++",
|
||||
+ ],
|
||||
+ ),
|
||||
+ ],
|
||||
+ ),
|
||||
+ ],
|
||||
+ )
|
||||
+ return cc_common.create_cc_toolchain_config_info(
|
||||
+ ctx = ctx,
|
||||
+ toolchain_identifier = "ghc_windows_mingw64",
|
||||
+ host_system_name = "local",
|
||||
+ target_system_name = "local",
|
||||
+ target_cpu = "x64_windows",
|
||||
+ target_libc = "local",
|
||||
+ compiler = "ghc-mingw-gcc",
|
||||
+ abi_version = "local",
|
||||
+ abi_libc_version = "local",
|
||||
+ tool_paths = tool_paths,
|
||||
+ artifact_name_patterns = artifact_name_patterns,
|
||||
+ features = [default_link_flags_feature],
|
||||
+ )
|
||||
+
|
||||
+cc_toolchain_config = rule(
|
||||
+ implementation = _impl,
|
||||
+ attrs = {},
|
||||
+ provides = [CcToolchainConfigInfo],
|
||||
+)
|
||||
diff --git a/haskell/ghc.BUILD b/haskell/ghc.BUILD
|
||||
index 67a42b0..5c44e4f 100644
|
||||
--- a/haskell/ghc.BUILD
|
||||
+++ b/haskell/ghc.BUILD
|
||||
@@ -1,3 +1,5 @@
|
||||
+load("@io_tweag_rules_haskell//haskell:cc_toolchain_config.bzl", "cc_toolchain_config")
|
||||
+
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
filegroup(
|
||||
@@ -54,8 +56,8 @@ cc_library(
|
||||
# Expose embedded MinGW toolchain when on Windows.
|
||||
|
||||
filegroup(
|
||||
- name = "empty",
|
||||
- srcs = [],
|
||||
+ name = "mingw",
|
||||
+ srcs = glob(["mingw/**"]),
|
||||
)
|
||||
|
||||
cc_toolchain_suite(
|
||||
@@ -69,15 +71,20 @@ cc_toolchain_suite(
|
||||
# Keep in sync with @bazel_tools//cpp:cc-compiler-x64_windows definition.
|
||||
cc_toolchain(
|
||||
name = "cc-compiler-mingw64",
|
||||
- all_files = ":empty",
|
||||
- ar_files = ":empty",
|
||||
- as_files = ":empty",
|
||||
- compiler_files = ":empty",
|
||||
+ all_files = ":mingw",
|
||||
+ ar_files = ":mingw",
|
||||
+ as_files = ":mingw",
|
||||
+ compiler_files = ":mingw",
|
||||
cpu = "x64_windows",
|
||||
- dwp_files = ":empty",
|
||||
- linker_files = ":empty",
|
||||
- objcopy_files = ":empty",
|
||||
- strip_files = ":empty",
|
||||
+ dwp_files = ":mingw",
|
||||
+ dynamic_runtime_libs = [":mingw"],
|
||||
+ linker_files = ":mingw",
|
||||
+ objcopy_files = ":mingw",
|
||||
+ static_runtime_libs = [":mingw"],
|
||||
+ strip_files = ":mingw",
|
||||
supports_param_files = 0,
|
||||
+ toolchain_config = ":ghc_windows_mingw64_config",
|
||||
toolchain_identifier = "ghc_windows_mingw64",
|
||||
)
|
||||
+
|
||||
+cc_toolchain_config(name = "ghc_windows_mingw64_config")
|
||||
diff --git a/haskell/ghc_bindist.bzl b/haskell/ghc_bindist.bzl
|
||||
index 7766239..af55a1f 100644
|
||||
--- a/haskell/ghc_bindist.bzl
|
||||
+++ b/haskell/ghc_bindist.bzl
|
||||
@@ -182,7 +182,6 @@ def _ghc_bindist_impl(ctx):
|
||||
# Avoid rule restart by resolving these labels early. See
|
||||
# https://github.com/bazelbuild/bazel/blob/master/tools/cpp/lib_cc_configure.bzl#L17.
|
||||
ghc_build = ctx.path(Label("//haskell:ghc.BUILD"))
|
||||
- crosstool_windows = ctx.path(Label("//haskell:CROSSTOOL.windows"))
|
||||
|
||||
version = ctx.attr.version
|
||||
target = ctx.attr.target
|
||||
@@ -230,7 +229,6 @@ grep -lZ {bindist_dir} bin/* | xargs -0 --verbose \\
|
||||
ghc_build,
|
||||
executable = False,
|
||||
)
|
||||
- ctx.template("CROSSTOOL", crosstool_windows, executable = False)
|
||||
|
||||
_ghc_bindist = repository_rule(
|
||||
_ghc_bindist_impl,
|
@ -1,121 +0,0 @@
|
||||
diff --git a/haskell/haskell.bzl b/haskell/haskell.bzl
|
||||
index 61994e4..7b05a9c 100644
|
||||
--- a/haskell/haskell.bzl
|
||||
+++ b/haskell/haskell.bzl
|
||||
@@ -243,6 +243,11 @@ haskell_library = rule(
|
||||
default = False,
|
||||
doc = "Create a static library, not both a static and a shared library.",
|
||||
),
|
||||
+ package_name = attr.string(
|
||||
+ doc = """Library name used in version macro generation. Only used
|
||||
+ if the version attribute is defined, see version attribute
|
||||
+ documentation. Optional, defaults to target name.""",
|
||||
+ ),
|
||||
version = attr.string(
|
||||
doc = """Library version. Not normally necessary unless to build a library
|
||||
originally defined as a Cabal package. If this is specified, CPP version macro will be generated.""",
|
||||
diff --git a/haskell/private/actions/package.bzl b/haskell/private/actions/package.bzl
|
||||
index 1c438e8..bdcdfdd 100644
|
||||
--- a/haskell/private/actions/package.bzl
|
||||
+++ b/haskell/private/actions/package.bzl
|
||||
@@ -81,7 +81,7 @@ def package(
|
||||
(extra_lib_dirs, extra_libs) = _get_extra_libraries(dep_info)
|
||||
|
||||
metadata_entries = {
|
||||
- "name": my_pkg_id.name,
|
||||
+ "name": my_pkg_id.package_name,
|
||||
"version": my_pkg_id.version,
|
||||
"id": pkg_id.to_string(my_pkg_id),
|
||||
"key": pkg_id.to_string(my_pkg_id),
|
||||
diff --git a/haskell/private/haskell_impl.bzl b/haskell/private/haskell_impl.bzl
|
||||
index 2f107a3..e2db3f5 100644
|
||||
--- a/haskell/private/haskell_impl.bzl
|
||||
+++ b/haskell/private/haskell_impl.bzl
|
||||
@@ -313,8 +313,9 @@ def haskell_library_impl(ctx):
|
||||
ctx,
|
||||
[dep for plugin in ctx.attr.plugins for dep in plugin[GhcPluginInfo].deps],
|
||||
)
|
||||
- version = ctx.attr.version if ctx.attr.version else None
|
||||
- my_pkg_id = pkg_id.new(ctx.label, version)
|
||||
+ package_name = getattr(ctx.attr, "package_name", None)
|
||||
+ version = getattr(ctx.attr, "version", None)
|
||||
+ my_pkg_id = pkg_id.new(ctx.label, package_name, version)
|
||||
with_profiling = is_profiling_enabled(hs)
|
||||
with_shared = False if hs.toolchain.is_windows else not ctx.attr.linkstatic
|
||||
|
||||
@@ -445,7 +446,7 @@ def haskell_library_impl(ctx):
|
||||
version_macros = set.empty()
|
||||
if version != None:
|
||||
version_macros = set.singleton(
|
||||
- generate_version_macros(ctx, hs.name, version),
|
||||
+ generate_version_macros(ctx, getattr(ctx.attr, "package_name", hs.name), version),
|
||||
)
|
||||
|
||||
hs_info = HaskellInfo(
|
||||
diff --git a/haskell/private/pkg_id.bzl b/haskell/private/pkg_id.bzl
|
||||
index 0a3c5fa..a7cbec1 100644
|
||||
--- a/haskell/private/pkg_id.bzl
|
||||
+++ b/haskell/private/pkg_id.bzl
|
||||
@@ -27,7 +27,7 @@ def _to_string(my_pkg_id):
|
||||
),
|
||||
)
|
||||
|
||||
-def _new(label, version = None):
|
||||
+def _new(label, package_name = None, version = None):
|
||||
"""Create a new package identifier.
|
||||
|
||||
Package identifiers should be globally unique. This is why we use
|
||||
@@ -35,15 +35,18 @@ def _new(label, version = None):
|
||||
|
||||
Args:
|
||||
label: The label of the rule declaring the package.
|
||||
+ package_name: an optional override of the package name.
|
||||
version: an optional version annotation.
|
||||
|
||||
Returns:
|
||||
string: GHC package ID to use.
|
||||
|
||||
"""
|
||||
+ name = label.name.replace("_", "-")
|
||||
return struct(
|
||||
label = label,
|
||||
- name = label.name.replace("_", "-"),
|
||||
+ name = name,
|
||||
+ package_name = package_name if package_name else name,
|
||||
version = version,
|
||||
)
|
||||
|
||||
diff --git a/haskell/private/version_macros.bzl b/haskell/private/version_macros.bzl
|
||||
index 35f913f..dbdcbb5 100644
|
||||
--- a/haskell/private/version_macros.bzl
|
||||
+++ b/haskell/private/version_macros.bzl
|
||||
@@ -1,17 +1,17 @@
|
||||
load(":private/set.bzl", "set")
|
||||
|
||||
-def generate_version_macros(ctx, name, version):
|
||||
+def generate_version_macros(ctx, pkg_name, version):
|
||||
"""Generate a version macros header file.
|
||||
|
||||
Args:
|
||||
ctx: Rule context. Needs to define a _version_macros executable attribute.
|
||||
- name: The package name.
|
||||
+ pkg_name: The package name.
|
||||
version: The package version.
|
||||
|
||||
Returns:
|
||||
Version macros header File.
|
||||
"""
|
||||
- version_macros_file = ctx.actions.declare_file("{}_version_macros.h".format(name))
|
||||
+ version_macros_file = ctx.actions.declare_file("{}_version_macros.h".format(ctx.attr.name))
|
||||
ctx.actions.run_shell(
|
||||
inputs = [ctx.executable._version_macros],
|
||||
outputs = [version_macros_file],
|
||||
@@ -20,7 +20,7 @@ def generate_version_macros(ctx, name, version):
|
||||
""",
|
||||
arguments = [
|
||||
ctx.executable._version_macros.path,
|
||||
- name,
|
||||
+ pkg_name,
|
||||
version,
|
||||
version_macros_file.path,
|
||||
],
|
@ -1,13 +0,0 @@
|
||||
diff --git a/hazel/third_party/haskell/BUILD.zlib b/hazel/third_party/haskell/BUILD.zlib
|
||||
index 623ecd5..a992510 100644
|
||||
--- a/hazel/third_party/haskell/BUILD.zlib
|
||||
+++ b/hazel/third_party/haskell/BUILD.zlib
|
||||
@@ -10,7 +10,7 @@ cc_library(
|
||||
name = "zlib-cbits",
|
||||
hdrs = glob(["cbits/*.h"]),
|
||||
srcs = glob(["cbits/*.c"]),
|
||||
- strip_include_prefix = "cbits",
|
||||
+ includes = ["cbits"],
|
||||
)
|
||||
|
||||
haskell_library(
|
@ -1,207 +0,0 @@
|
||||
diff --git a/hazel/hazel_base_repository/cabal2bazel.hs b/hazel/hazel_base_repository/cabal2bazel.hs
|
||||
index 282bb71..7723f0e 100644
|
||||
--- a/hazel/hazel_base_repository/cabal2bazel.hs
|
||||
+++ b/hazel/hazel_base_repository/cabal2bazel.hs
|
||||
@@ -13,23 +13,18 @@ module Main (main) where
|
||||
|
||||
#if MIN_VERSION_Cabal(2,2,0)
|
||||
import Distribution.PackageDescription.Parsec
|
||||
- (readGenericPackageDescription, parseHookedBuildInfo, runParseResult)
|
||||
-import qualified Data.ByteString.Char8 as BS.C8
|
||||
+ (readGenericPackageDescription)
|
||||
#else
|
||||
import Distribution.PackageDescription.Parse
|
||||
- (readGenericPackageDescription, parseHookedBuildInfo, ParseResult(..))
|
||||
+ (readGenericPackageDescription)
|
||||
#endif
|
||||
|
||||
-import Distribution.Text (display, simpleParse)
|
||||
+import Distribution.Text (simpleParse)
|
||||
import Distribution.Verbosity (normal)
|
||||
import System.Environment (getArgs)
|
||||
-import System.FilePath ((<.>))
|
||||
-import System.Process (callProcess)
|
||||
|
||||
import qualified Data.Map.Strict as Map
|
||||
-import qualified Distribution.Package as P
|
||||
import qualified Distribution.PackageDescription as P
|
||||
-import qualified System.Directory as Directory
|
||||
|
||||
import Description
|
||||
import Flatten
|
||||
@@ -43,7 +38,7 @@ main = do
|
||||
Nothing -> error $ "Error parsing ghc version: " ++ show ghcVersionStr
|
||||
Just v -> v
|
||||
packageFlags = parseFlags flagArgs
|
||||
- desc <- maybeConfigure $ flattenToDefaultFlags ghcVersion packageFlags gdesc
|
||||
+ desc = flattenToDefaultFlags ghcVersion packageFlags gdesc
|
||||
writeFile outFile $ show $ renderStatements
|
||||
[Assign "package" $ packageDescriptionExpr desc]
|
||||
|
||||
@@ -52,37 +47,3 @@ parseFlags = \case
|
||||
"-flag-on":flag:etc -> Map.insert (P.mkFlagName flag) True (parseFlags etc)
|
||||
"-flag-off":flag:etc -> Map.insert (P.mkFlagName flag) False (parseFlags etc)
|
||||
_ -> Map.empty
|
||||
-
|
||||
-maybeConfigure :: P.PackageDescription -> IO P.PackageDescription
|
||||
-maybeConfigure desc = whenConfiguring $ do
|
||||
- callProcess "./configure" []
|
||||
- let buildInfoFile = display (P.packageName desc) <.> "buildinfo"
|
||||
- buildInfoExists <- Directory.doesFileExist buildInfoFile
|
||||
- if buildInfoExists
|
||||
- then processBuildInfoFile buildInfoFile
|
||||
- else return desc
|
||||
- where
|
||||
-#if MIN_VERSION_Cabal(2,2,0)
|
||||
- whenConfiguring m = case P.buildType desc of
|
||||
- P.Configure -> m
|
||||
- _ -> return desc
|
||||
-
|
||||
- processBuildInfoFile buildInfoFile = do
|
||||
- cs <- BS.C8.readFile buildInfoFile
|
||||
- case runParseResult (parseHookedBuildInfo cs) of
|
||||
- (_warnings, Left (_maybeVersion, es)) ->
|
||||
- error $ "Error reading buildinfo " ++ show buildInfoFile ++ ": " ++ show es
|
||||
- (_warnings, Right hookedBI) ->
|
||||
- return $ P.updatePackageDescription hookedBI desc
|
||||
-#else
|
||||
- whenConfiguring m = case P.buildType desc of
|
||||
- Just P.Configure -> m
|
||||
- _ -> return desc
|
||||
-
|
||||
- processBuildInfoFile buildInfoFile = do
|
||||
- cs <- readFile buildInfoFile
|
||||
- case parseHookedBuildInfo cs of
|
||||
- ParseFailed e -> error $ "Error reading buildinfo " ++ show buildInfoFile
|
||||
- ++ ": " ++ show e
|
||||
- ParseOk _ hookedBI -> return $ P.updatePackageDescription hookedBI desc
|
||||
-#endif
|
||||
diff --git a/hazel/third_party/cabal2bazel/bzl/cabal_package.bzl b/hazel/third_party/cabal2bazel/bzl/cabal_package.bzl
|
||||
index 16d5c3b..50a9890 100644
|
||||
--- a/hazel/third_party/cabal2bazel/bzl/cabal_package.bzl
|
||||
+++ b/hazel/third_party/cabal2bazel/bzl/cabal_package.bzl
|
||||
@@ -71,6 +71,44 @@ def _get_core_dependency_includes(ghc_workspace):
|
||||
"unix": "{}//:unix-includes".format(ghc_workspace),
|
||||
}
|
||||
|
||||
+# Some packages, such as network, include the config.log and config.status
|
||||
+# files, generated by the ./configure script, in their extraTmpFiles. These
|
||||
+# files contain information specific to the build host, which defeates
|
||||
+# distributed caching. Here we black-list any such files and exclude them
|
||||
+# from the headers attribute to cc_library.
|
||||
+_header_blacklist = [
|
||||
+ "autom4te.cache",
|
||||
+ "config.log",
|
||||
+ "config.status",
|
||||
+]
|
||||
+
|
||||
+def _configure(desc):
|
||||
+ outputs = [
|
||||
+ f
|
||||
+ for f in desc.extraTmpFiles
|
||||
+ if f.split("/")[-1] not in _header_blacklist
|
||||
+ ]
|
||||
+ native.genrule(
|
||||
+ name = "run-configure",
|
||||
+ cmd = '\n'.join([
|
||||
+ # Run configure in it's containing directory, so that generated
|
||||
+ # files are in the right location. Fixup a relative path to CC to
|
||||
+ # take the new working directory into account (relative paths
|
||||
+ # remain relative).
|
||||
+ '( UP="$$(sed \'s/[^\\/]\\+/../g\' <<<"$$(dirname "$(location configure)")")" && \\',
|
||||
+ ' fixpath() { case "$$1" in /*) echo "$$1" ;; *) echo "$$UP/$$1" ;; esac; } && \\',
|
||||
+ ' cd "$$(dirname "$(location configure)")" && \\',
|
||||
+ ' PATH="$$(fixpath "$$(dirname "$(CC)")"):$$PATH" CC="$$(fixpath "$(CC)")" CFLAGS="$(CC_FLAGS)" ./configure )',
|
||||
+ ] + [
|
||||
+ 'mkdir -p $$(dirname $(location {out})) && cp $(rootpath {out}) $(location {out})'.format(out = out)
|
||||
+ for out in outputs
|
||||
+ ]),
|
||||
+ tools = ["configure"],
|
||||
+ toolchains = ["@bazel_tools//tools/cpp:current_cc_toolchain"],
|
||||
+ srcs = native.glob(["**"], exclude=outputs),
|
||||
+ outs = outputs,
|
||||
+ )
|
||||
+
|
||||
def _paths_module(desc):
|
||||
return "Paths_" + desc.package.pkgName.replace("-", "_")
|
||||
|
||||
@@ -389,23 +427,17 @@ def _get_build_attrs(
|
||||
)
|
||||
globbed_headers = native.glob([
|
||||
paths.normalize(f)
|
||||
- for f in desc.extraSrcFiles + desc.extraTmpFiles
|
||||
- ])
|
||||
-
|
||||
- # Some packages, such as network, include the config.log and config.status
|
||||
- # files, generated by the ./configure script, in their extraTmpFiles. These
|
||||
- # files contain information specific to the build host, which defeates
|
||||
- # distributed caching. Here we black-list any such files and exclude them
|
||||
- # from the headers attribute to cc_library.
|
||||
- header_blacklist = [
|
||||
- "config.log",
|
||||
- "config.status",
|
||||
+ for f in desc.extraSrcFiles
|
||||
+ ]) + [
|
||||
+ paths.normalize(f)
|
||||
+ for f in desc.extraTmpFiles
|
||||
]
|
||||
+
|
||||
headers = depset(
|
||||
[
|
||||
hdr
|
||||
for hdr in globbed_headers
|
||||
- if hdr.split("/")[-1] not in header_blacklist
|
||||
+ if hdr.split("/")[-1] not in _header_blacklist
|
||||
] +
|
||||
install_includes,
|
||||
)
|
||||
@@ -483,6 +515,9 @@ def cabal_haskell_package(
|
||||
"""
|
||||
name = description.package.pkgName
|
||||
|
||||
+ if description.buildTypeRaw == "Configure":
|
||||
+ _configure(description)
|
||||
+
|
||||
cabal_paths(
|
||||
name = _paths_module(description),
|
||||
package = name.replace("-", "_"),
|
||||
diff --git a/hazel/third_party/haskell/network.patch b/hazel/third_party/haskell/network.patch
|
||||
new file mode 100644
|
||||
index 0000000..fe9551d
|
||||
--- /dev/null
|
||||
+++ b/hazel/third_party/haskell/network.patch
|
||||
@@ -0,0 +1,22 @@
|
||||
+--- network.cabal.orig 2019-04-30 16:22:51.017832083 +0200
|
||||
++++ network.cabal 2019-04-30 16:33:48.037415801 +0200
|
||||
+@@ -71,8 +71,19 @@
|
||||
+ includes: HsNet.h HsNetDef.h
|
||||
+ install-includes: HsNet.h HsNetDef.h
|
||||
+ c-sources: cbits/HsNet.c
|
||||
++
|
||||
++ if os(windows)
|
||||
++ c-sources: cbits/initWinSock.c cbits/winSockErr.c cbits/asyncAccept.c
|
||||
++ else
|
||||
++ c-sources: cbits/ancilData.c
|
||||
++
|
||||
+ ghc-options: -Wall -fwarn-tabs
|
||||
+
|
||||
++ if !os(windows)
|
||||
++ ghc-options: -D_GNU_SOURCE
|
||||
++ ghc-prof-options: -D_GNU_SOURCE
|
||||
++ cc-options: -D_GNU_SOURCE
|
||||
++
|
||||
+ test-suite spec
|
||||
+ hs-source-dirs: tests
|
||||
+ main-is: Spec.hs
|
||||
diff --git a/hazel/workspace.bzl b/hazel/workspace.bzl
|
||||
index 936b352..707fb37 100644
|
||||
--- a/hazel/workspace.bzl
|
||||
+++ b/hazel/workspace.bzl
|
||||
@@ -101,6 +101,7 @@ cc_library(
|
||||
pkgs = packages,
|
||||
extra_pkgs = {
|
||||
"unix-time": {"version": "0.4.5", "sha256": "fe7805c62ad682589567afeee265e6e230170c3941cdce479a2318d1c5088faf"},
|
||||
+ "network": {"version": "2.8.0.0", "sha256": "c8905268b7e3b4cf624a40245bf11b35274a6dd836a5d4d531b5760075645303", "patches": ["@ai_formation_hazel//third_party/haskell:network.patch"]},
|
||||
},
|
||||
),
|
||||
core_packages = core_packages,
|
@ -1,395 +0,0 @@
|
||||
diff --git a/hazel/hazel.bzl b/hazel/hazel.bzl
|
||||
index 964a304..e7e5f73 100644
|
||||
--- a/hazel/hazel.bzl
|
||||
+++ b/hazel/hazel.bzl
|
||||
@@ -56,7 +56,7 @@ def _core_library_repository_impl(ctx):
|
||||
content = """
|
||||
load("@io_tweag_rules_haskell//haskell:haskell.bzl", "haskell_toolchain_library")
|
||||
haskell_toolchain_library(
|
||||
- name = "{pkg}",
|
||||
+ name = "lib",
|
||||
package = "{pkg}",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
@@ -136,7 +136,7 @@ def hazel_repositories(
|
||||
external dependencies corresponding to the given packages:
|
||||
- @hazel_base_repository: The compiled "hazel" Haskell binary, along with
|
||||
support files.
|
||||
- - @haskell_{package}_{hash}: A build of the given Cabal package, one per entry
|
||||
+ - @haskell_{package}: A build of the given Cabal package, one per entry
|
||||
of the "packages" argument. (Note that Bazel only builds these
|
||||
on-demand when needed by other rules.) This repository automatically
|
||||
downloads the package's Cabal distribution from Hackage and parses the
|
||||
diff --git a/hazel/third_party/cabal2bazel/bzl/cabal_package.bzl b/hazel/third_party/cabal2bazel/bzl/cabal_package.bzl
|
||||
index 16d5c3b..348302e 100644
|
||||
--- a/hazel/third_party/cabal2bazel/bzl/cabal_package.bzl
|
||||
+++ b/hazel/third_party/cabal2bazel/bzl/cabal_package.bzl
|
||||
@@ -71,6 +71,8 @@ def _get_core_dependency_includes(ghc_workspace):
|
||||
"unix": "{}//:unix-includes".format(ghc_workspace),
|
||||
}
|
||||
|
||||
+_lib_name = "lib"
|
||||
+
|
||||
def _paths_module(desc):
|
||||
return "Paths_" + desc.package.pkgName.replace("-", "_")
|
||||
|
||||
@@ -238,12 +240,25 @@ def _get_build_attrs(
|
||||
# build_files will contain a list of all files in the build directory.
|
||||
build_files = []
|
||||
|
||||
- clib_name = name + "-cbits"
|
||||
generated_modules = [_paths_module(desc)]
|
||||
|
||||
# Keep track of chs modules, as later chs modules may depend on earlier ones.
|
||||
chs_targets = []
|
||||
|
||||
+ # XXX: We would like to also shorten the library components cbits' name to
|
||||
+ # 'cbits'. However, on Windows, where we only create static libraries, no
|
||||
+ # dynamic libraries, this causes name clashes. Bazel does not mangle static
|
||||
+ # library names, only dynamic library names. If a dynamic library is
|
||||
+ # present, then rules_haskell will mangle the static library the same, so
|
||||
+ # that one entry in the package configuration file's extra-libraries
|
||||
+ # section covers both static and dynamic libraries. However, if no dynamic
|
||||
+ # library is present, then no such mangling is performed. The
|
||||
+ # extra-libraries field will then hold only one 'cbits' entry which can be
|
||||
+ # ambiguous if the target depends on multuple cbits.
|
||||
+ cbits_name = name + "-cbits"
|
||||
+ if name == _lib_name:
|
||||
+ cbits_name = desc.package.pkgName + "-cbits"
|
||||
+
|
||||
for module in build_info.otherModules + extra_modules:
|
||||
if module in generated_modules:
|
||||
continue
|
||||
@@ -266,7 +281,7 @@ def _get_build_attrs(
|
||||
boot_module_map[module] = boot_out
|
||||
build_files.append(boot_out)
|
||||
elif info.type in ["chs"]:
|
||||
- chs_name = name + "-" + module + "-chs"
|
||||
+ chs_name = module + "-chs"
|
||||
module_map[module] = chs_name
|
||||
build_files.append(info.src)
|
||||
c2hs_library(
|
||||
@@ -274,7 +289,7 @@ def _get_build_attrs(
|
||||
srcs = [info.src],
|
||||
deps = (
|
||||
_get_extra_libs(build_info.extraLibs, extra_libs) +
|
||||
- [clib_name] +
|
||||
+ [cbits_name] +
|
||||
chs_targets
|
||||
),
|
||||
)
|
||||
@@ -326,7 +341,7 @@ def _get_build_attrs(
|
||||
for m in (extra_modules_dict.get(condition, []) +
|
||||
other_modules_dict.get(condition, [])):
|
||||
if m == paths_module:
|
||||
- deps[condition] += [":" + paths_module]
|
||||
+ deps[condition] += [":paths"]
|
||||
elif m in module_map:
|
||||
srcs[condition] += [module_map[m]]
|
||||
|
||||
@@ -411,7 +426,7 @@ def _get_build_attrs(
|
||||
)
|
||||
ghcopts += ["-I" + native.package_name() + "/" + d for d in build_info.includeDirs]
|
||||
for xs in deps.values():
|
||||
- xs.append(":" + clib_name)
|
||||
+ xs.append(cbits_name)
|
||||
|
||||
ghc_version_components = ghc_version.split(".")
|
||||
if len(ghc_version_components) != 3:
|
||||
@@ -426,7 +441,7 @@ def _get_build_attrs(
|
||||
elibs_targets = _get_extra_libs(build_info.extraLibs, extra_libs)
|
||||
|
||||
native.cc_library(
|
||||
- name = clib_name,
|
||||
+ name = cbits_name,
|
||||
srcs = build_info.cSources,
|
||||
includes = build_info.includeDirs,
|
||||
copts = ([o for o in build_info.ccOptions if not o.startswith("-D")] +
|
||||
@@ -484,7 +499,7 @@ def cabal_haskell_package(
|
||||
name = description.package.pkgName
|
||||
|
||||
cabal_paths(
|
||||
- name = _paths_module(description),
|
||||
+ name = "paths",
|
||||
package = name.replace("-", "_"),
|
||||
version = [int(v) for v in description.package.pkgVersion.split(".")],
|
||||
data_dir = description.dataDir,
|
||||
@@ -492,51 +507,54 @@ def cabal_haskell_package(
|
||||
)
|
||||
|
||||
lib = description.library
|
||||
- if lib and lib.libBuildInfo.buildable:
|
||||
- if not lib.exposedModules:
|
||||
- native.cc_library(
|
||||
- name = name,
|
||||
- visibility = ["//visibility:public"],
|
||||
- linkstatic = select({
|
||||
- "@bazel_tools//src/conditions:windows": True,
|
||||
- "//conditions:default": False,
|
||||
- }),
|
||||
- )
|
||||
- native.cc_library(
|
||||
- name = name + "-cbits",
|
||||
- visibility = ["//visibility:public"],
|
||||
- linkstatic = select({
|
||||
- "@bazel_tools//src/conditions:windows": True,
|
||||
- "//conditions:default": False,
|
||||
- }),
|
||||
- )
|
||||
- else:
|
||||
- lib_attrs = _get_build_attrs(
|
||||
- name,
|
||||
- lib.libBuildInfo,
|
||||
- description,
|
||||
- "dist/build",
|
||||
- lib.exposedModules,
|
||||
- ghc_version,
|
||||
- ghc_workspace,
|
||||
- extra_libs,
|
||||
- )
|
||||
- srcs = lib_attrs.pop("srcs")
|
||||
- deps = lib_attrs.pop("deps")
|
||||
+ if lib and lib.libBuildInfo.buildable and lib.exposedModules:
|
||||
+ lib_attrs = _get_build_attrs(
|
||||
+ _lib_name,
|
||||
+ lib.libBuildInfo,
|
||||
+ description,
|
||||
+ "dist/build",
|
||||
+ lib.exposedModules,
|
||||
+ ghc_version,
|
||||
+ ghc_workspace,
|
||||
+ extra_libs,
|
||||
+ )
|
||||
+ srcs = lib_attrs.pop("srcs")
|
||||
+ deps = lib_attrs.pop("deps")
|
||||
|
||||
- elibs_targets = _get_extra_libs(lib.libBuildInfo.extraLibs, extra_libs)
|
||||
+ elibs_targets = _get_extra_libs(lib.libBuildInfo.extraLibs, extra_libs)
|
||||
|
||||
- hidden_modules = [m for m in lib.libBuildInfo.otherModules if not m.startswith("Paths_")]
|
||||
+ hidden_modules = [m for m in lib.libBuildInfo.otherModules if not m.startswith("Paths_")]
|
||||
|
||||
- haskell_library(
|
||||
- name = name,
|
||||
- srcs = select(srcs),
|
||||
- hidden_modules = hidden_modules,
|
||||
- version = description.package.pkgVersion,
|
||||
- deps = select(deps) + elibs_targets,
|
||||
- visibility = ["//visibility:public"],
|
||||
- **lib_attrs
|
||||
- )
|
||||
+ haskell_library(
|
||||
+ name = _lib_name,
|
||||
+ srcs = select(srcs),
|
||||
+ hidden_modules = hidden_modules,
|
||||
+ package_name = description.package.pkgName,
|
||||
+ version = description.package.pkgVersion,
|
||||
+ deps = select(deps) + elibs_targets,
|
||||
+ visibility = ["//visibility:public"],
|
||||
+ **lib_attrs
|
||||
+ )
|
||||
+ else:
|
||||
+ # No exposed library modules. Generate an empty dummy library target.
|
||||
+ native.cc_library(
|
||||
+ name = _lib_name,
|
||||
+ visibility = ["//visibility:public"],
|
||||
+ linkstatic = select({
|
||||
+ "@bazel_tools//src/conditions:windows": True,
|
||||
+ "//conditions:default": False,
|
||||
+ }),
|
||||
+ )
|
||||
+
|
||||
+ # No exposed library modules. Generate an empty dummy cbits target.
|
||||
+ native.cc_library(
|
||||
+ name = name + "-cbits",
|
||||
+ visibility = ["//visibility:public"],
|
||||
+ linkstatic = select({
|
||||
+ "@bazel_tools//src/conditions:windows": True,
|
||||
+ "//conditions:default": False,
|
||||
+ }),
|
||||
+ )
|
||||
|
||||
for exe in description.executables:
|
||||
if not exe.buildInfo.buildable:
|
||||
@@ -546,7 +564,7 @@ def cabal_haskell_package(
|
||||
# Avoid a name clash with the library. For stability, make this logic
|
||||
# independent of whether the package actually contains a library.
|
||||
if exe_name == name:
|
||||
- exe_name = name + "_bin"
|
||||
+ exe_name = "bin"
|
||||
paths_mod = _paths_module(description)
|
||||
attrs = _get_build_attrs(
|
||||
exe_name,
|
||||
diff --git a/hazel/third_party/haskell/BUILD.conduit b/hazel/third_party/haskell/BUILD.conduit
|
||||
index a1213b6..a116b54 100644
|
||||
--- a/hazel/third_party/haskell/BUILD.conduit
|
||||
+++ b/hazel/third_party/haskell/BUILD.conduit
|
||||
@@ -7,7 +7,7 @@ load("@ai_formation_hazel//tools:mangling.bzl", "hazel_library")
|
||||
load("@ai_formation_hazel//:tools/mangling.bzl", "hazel_workspace")
|
||||
|
||||
haskell_library(
|
||||
- name = "conduit",
|
||||
+ name = "lib",
|
||||
srcs = glob([
|
||||
"Data/*.hs",
|
||||
"Data/**/*.hs",
|
||||
@@ -31,6 +31,7 @@ haskell_library(
|
||||
hazel_library("transformers-compat"),
|
||||
hazel_library("vector"),
|
||||
],
|
||||
+ package_name = "conduit",
|
||||
version = "1.2.13.1",
|
||||
)
|
||||
|
||||
diff --git a/hazel/third_party/haskell/BUILD.ghc-paths b/hazel/third_party/haskell/BUILD.ghc-paths
|
||||
index 49aab10..cf5e39f 100644
|
||||
--- a/hazel/third_party/haskell/BUILD.ghc-paths
|
||||
+++ b/hazel/third_party/haskell/BUILD.ghc-paths
|
||||
@@ -11,11 +11,13 @@ ghc_paths_module(
|
||||
name = "paths_module")
|
||||
|
||||
haskell_library(
|
||||
- name = "ghc-paths",
|
||||
+ name = "lib",
|
||||
srcs = [":paths_module"],
|
||||
deps = [
|
||||
hazel_library("base"),
|
||||
],
|
||||
+ package_name = "ghc-paths",
|
||||
+ version = "0.1.0.9",
|
||||
)
|
||||
|
||||
cc_import(
|
||||
diff --git a/hazel/third_party/haskell/BUILD.text-metrics b/hazel/third_party/haskell/BUILD.text-metrics
|
||||
index a86eef1..a20d513 100644
|
||||
--- a/hazel/third_party/haskell/BUILD.text-metrics
|
||||
+++ b/hazel/third_party/haskell/BUILD.text-metrics
|
||||
@@ -6,7 +6,7 @@ load("@io_tweag_rules_haskell//haskell:haskell.bzl",
|
||||
load("@ai_formation_hazel//:hazel.bzl", "hazel_library")
|
||||
|
||||
haskell_library(
|
||||
- name = "text-metrics",
|
||||
+ name = "lib",
|
||||
srcs = ["Data/Text/Metrics.hs"],
|
||||
deps = [
|
||||
hazel_library("base"),
|
||||
@@ -14,6 +14,7 @@ haskell_library(
|
||||
hazel_library("text"),
|
||||
hazel_library("vector"),
|
||||
],
|
||||
+ package_name = "text-metrics",
|
||||
version = "0.3.0",
|
||||
)
|
||||
|
||||
diff --git a/hazel/third_party/haskell/BUILD.vault b/hazel/third_party/haskell/BUILD.vault
|
||||
index 8967875..a4eb484 100644
|
||||
--- a/hazel/third_party/haskell/BUILD.vault
|
||||
+++ b/hazel/third_party/haskell/BUILD.vault
|
||||
@@ -4,7 +4,7 @@ load("@io_tweag_rules_haskell//haskell:haskell.bzl", "haskell_library")
|
||||
load("@ai_formation_hazel//:hazel.bzl", "hazel_library")
|
||||
|
||||
haskell_library(
|
||||
- name = "vault",
|
||||
+ name = "lib",
|
||||
srcs = [
|
||||
"src/Data/Unique/Really.hs",
|
||||
"src/Data/Vault/IO.h",
|
||||
@@ -29,6 +29,8 @@ haskell_library(
|
||||
hazel_library("semigroups"),
|
||||
hazel_library("unordered-containers"),
|
||||
],
|
||||
+ package_name = "vault",
|
||||
+ version = "0.3.1.1",
|
||||
)
|
||||
|
||||
cc_import(
|
||||
diff --git a/hazel/third_party/haskell/BUILD.wai-app-static b/hazel/third_party/haskell/BUILD.wai-app-static
|
||||
index 65edca1..4b90ae7 100644
|
||||
--- a/hazel/third_party/haskell/BUILD.wai-app-static
|
||||
+++ b/hazel/third_party/haskell/BUILD.wai-app-static
|
||||
@@ -4,7 +4,7 @@ load("@io_tweag_rules_haskell//haskell:haskell.bzl", "haskell_library")
|
||||
load("@ai_formation_hazel//:hazel.bzl", "hazel_library")
|
||||
|
||||
haskell_library(
|
||||
- name = "wai-app-static",
|
||||
+ name = "lib",
|
||||
srcs = glob([
|
||||
"Network/Wai/Application/Static.hs",
|
||||
"Util.hs",
|
||||
@@ -40,6 +40,7 @@ haskell_library(
|
||||
hazel_library("warp"),
|
||||
hazel_library("zlib"),
|
||||
],
|
||||
+ package_name = "wai-app-static",
|
||||
version = "3.1.6.2",
|
||||
)
|
||||
|
||||
diff --git a/hazel/third_party/haskell/BUILD.zlib b/hazel/third_party/haskell/BUILD.zlib
|
||||
index 623ecd5..9bc2eb0 100644
|
||||
--- a/hazel/third_party/haskell/BUILD.zlib
|
||||
+++ b/hazel/third_party/haskell/BUILD.zlib
|
||||
@@ -14,7 +14,7 @@ cc_library(
|
||||
)
|
||||
|
||||
haskell_library(
|
||||
- name = "zlib",
|
||||
+ name = "lib",
|
||||
srcs = glob([
|
||||
"Codec/Compression/*.hs",
|
||||
"Codec/Compression/Zlib/*.hs",
|
||||
@@ -26,4 +26,6 @@ haskell_library(
|
||||
hazel_library("bytestring"),
|
||||
hazel_library("ghc-prim"),
|
||||
],
|
||||
+ package_name = "zlib",
|
||||
+ version = "0.6.2",
|
||||
)
|
||||
diff --git a/hazel/third_party/haskell/BUILD.zlib-bindings b/hazel/third_party/haskell/BUILD.zlib-bindings
|
||||
index 5872eae..d70e991 100644
|
||||
--- a/hazel/third_party/haskell/BUILD.zlib-bindings
|
||||
+++ b/hazel/third_party/haskell/BUILD.zlib-bindings
|
||||
@@ -7,22 +7,24 @@ load("@io_tweag_rules_haskell//haskell:haskell.bzl",
|
||||
load("@ai_formation_hazel//:hazel.bzl", "hazel_library")
|
||||
|
||||
cc_library(
|
||||
- name = "cbits",
|
||||
+ name = "zlib-bindings-cbits",
|
||||
hdrs = glob(["cbits/*.h"]),
|
||||
srcs = glob(["cbits/*.c"]),
|
||||
strip_include_prefix = "cbits",
|
||||
)
|
||||
|
||||
haskell_library(
|
||||
- name = "zlib-bindings",
|
||||
+ name = "lib",
|
||||
srcs = glob([
|
||||
"Codec/Zlib.hs",
|
||||
"Codec/Zlib/Lowlevel.hs",
|
||||
]),
|
||||
deps = [
|
||||
- ":cbits",
|
||||
+ ":zlib-bindings-cbits",
|
||||
hazel_library("base"),
|
||||
hazel_library("bytestring"),
|
||||
hazel_library("zlib"),
|
||||
],
|
||||
+ package_name "zlib-bindings",
|
||||
+ version = "0.1.1.5",
|
||||
)
|
||||
diff --git a/hazel/tools/mangling.bzl b/hazel/tools/mangling.bzl
|
||||
index 26e2506..8b1817f 100644
|
||||
--- a/hazel/tools/mangling.bzl
|
||||
+++ b/hazel/tools/mangling.bzl
|
||||
@@ -1,10 +1,10 @@
|
||||
def hazel_library(package_name):
|
||||
"""Returns the label of the haskell_library rule for the given package."""
|
||||
- return "@{}//:{}".format(hazel_workspace(package_name), package_name)
|
||||
+ return "@{}//:lib".format(hazel_workspace(package_name))
|
||||
|
||||
def hazel_binary(package_name):
|
||||
"""Returns the label of the haskell_binary rule for the given package."""
|
||||
- return "@{}//:{}_bin".format(hazel_workspace(package_name), package_name)
|
||||
+ return "@{}//:bin".format(hazel_workspace(package_name))
|
||||
|
||||
def hazel_cbits(package_name):
|
||||
"""Returns the label of the cc_library rule for the given package."""
|
12
deps.bzl
12
deps.bzl
@ -27,8 +27,8 @@
|
||||
# be resolvable from external workspaces otherwise.
|
||||
|
||||
rules_scala_version = "78104d8014d4e4fc8f905cd34b91dfabd9a268c8"
|
||||
rules_haskell_version = "6c550c8eb7ce7950e702420be39d932b8b31ef22"
|
||||
rules_haskell_sha256 = "aef68cf5d732b2fa9ae0efea344cb83cb0c16f0f08a8d6901776a0085fbe7a8b"
|
||||
rules_haskell_version = "1d85570f2383e376e4b9406a0aa33961a2c0aece"
|
||||
rules_haskell_sha256 = "32accba7d598453c1f3be8af2c7532d325323ad20bda54166b0e8a69c51b92e8"
|
||||
rules_nixpkgs_version = "5ffb8a4ee9a52bc6bc12f95cd64ecbd82a79bc82"
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
@ -44,8 +44,6 @@ def daml_deps():
|
||||
"@com_github_digital_asset_daml//bazel_tools:haskell-static-linking.patch",
|
||||
"@com_github_digital_asset_daml//bazel_tools:haskell-package-env.patch",
|
||||
"@com_github_digital_asset_daml//bazel_tools:haskell-drop-fake-static.patch",
|
||||
"@com_github_digital_asset_daml//bazel_tools:haskell-short-names.patch",
|
||||
"@com_github_digital_asset_daml//bazel_tools:haskell-cc-toolchain.patch",
|
||||
],
|
||||
patch_args = ["-p1"],
|
||||
sha256 = rules_haskell_sha256,
|
||||
@ -64,12 +62,6 @@ def daml_deps():
|
||||
name = "ai_formation_hazel",
|
||||
strip_prefix = "rules_haskell-{}/hazel".format(rules_haskell_version),
|
||||
urls = ["https://github.com/tweag/rules_haskell/archive/%s.tar.gz" % rules_haskell_version],
|
||||
patches = [
|
||||
"@com_github_digital_asset_daml//bazel_tools:hazel-configure.patch",
|
||||
"@com_github_digital_asset_daml//bazel_tools:hazel-short-names.patch",
|
||||
"@com_github_digital_asset_daml//bazel_tools:hazel-cc-toolchain.patch",
|
||||
],
|
||||
patch_args = ["-p2"],
|
||||
sha256 = rules_haskell_sha256,
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user