Using bzlmod with Bazel 6
- Enable with
common --enable_bzlmod
in .bazelrc
.
- Add to your
MODULE.bazel
file:
bazel_dep(name = "rules_haskell", version = "0.17")
Using WORKSPACE
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_haskell",
sha256 = "298f6f0db23391274b4eca215daa01797d05699469048ef94540d5829b466377",
strip_prefix = "rules_haskell-0.17",
url = "https://github.com/tweag/rules_haskell/archive/refs/tags/v0.17.tar.gz",
)
Highlights
- Support Bazel's new "bzlmod" dependency system
- Support GHC 9.2.x and 9.4.x
Changed
- The minimum supported Bazel version is now 6.0.
- IDE support : Output absolute paths in hie-bios flags (See #1862)
haskell_repl
now defines an extra runable target name@bios
that outputs the hie-bios flags.
hie_bios_path_prefix
attribute for haskell_repl
is a no-op now that we use absolute paths.
build_bazel_rules_nodejs
dependency is replaced by rules_js
which induces some changes to the experimental Asterius support (See [#1884]).
- Replace use of
exec_tools
with semantically-identical tools
(see #1925)
- GHC 9.2 and 9.4 are supported and tested, older GHC releases only supported on a best effort basis (see #1878)
Fixed
- Make the flags passed to Stack match Cabal (see #1913)
- Fix include directories passed to hsc2hs (see #1922)
Added
- Add support for Bazel 6
- Add support for bzlmod (see #1864)
- The provided
cc_toolchain
used for windows can now be used with --incompatible_enable_cc_toolchain_resolution
so using the crosstool_top
option is no longer necessary.
- Add support for GHC 9.2.5 (see [#1869])
- Add support for GHC 9.4.5 (linux, macOS) and GHC 9.6.1 (see #1890)
Removed
- Remove support for Bazel 4