packages feed

cabal-buck2-0.5.0.0: changelog.md

# 0.5.0.0

  * For `cabal-install` version 3.18
  * Now works on MacOS X
  * A component's C, C++, assembler and Cmm sources are part of its
    library, as in Cabal: their objects are in the library's archive
    and shared library, rather than in libraries of their own linked
    alongside it. A library with no Haskell modules (only C sources,
    say) no longer gets a placeholder module.
  * A library that isn't exposed (`exposed: False`) is registered as
    such, and one whose `ghc-options` give it a unit id
    (`-this-unit-id`) has that unit id.
  * `-m static` and `-m shared` say how executables are linked,
    independently of the build mode (whose default is shared for dev,
    static for opt and prof).
  * `haskell_library` has a `soname` attribute, for a shared library
    whose soname isn't its file's name.
  * Configurations can be named by a project's own constraints too:
    `named_constraint_settings` in the `[cfg]` section of its
    `.buckconfig`.
  * Fix for using a combination of a Cabal `main-is` declaration
    together with `ghc-options: -main-is ...`.
  * Modules in `other-modules` are now correctly hidden outside the
    component.
  * A Template Haskell splice can use a module of the same library
    when profiling (`-m prof`).

# 0.4.0.0

  * For `cabal-install` version 3.18
  * `--enable-custom-setup` builds the packages with `build-type:
    Custom` as if they had `build-type: Configure` (if they have a
    `configure` script) or `Simple`, instead of skipping them. Their
    `Setup.hs` isn't run, so the modules it would generate (its
    `autogen-modules`) must be provided by the project.
  * A project can override the generated targets of its packages in a
    `cabal-buck2.bzl` at its root, rather than in each package's
    `BUCK` file.
  * A package's `extra-source-files` are a target,
    `<package>-extra-source-files`, for other targets that need them
    (a generator of the package's sources, say).
  * The `.hs-boot` file of a module is an input of the module's
    compilation, and is found next to its source when that is
    generated (by `happy`, say).
  * Pass `extra-lib-dirs` and `ld-options` through to Buck2. This
    fixes some cases of `pkgconfig-depends` not working correctly
    with Buck2, amongst other things.

# 0.3.0.0

  * For `cabal-install` version 3.18
  * The generated `BUCK.cabal.bzl` files no longer contain the
    directory of the package, or of the packages it depends on. The
    packages are is now in `cabal-buck2/packages.bzl` in the root of
    the project (which has an entry for each package that the project
    builds), so a package's `BUCK.cabal.bzl` is the same wherever the
    package is in the project, and whichever project it is part of.
    All of the packages have to be in the root Buck2 cell.
  * Support a GHC install whose package database isn't next to the
    libraries of its packages, such as a Nix `ghcWithPackages`.

# 0.2.0.1

  * For `cabal-install` version 3.18
  * Fix an issue with duplicate generated haskell_prebuilt_library()
    targets due to dependencies of build tools.

# 0.2.0.0

  * For `cabal-install` version 3.18
  * Major new features (see the README for more details):
    * Support for a build cache (`cabal buck2 --cache=...`), setup
      instructions in the README.
    * Support for building the whole dependency tree with Buck2,
      avoiding the Cabal store entirely (`cabal buck2
      --source-deps`). This works particularly well in conjunction
      with a build cache, because the cache does the job of the Cabal
      store. The biggest blocker here is that packages using
      `build-type: Custom` are not supported, however.
    * Partial support for `build-type: hooks`.
  * Minor new features:
    * Support for `asm-sources` and `cmm-sources`.
    * `cabal buck2` now aborts with an error if any components cannot
      be translated due to an unsupported feature (e.g. `build-type:
      Custom`). Use `--keep-going` to skip unsupported components
      instead of failing.
  * Fixes:
    * Various fixes for `hsc2hs`
    * Handle Happy parsers with a `.ly` extension
    * Module re-exports are handled correctly
    * Fix name clash problem with prebuilt sublibraries
    * Fix broken `cabal buck2 -j`

# 0.1.0.0

  * For `cabal-install` version 3.18