about summary refs log tree commit diff
path: root/third_party/bazel/rules_haskell/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/bazel/rules_haskell/CHANGELOG.md')
-rw-r--r--third_party/bazel/rules_haskell/CHANGELOG.md461
1 files changed, 0 insertions, 461 deletions
diff --git a/third_party/bazel/rules_haskell/CHANGELOG.md b/third_party/bazel/rules_haskell/CHANGELOG.md
deleted file mode 100644
index af0fe7ddc5..0000000000
--- a/third_party/bazel/rules_haskell/CHANGELOG.md
+++ /dev/null
@@ -1,461 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/).
-
-## [0.9.1] - 2019-06-03
-
-### Fixed
-
-- Bindists were broken on MacOS.
-  See [884](https://github.com/tweag/rules_haskell/issues/884).
-
-## [0.9] - 2019-05-07
-
-### Highlights
-
-* The minimum supported Bazel version is now v0.24.
-
-  The version is available from [`nixpkgs
-  unstable`](https://github.com/NixOS/nixpkgs/pull/58147) and via
-  [`official
-  releases`](https://docs.bazel.build/versions/master/install.html).
-
-* Initial Windows support
-
-  A non-trivial subset of `rules_haskell` is now working on Windows.
-  See the [`project
-  tracker`](https://github.com/tweag/rules_haskell/issues?q=is%3Aopen+is%3Aissue+project%3Atweag%2Frules_haskell%2F2)
-  for finished and ongoing work.
-
-* Improved OSX support
-
-  Due to the `mach-o` header size limit, we took extra measures to
-  make sure generated library paths are as short as possible, so
-  linking haskell binaries works even for large dependency graphs.
-
-* Better Bindist support
-
-  The default [`start` script](http://haskell.build/start) sets up a
-  bindist-based project by default.
-
-  `rules_nixpkgs` is no longer a required dependency of
-  `rules_haskell` (but can still be used as backend).
-
-* Full Haskell–C–Haskell Sandwich
-
-  A `haskell_library` can be now be used nearly anywhere a
-  `cc_library` can.
-
-  The old `cc_haskell_import` and `haskell_cc_import` wrapper rules
-  are no longer necessary and have been deprecated.
-
-* Greatly improved REPL support
-
-  A new `haskell_repl` rule allows to load multiple source targets by
-  source, or compiled, as needed. Example usage:
-
-  ```
-  haskell_repl(
-    name = "my-repl",
-    # Collect all transitive Haskell dependencies from these targets.
-    deps = [
-        "//package-a:target-1",
-        "//package-b:target-2",
-    ],
-    # Load targets by source that match these patterns.
-    include = [
-        "//package-a/...",
-        "//packaga-b/...",
-        "//common/...",
-    ],
-    # Don't load targets by source that match these patterns.
-    exclude = [
-        "//package-a/vendored/...",
-    ],
-  )
-  ```
-
-* Support for GHC plugins
-
-  Each `haskell_*` rule now has a `plugins` attribute. It takes a
-  list of bazel targets, which should be `haskell_library`s that
-  implement the [GHC plugin
-  specification](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/extending_ghc.html#compiler-plugins).
-
-* Initial Code Coverage support
-
-  Measure coverage of your Haskell code. See the [“Checking Code
-  Coverage”](https://rules-haskell.readthedocs.io/en/latest/haskell-use-cases.html#checking-code-coverage)
-  section in the manual.
-
-### Compatibility Notice
-
-[`hazel`](https://github.com/FormationAI/hazel) was [merged into
-`rules_haskell`](https://github.com/tweag/rules_haskell/pull/733), but
-we are not yet certain about the exact interface we want to expose.
-`hazel` is therefore not included in this release, and we can’t
-guarantee the original, unmerged version is compatible with this
-release. If you depend on `hazel`, please use a recent `master` commit
-of `rules_haskell`.
-
-### Changed
-
-* `haskell_register_ghc_bindists` is no longer re-exported from
-  `//haskell/haskell.bzl`.
-  You must now load that macro from `//haskell:nixpkgs.bzl`.
-
-* `rules_nixpkgs` is no longer a dependency of `rules_haskell`.
-
-* `haskell_import` has been renamed to `haskell_toolchain_library`.
-  This is a substantial breaking change. But adapting to it should be
-  as simple as
-
-  ```
-  sed -i 's/^haskell_import/haskell_toolchain_library/' **/BUILD{,.bazel}
-  sed -i 's/"haskell_import"/"haskell_toolchain_library"/' **/BUILD{,.bazel}
-  ```
-
-  See [#843](https://github.com/tweag/rules_haskell/pull/843).
-
-* `haskell_toolchain`’s tools attribute is now a list of labels.
-  Earlier entries take precendence. To migrate, add `[]` around your
-  argument.
-  See [#854](https://github.com/tweag/rules_haskell/pull/854).
-
-* The default outputs of `haskell_library` are now the static and/or
-  shared library files, not the package database config and cache
-  files.
-
-### Added
-
-* `haskell_repl` rule that constructs a ghci wrapper that loads
-  multiple targets by source.
-  See [#736](https://github.com/tweag/rules_haskell/pull/736).
-* `plugins` attribute to `haskell_*` rules to load GHC plugins.
-  See [#799](https://github.com/tweag/rules_haskell/pull/799).
-* The `HaskellInfo` and `HaskellLibraryInfo` providers are now
-  exported and thus accessible by downstream rules.
-  See [#844](https://github.com/tweag/rules_haskell/pull/844).
-* Generate version macros for preprocessors (`c2hs`, `hsc2hs`).
-  See [#847](https://github.com/tweag/rules_haskell/pull/847).
-* `bindist_toolchain` rule gets `haddock_flags` and `repl_ghci_args`
-  attributes.
-* `@repl` targets write json file with build information, usable by
-  IDE tools.
-  See [#695](https://github.com/tweag/rules_haskell/pull/695).
-
-### Deprecated
-
-* `haskell_cc_import`; use `cc_library` instead.
-  See [#831](https://github.com/tweag/rules_haskell/pull/831).
-* `cc_haskell_import`; just use `haskell_library` like a `cc_library`.
-  See [#831](https://github.com/tweag/rules_haskell/pull/831).
-
-### Fixed
-
-* Support protobuf roots in `haskell_proto_library`.
-  See [#722](https://github.com/tweag/rules_haskell/pull/722).
-* Made GHC bindist relocatable on *nix.
-  See [#853](https://github.com/tweag/rules_haskell/pull/853).
-* Various other fixes
-
-## [0.8] - 2019-01-28
-
-* The minimum supported Bazel version is now v0.21.
-
-### Added
-
-* `haskell_register_toolchains`, `haskell_register_ghc_bindists` and
-  `haskell_register_ghc_nixpkgs` to register multiple toolchains for
-  multiple platforms at once. Toolchains from binary distributions can
-  now coexist with toolchains from Nixpkgs, even on the same platform.
-  On nixpkgs you need to provide a toolchain. See
-  [the `README`](./README.md#Nixpkgs) for instructions.
-  See [#597](https://github.com/tweag/rules_haskell/pull/597)
-  and [#610](https://github.com/tweag/rules_haskell/pull/610).
-* Instructions on how to reference a local checkout of `rules_haskell`.
-* `rules_haskell` is forward-compatible with the next breaking changes
-  in `bazel` versions, via the `--all_incompatible_changes` flag.
-  See [#613](https://github.com/tweag/rules_haskell/pull/613).
-
-### Removed
-
-* The `generate_so` attribute of `haskell_binary` and `haskell_test`
-  has been completely superseded by `linkstatic` in the last release
-  and became a no-op, so it is removed.
-* The `main_file` attribute of `haskell_binary` and `haskell_test`
-  had been deprecated because it was a no-op, so it is removed.
-* The `prebuilt_dependencies` attribute of all haskell rules
-  had been deprecated two versions ago and is removed.
-  Use `haskell_import` instead (see docs for usage).
-* The `extra_binaries` field is now no longer supported.
-
-### Changed
-
-* `ghc_bindist` now requires a `target` argument. Use
-  `haskell_register_ghc_nixpkgs` to call `ghc_bindist` once per known
-  target.
-  See [#610](https://github.com/tweag/rules_haskell/pull/610).
-* `ghc_bindist` now registers itself as a toolchain. We no longer
-  require a separate toolchain definition and registration in addition
-  to `ghc_bindist`.
-  See [#610](https://github.com/tweag/rules_haskell/pull/610).
-* `c2hs` support is now provided in a separate toolchain called
-  `c2hs_toolchain`, rather than an optional extra to the
-  `haskell_toolchain`.
-  See [#590](https://github.com/tweag/rules_haskell/pull/590).
-* Rename bindist arch names so they are the same as in
-  `rules_go/nodejs`.
-
-### Fixed
-
-* Prevent duplicate installs of bazel_skylib
-  See [#536](https://github.com/tweag/rules_haskell/pull/536).
-* Test suite now executes all binaries, various runtime errors were
-  uncovered.
-  See [#551](https://github.com/tweag/rules_haskell/pull/551).
-* Repl targets that have indirect cc_library dependencies.
-  See [#576](https://github.com/tweag/rules_haskell/pull/576).
-* `linkstatic` for haskell binaries that have an indirect dependency
-  on a prebuilt haskell package.
-  See [#569](https://github.com/tweag/rules_haskell/pull/569).
-* … and an indirect dependency on a C library.
-  See [#567](https://github.com/tweag/rules_haskell/pull/567).
-* Prefer linking agains static C libraries with `linkstatic`.
-  See [#587](https://github.com/tweag/rules_haskell/pull/587).
-* Haddock flags take precedence over GHC compiler flags.
-  See [#572](https://github.com/tweag/rules_haskell/pull/572).
-* User-defined GHC flags now override default flags.
-  See [#607](https://github.com/tweag/rules_haskell/pull/607).
-* Dynamic transitive C(++) libraries work.
-  See [#627](https://github.com/tweag/rules_haskell/pull/627).
-
-## [0.7] - 2018-12-24
-
-### Added
-
-* Support for Bazel 0.20.0. This is now also the lower bound for the
-  supported version.
-* Supported reexported modules, via the
-  new
-  [`exports` attribute](http://api.haskell.build/haskell/haskell.html#haskell_library.exports).
-  See [#357](https://github.com/tweag/rules_haskell/issues/357).
-* Support `linkstatic` attribute, for building mostly static binaries.
-  This is now the default for binaries, to match the C/C++ rules
-  defaults.
-  See [#378](https://github.com/tweag/rules_haskell/issues/378).
-* It is now possible to set default Haddock flags in the toolchain
-  definition.
-  See [#425](https://github.com/tweag/rules_haskell/pull/425).
-* Support wrapping Haskell libraries as shared objects callable from
-  Python.
-  See [#370](https://github.com/tweag/rules_haskell/issues/370).
-
-### Changed
-
-* REPL targets have changed name. If you have a library target `foo`,
-  then the corresponding REPL target is now called `foo@repl`. It was
-  previously called `foo-repl`. The old name is still supported but is
-  deprecated.
-* Don't set a default version number anymore in libraries and
-  binaries. Version numbers, and CPP version macros, are now only used
-  for packages imported from Hackage. Don't use them otherwise.
-  See
-  [#386](https://github.com/tweag/rules_haskell/pull/386),
-  [#414](https://github.com/tweag/rules_haskell/pull/414)
-  and [#446](https://github.com/tweag/rules_haskell/pull/446).
-* On macOS, we use `ar` for linking, not Libtool.
-  See [#392](https://github.com/tweag/rules_haskell/pull/392).
-* The `runfiles` Haskell library has been broken out into a Cabal
-  library and published on Hackage.
-
-### Fixed
-
-* Make REPL force building of dependencies.
-  See [#363](https://github.com/tweag/rules_haskell/pull/363).
-* Don’t crash on inputs missing `.haddock` interface files. See
-  [#362](https://github.com/tweag/rules_haskell/pull/362)
-* Fix handling of non-unique package names.
-  See [#403](https://github.com/tweag/rules_haskell/pull/403).
-
-## [0.6] - 2018-07-21
-
-### Added
-
-* Protocol buffers integration using `proto-lens`. See
-  [#239](https://github.com/tweag/rules_haskell/pull/239).
-
-* `strip_include_prefix` attribute to the `haskell_cc_import` rule. See
-  [#241](https://github.com/tweag/rules_haskell/pull/241).
-
-* Support for `c2hs` files. See
-  [#351](https://github.com/tweag/rules_haskell/pull/351).
-
-* The `extra_srcs` attribute that allows to list non-Haskell source files
-  that should be visible during compilation and linking (usually useful with
-  TH). See [#292](https://github.com/tweag/rules_haskell/pull/292).
-
-* The `extra_binaries` attribute to the `haskell_toolchain` rule. See
-  [#282](https://github.com/tweag/rules_haskell/issues/282).
-
-* A Haskell library for looking up runfiles. See
-  [#302](https://github.com/tweag/rules_haskell/pull/302).
-
-* A separate toolchain for `doctest`—`haskell_doctest_toolchain`. See
-  [#310](https://github.com/tweag/rules_haskell/pull/310).
-
-* The `compiler_flags` attribute to the `haskell_toolchain` rule allowing to
-  specify default compiler flags. See
-  [#315](https://github.com/tweag/rules_haskell/issues/315).
-
-* The ability to set locale to be used during compilation by adding the
-  `locale` and `locale_archive` attributes to `haskell_toolchain`. See
-  [#328](https://github.com/tweag/rules_haskell/pull/328).
-
-* Proper support for profiling. See
-  [#332](https://github.com/tweag/rules_haskell/pull/332).
-
-* The `repl_ghci_args` attribute to the `haskell_toolchain` rule. See
-  [#334](https://github.com/tweag/rules_haskell/pull/334).
-
-* The `haskell_import` rule allowing us to make specifying dependencies more
-  uniform and to deprecate the `prebuilt_dependencies` attribute. See
-  [#337](https://github.com/tweag/rules_haskell/pull/337).
-
-### Fixed
-
-* Template Haskell linking against `cc_library`. See
-  [#218](https://github.com/tweag/rules_haskell/pull/218).
-
-* Linking issues on MacOS. See
-  [#221](https://github.com/tweag/rules_haskell/pull/221).
-
-* GHC packages that correspond to targets with the same name but in
-  different Bazel packages no longer clash. See
-  [#219](https://github.com/tweag/rules_haskell/issues/219).
-
-* Build breakage on MacOS when XCode is not installed. See
-  [#223](https://github.com/tweag/rules_haskell/pull/223).
-
-* Bug preventing Haddock generation because of missing dynamic shared
-  libraries when targets have TH in them. See
-  [#226](https://github.com/tweag/rules_haskell/pull/226).
-
-* Hyperlinks between targets contained in different Bazel packages
-  (Haddocks). See [#231](https://github.com/tweag/rules_haskell/issues/231).
-
-* Generated source files do not cause issues now. See
-  [#211](https://github.com/tweag/rules_haskell/pull/211).
-
-* `data` attributes now allow files in them. See
-  [#236](https://github.com/tweag/rules_haskell/issues/236).
-
-* Bug when headers and hsc2hs-produced files were not visible to Haddock.
-  See [#254](https://github.com/tweag/rules_haskell/pull/254).
-
-* Bug preventing using genrule-produced headers via `haskell_cc_import`. See
-  [#268](https://github.com/tweag/rules_haskell/pull/268).
-
-* Bug that allowed us avoid specifying certain `prebuilt_dependencies` if
-  they were already specified for transitive dependencies. See
-  [#286](https://github.com/tweag/rules_haskell/issues/286).
-
-* Bug that was making modules generated from `.hsc` and `.chs` files and
-  generated modules in general not available in the REPLs. See
-  [#323](https://github.com/tweag/rules_haskell/pull/323).
-
-### Changed
-
-* Added `-Wnoncanonical-monad-instances` to default warnings in
-  `haskell_lint`.
-
-* How REPLs work. Now there is an optional output per binary/library. Its
-  name is the name of target with `-repl` added. Users can then build and
-  run such a REPL for any defined target. See
-  [#220](https://github.com/tweag/rules_haskell/issues/220) and
-  [#225](https://github.com/tweag/rules_haskell/pull/225).
-
-* The `haskell_doc` rule now produces self-contained documentation bundle
-  with unified index. See
-  [#249](https://github.com/tweag/rules_haskell/pull/249).
-
-* `haskell_lint` now only lints direct dependencies. See
-  [#293](https://github.com/tweag/rules_haskell/pull/293).
-
-* `haskell_doctest` has been re-designed. It's now a normal rule that works
-  only on direct dependencies and allows to specify modules which should be
-  tested, pass custom flags to `doctest` executable. See
-  [#342](https://github.com/tweag/rules_haskell/pull/342).
-
-* The `prebuilt_dependencies` attribute of `haskell_binary` and
-  `haskell_library` has been deprecated. See
-  [#355](https://github.com/tweag/rules_haskell/pull/355).
-
-## [0.5] - 2018-04-15
-
-### Added
-
-* Support for MacOS, courtesy of Judah Jacobson. See
-  [#165](https://github.com/tweag/rules_haskell/issues/165).
-
-* Support for `data` attributes in `haskell_binary` and `haskell_library`
-  rules. See [#167](https://github.com/tweag/rules_haskell/issues/167).
-
-* Output on building of GHC bindists so it's clearer what went wrong in case
-  of a failure.
-
-* `haskell_repl` rule allowing to interact with GHCi. See
-  [#82](https://github.com/tweag/rules_haskell/issues/82).
-
-* Support for GHC 8.4.1 bindist. See
-  [#175](https://github.com/tweag/rules_haskell/issues/175).
-
-* `haskell_lint` rule. See
-  [#181](https://github.com/tweag/rules_haskell/issues/181).
-
-* `haskell_doctest` rule. See
-  [#194](https://github.com/tweag/rules_haskell/issues/194).
-
-### Changed
-
-* Improved hermeticity of builds. See
-  [#180](https://github.com/tweag/rules_haskell/pull/180).
-
-* `cc_haskell_import` now works with `haskell_binary` targets as well. See
-  [#179](https://github.com/tweag/rules_haskell/issues/179).
-
-## [0.4] - 2018-02-27
-
-### Added
-
-* `hidden_modules` attribute of the `haskell_library` rule. This allows to
-  selectively hide modules in a library. See
-  [#152](https://github.com/tweag/rules_haskell/issues/152).
-
-### Fixed
-
-* Test executables now find shared libraries correctly at runtime. See
-  [#151](https://github.com/tweag/rules_haskell/issues/151).
-
-* Building of certain modules does not fail with the “file name does not
-  match module name” message anymore. See
-  [#139](https://github.com/tweag/rules_haskell/issues/139).
-
-* Linking issues that resulted in unresolved symbols due to incorrect order
-  in which static libraries are passed to linker are not resolved. See
-  [#140](https://github.com/tweag/rules_haskell/issues/140).
-
-* The “grep not found” error is fixed. See
-  [#141](https://github.com/tweag/rules_haskell/pull/141).
-
-* System-level shared libraries introduced by `haskell_cc_import` are now
-  found correctly during compilation. See
-  [#142](https://github.com/tweag/rules_haskell/issues/142).
-
-## [0.3] - 2018-02-13
-
-## [0.2] - 2018-01-07
-
-## [0.1] - 2018-01-02