cabal2nix v2.19.0 Release Notes
-
Note that some of the API has also changed in a breaking โฌ๏ธ manner because of the upgrade to
distribution-nixpkgs
1.7.0, ๐ see #506.- ๐ Only use
hpack
when building if no cabal file is found for the package to process. See also #508. - ๐
hackage2nix
now supports arbitrary Nix-style platform tuples inunsupported-platforms
(including the newaarch64-darwin
) as well as nixpkgs platform groups which are denoted as e. g.platforms.darwin
and can be used instead of platform tuples. See also #506. API breaking change: TheIsString
instance forPlatform
inDistribution.Nixpkgs.Haskell.OrphanInstances
has been removed. - ๐ง The new
hackage2nix
supported-platforms
configuration field allows prescribing a specific list of platforms to set in the package'splatforms
meta attribute.unsupported-platforms
are now translated tobadPlatforms
instead of being subtracted fromplatforms
. See also #506 and #560. API Breaking Change forDistribution.Nixpkgs.Haskell.FromCabal.Configuration
. cabal2nix
will no longer emit a dependency onwebkitgtk24x-gtk{2,3}
if it detects the older 3.0 API of WebKit being used. Nixpkgs hasn't contained this package for a few years now due to security vulnerabilities and the packages still using it on Hackage are unmaintained. If you have a legacy project built with an old version of nixpkgs, either don't upgradecabal2nix
or emulate the old behavior using overrides. See also #521.- If the input cabal file declares just a single executable, the
mainProgram
meta attribute will be set in the resulting Nix expression. See also #506 and #557. - If
cabal2nix
(orhackage2nix
) doesn't recognize the license of a package, it'll still assume that it's free and enable building on Hydra (i. e. use the default value ofhydraPlatforms
). This is done because Hackage requires uploaded packages to be open source. You may need to keep this change in mind, however, if you usecabal2nix
for packaging unfree software. See also #520.isFreeLicense
has changed semantically as a result. ๐จ Argument parsing logic in
cabal2nix
has been refactored in #544. API breaking change for the following modules:Cabal2nix
Distribution.Nixpkgs.Fetch
Distribution.Nixpkgs.Haskell.Derivation
(removed instance)Distribution.Nixpkgs.Haskell.PackageSourceSpec
โก๏ธ Update handling of Lua bindings to reflect current state upstream. See #527 and #547.
- ๐ Only use