ANN: Cabal 1.22 and cabal-install 1.22

Daniel Trstenjak daniel.trstenjak at
Mon Jan 5 15:27:31 UTC 2015


sorry that I couldn't test Cabal 1.22 earlier, but there seems to be a
change regarding the handling and pretty printing of the 'GenericPackageDescription' in Cabal 1.22.

Now parsing a cabal file with 'parsePackageDescription' and pretty
printing it with 'showGenericPackageDescription' will result into
a cabal file where every section contains the 'build-depends' field twice.

Previously the dependencies have been resolved into 'CondNode.condTreeConstraints'
and the field 'BuildInfo.targetBuildDepends' has been emptied.

Now it seems that both - 'CondNode.condTreeConstraints' and 'BuildInfo.targetBuildDepends' -
contain the dependencies and therefore they're output twice.

The resolving into 'CondNode.condTreeConstraints' always seemed a bit
like a hack to me, because there's already the distiction between 'GenericPackageDescription'
and 'PackageDescription', and 'PackageDescription' already represeting the resolved state,
so I'm wondering if it wouldn't be best to let 'CondNode.condTreeConstraints' just go,
or as a first step, not using it anymore.


More information about the cabal-devel mailing list