-
Use
dhall
version 1.25. -
New utility function,
prelude.utils.mapBuildInfo
, which maps over the common fields of all non-setup components. -
Port to Cabal 3.0. Included changes:
-
types.CompilerOptions
now only knows about options for GHC and GHCJS. -
types.Dependency
now has alibrary-names
field, to identify which library components of the dependency package to use. These can be build withtypes.LibraryName
.prelude.majorVersions
reflects this with a third parameter. -
types.BuildInfo.pkgconfig-depends.version
is now its own type,types.PkgconfigVersionRange
. There are functions to construct it underprelude.pkg-config
. -
prelude.defaults.Library
has been split intoMainLibrary
andNamedLibrary
. UseMainLibrary
in thelibrary
field, andNamedLibrary
in thesub-libraries
field. -
New
types.Library
field,visibility
, and a new type,types.LibraryVisibility
. -
New
types.BuildInfo
fields,autogen-includes
andextra-dyn-lib-flavours
.
-
-
Add compatibility for
optparse-applicative-0.15
. -
Remove
dhall/types/CustomSetup.dhall
in favour of the identicaldhall/types/SetupBuildInfo.dhall
. -
cabal-to-dhall
no longer generates bogus output for an unknown kind ofsource-repository
stanza. -
Added
dhall/types/ForeignLibOption.dhall
, also available astypes.ForeignLibOption
, and--print-type ForeignLibOption
. LikewiseForeignLibType
. -
Support
prettyprinter
1.3. -
Teach
--print-type
aboutDependency
,SetupBuildInfo
,TestType
,Mixin
andFlag
. -
Use
dhall
version 1.24.
-
All constructors that previously took an empty record now use the new nullary syntax instead. This is a breaking change for user code. For example, instead of
types.Compiler.GHC {=}
, now you just writetypes.Compiler.GHC
. -
Use
dhall
version 1.23.0. -
Educated
--print-type
aboutScope
andModuleRenaming
. -
Fix
cabal-to-dhall
output for unknown licenses usingcabal
spec version below2.0
. Now it uses values of typeLicense.Unknown Text
for them. -
Improved
--print-type
and--print-default
output to use multi-bindinglet
.
-
Use
dhall
version 1.20.1. -
prelude.dhall
no longer provides types (as this isn't supported in Dhall 1.20.1). Instead, there is now a newtypes.dhall
file. -
dhall-to-cabal
now accepts--output-stdout
,--output-dir-cwd DIR
, and--output-dir-input DIR
flags control the destination of the generated.cabal
file.--output-dir-cwd
interprets its argument relative to the current working directory and--output-dir-input
interprets its argument relative to the input file.The default has been changed to
--output-dir-input .
, which writes to the same directory as the input file; previously it corresponded to--output-stdout
.
-
Allow
Cabal
version 2.4.0.0. There have been consequent changes to the extensions, compilers and licenses recognised. -
Allow
dhall
version 1.18. -
dhall-to-cabal
andcabal-to-dhall
now understand themixins
field properly.On the Dhall side,
types.ModuleRenaming
has changed significantly: it is now a union.prelude.types.ModuleRenaming
has been added for convenient access to the new constructors. -
Fix issue with alpha-normalized expressions. This was identified in issue #124 and fixed in issue #126.
- Include all files necessary to run tests.
DhallToCabal.dhallToCabal
now takes anInputSettings
fromdhall
as its first argument.
-
dhall-to-cabal
has a new--print-default TYPE
flag. -
When reading from a file,
dhall-to-cabal
now interprets imports as being relative to that file, rather than the current working directory. (#114)
-
Remove orphan
Dhall.Core.Inject
instances for[Char]
andCompilerFlavor
. -
CabalToDhall.cabalToDhall
is now a pure function that accepts aGenericPackageDescription
. A new convenience function has been added toCabalToDhall
,parseGenericPackageDescriptionThrows
.
-
os
conditions where the operating system's name was not recognised (e.g.,os(multics)
) were crashing cabal-to-dhall. They now work as expected. -
dhall-to-cabal
andcabal-to-dhall
now respond to--version
. -
The
dhall
subdirectory has been reorganised so that things that are not types are not in thetypes
subdirectory. Specifically,dhall/types/Version/v.dhall
, all ofdhall/types/VersionRange/*.dhall
and the operations (i.e., the enumerationsLicenseId.dhall
andLicenseExceptionId.dhall
) fromdhall/types/SPDX/*.dhall
have been moved to, respectively,dhall/Version/v.dhall
,dhall/VersionRange/*.dhall
, anddhall/SPDX/*.dhall
. In addition, the files have been renamed as appropriate to reflect the name that they are exported from the prelude as; in practice, this means that they have gone from TitleCase to camelCase.Code that only imports
prelude.dhall
andtypes.dhall
is unaffected by this change. -
prelude.defaults.Package.license
is nowAllRightsReserved
. -
dhall-to-cabal
now mapsAllRightsReserved
toSPDX.NONE
whencabal-version
is at least 2.2. -
cabal-to-dhall
will now generate more compact.dhall
files by using defaults. -
The default
build-type
is now omission, to use Cabal 2.2's inference, and the defaultcabal-version
has been bumped to 2.2. -
Export
prelude.types.Scopes
.
- Bump upper-bounds for
base
,containers
andcontravariant
. This project can build on GHC 8.6 (though will need--allow-newer
forCabal
until this is official released).
- The type of DhallToCabal.license has changed to
Dhall.Type (Either SPDX.License Cabal.License)
to accomodate Cabal 2.2.
-
Increase upper-bound of base to allow 4.11.
-
Increase upper-bound of tasty to allow 1.1.
-
Switch to Dhall 1.14.0.
-
dhall-to-cabal: Fix tracking which branches are already true or false in conditionals. Dhall expressions with lots of conditions previously produced Cabal files that did not correctly match the requested conditions. See dhall-lang#56, dhall-lang#53 and dhall-lang#55 for more information.
Thank you to @jneira and @quasicomputational for helping identify and fix this bug.
-
cabal-to-dhall: Rewrite conditional handling to avoid hangs with complicated ones. See dhall-lang#54 and linked issues.
-
Added a warning to generated
.cabal
files against hand-editing. -
cabal-to-dhall
now pretty prints the resulting Dhall. -
The signature of
CabalToDhall.cabalToDhall
has changed: it now takes the location of theprelude.dhall
andtypes.dhall
to import as a parameter. -
Upgrade to Cabal 2.2. This introduces SPDX license identifiers and Dhall functionality to manipulate them; see <golden-tests/dhall-to-cabal/SPDX.dhall> for a (convoluted) demonstration.
-
prelude.defaults.Executable
has lost itsmain-is
field, as it makes little sense to have an executable without it. -
--print-type
now omits the lengthy definition ofExtension
, instead importing it from the prelude.--self-contained
is a new switch to disable this behaviour.
Small packaging only tweaks:
- Missing README.md
- Missing author
The irony of this change is not lost on me.
First release!