Gearing up for a 1.18 release

Roman Cheplyaka roma at ro-che.info
Tue Aug 6 10:42:42 CEST 2013


Hi,

May I ask you to include haskell suite support in this release?

Haskell suite adds a new compiler flavor to Cabal, except it is not
tied to any particular compiler. Hopefully, this may be the last
compiler flavor added to Cabal.
(related: https://github.com/haskell/cabal/issues/57)

It is already used by the haskell suite interface generator.
(See http://documentup.com/haskell-suite/haskell-names#module-interfaces/generating-interfaces)

Here's the patch (on top of the cabal-install-1.18 branch):
https://github.com/feuerbach/cabal/commit/ae2070b1fcb7b59998cbc251f5f1bf4519a1ee49
I can also create a pull request if needed.

I realize that including new code just before the release is usually not
a good idea, but in this case it's very low-risk. It doesn't change the
public Cabal API. All it does from the user's perspective is introducing
a new switch (--haskell-suite), which shouldn't impact in any way users
who don't use it.

The only possible issue is during compilation. Speaking of which, I've
verified that Cabal and cabal-install build with this patch using GHC
7.6.3 and 7.0.4.

Cabal's policy is to support being built by versions of GHC that are up
to 3 years old. That would be 6.12.3, released 12 June 2010. Cabal with
the patch indeed builds on 6.12.3; however, cabal-install fails to
configure:

  Warning: Falling back to topdown solver for GHC < 7.
  Resolving dependencies...
  cabal: cannot configure process-1.0.1.3. It requires directory ==1.0.*
  For the dependency on directory ==1.0.* there are these packages:
  directory-1.0.0.0, directory-1.0.0.3, directory-1.0.1.0, directory-1.0.1.1 and
  directory-1.0.1.2. However none of them are available.
  directory-1.0.0.0 was excluded because directory-1.2.0.1 was selected instead
  directory-1.0.0.0 was excluded because cabal-install-1.18.0 requires directory
  ==1.2.*
  directory-1.0.0.3 was excluded because directory-1.2.0.1 was selected instead
  directory-1.0.0.3 was excluded because cabal-install-1.18.0 requires directory
  ==1.2.*
  directory-1.0.1.0 was excluded because directory-1.2.0.1 was selected instead
  directory-1.0.1.0 was excluded because cabal-install-1.18.0 requires directory
  ==1.2.*
  directory-1.0.1.1 was excluded because directory-1.2.0.1 was selected instead
  directory-1.0.1.1 was excluded because cabal-install-1.18.0 requires directory
  ==1.2.*
  directory-1.0.1.2 was excluded because directory-1.2.0.1 was selected instead
  directory-1.0.1.2 was excluded because cabal-install-1.18.0 requires directory
  ==1.2.*

Roman

* Johan Tibell <johan.tibell at gmail.com> [2013-08-06 08:37:57+0200]
> Hi all,
> 
> The sandbox functionality now works well enough that I think we should
> let it out in the wild. I've created a 1.18 release branch at
> 
>     https://github.com/haskell/cabal/tree/cabal-install-1.18
> 
> My intention is to make any necessary bug fixes on that branch before
> the release and then merge those fixes into master once the release is
> done (i.e. using a work flow similar to
> http://nvie.com/posts/a-successful-git-branching-model/ but without
> the develop branch).
> 
> Are there any fixes that absolutely must make it in before a 1.18
> release? Remember, this release is already long overdue and there will
> be more frequent releases in the future so lets not try to cram in
> some extra functionality and delay this release further.
> 
> P.S. In the future I hope we can make a release every 3-6 months
> instead of the current almost yearly release cycle.
> 
> Cheers,
> Johan
> 
> _______________________________________________
> cabal-devel mailing list
> cabal-devel at haskell.org
> http://www.haskell.org/mailman/listinfo/cabal-devel




More information about the cabal-devel mailing list