xmonad-contrib and mtl-2 -- bugfix release?

It was just pointed out in #haskell by mreh that the version of
xmonad-contrib currently released on Hackage fails to build, since it
does not specify version bounds on its mtl dependency, but fails to
build with mtl-2, since XMonad.Utils.CustomKeys uses the Reader
constructor and HintedGrid uses State. This has since been fixed; the
darcs version of xmonad-contrib builds fine with mtl-1 and mtl-2.
However, it's poor form to have the released version fall over if you
just do 'cabal install xmonad-contrib'.
Concretely, I propose that we do a spot bugfix release of just the
0.9.1 tag + the patch that fixed the mtl-2 incompatibility:
Mon Nov 15 18:26:54 EST 2010 Adam Vogt

On 17 December 2010 09:54, Brent Yorgey
It was just pointed out in #haskell by mreh that the version of xmonad-contrib currently released on Hackage fails to build, since it does not specify version bounds on its mtl dependency, but fails to build with mtl-2, since XMonad.Utils.CustomKeys uses the Reader constructor and HintedGrid uses State. This has since been fixed; the darcs version of xmonad-contrib builds fine with mtl-1 and mtl-2. However, it's poor form to have the released version fall over if you just do 'cabal install xmonad-contrib'.
Concretely, I propose that we do a spot bugfix release of just the 0.9.1 tag + the patch that fixed the mtl-2 incompatibility:
Mon Nov 15 18:26:54 EST 2010 Adam Vogt
* Compatibility with mtl-1 and mtl-2 The other option would be to do a point release of whatever is currently in darcs, but that would be more work to do properly.
I'm of the opinion that making a new release of what's in darcs is better off, since (if memory serves) there's quite a new features and other fixes in darcs that users keep asking for. Or, maybe make a point-release now for building purposes and then looking at starting to stabilise, etc. what's in darcs so as to get a new release ready? -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com

On Fri, Dec 17, 2010 at 11:00:30AM +1100, Ivan Lazar Miljenovic wrote:
On 17 December 2010 09:54, Brent Yorgey
wrote: It was just pointed out in #haskell by mreh that the version of xmonad-contrib currently released on Hackage fails to build, since it does not specify version bounds on its mtl dependency, but fails to build with mtl-2, since XMonad.Utils.CustomKeys uses the Reader constructor and HintedGrid uses State. This has since been fixed; the darcs version of xmonad-contrib builds fine with mtl-1 and mtl-2. However, it's poor form to have the released version fall over if you just do 'cabal install xmonad-contrib'.
Concretely, I propose that we do a spot bugfix release of just the 0.9.1 tag + the patch that fixed the mtl-2 incompatibility:
Mon Nov 15 18:26:54 EST 2010 Adam Vogt
* Compatibility with mtl-1 and mtl-2 The other option would be to do a point release of whatever is currently in darcs, but that would be more work to do properly.
I'm of the opinion that making a new release of what's in darcs is better off, since (if memory serves) there's quite a new features and other fixes in darcs that users keep asking for. Or, maybe make a point-release now for building purposes and then looking at starting to stabilise, etc. what's in darcs so as to get a new release ready?
Yes, I'm not against making a new release with all the stuff currently in darcs. In fact, it's probably a good idea. But that will take more time and I'd rather first just quickly get something up on Hackage that compiles. -Brent

* On Thursday, December 16 2010, Brent Yorgey wrote:
It was just pointed out in #haskell by mreh that the version of xmonad-contrib currently released on Hackage fails to build, since it does not specify version bounds on its mtl dependency, but fails to build with mtl-2, since XMonad.Utils.CustomKeys uses the Reader constructor and HintedGrid uses State. This has since been fixed; the darcs version of xmonad-contrib builds fine with mtl-1 and mtl-2. However, it's poor form to have the released version fall over if you just do 'cabal install xmonad-contrib'.
Concretely, I propose that we do a spot bugfix release of just the 0.9.1 tag + the patch that fixed the mtl-2 incompatibility:
Mon Nov 15 18:26:54 EST 2010 Adam Vogt
* Compatibility with mtl-1 and mtl-2 The other option would be to do a point release of whatever is currently in darcs, but that would be more work to do properly.
I'm happy to do the work to make this happen, I just wanted to hear some reactions first.
-Brent
Go for it. You'll probably have to re-record the changes in contrib since I believe some of them involve modules that were added since 0.9.1 This is a relevant bug I opened earlier: http://code.google.com/p/xmonad/issues/detail?id=419 Adam

On Thu, Dec 16, 2010 at 10:41:59PM -0500, Adam Vogt wrote:
* On Thursday, December 16 2010, Brent Yorgey wrote:
It was just pointed out in #haskell by mreh that the version of xmonad-contrib currently released on Hackage fails to build, since it does not specify version bounds on its mtl dependency, but fails to build with mtl-2, since XMonad.Utils.CustomKeys uses the Reader constructor and HintedGrid uses State. This has since been fixed; the darcs version of xmonad-contrib builds fine with mtl-1 and mtl-2. However, it's poor form to have the released version fall over if you just do 'cabal install xmonad-contrib'.
Concretely, I propose that we do a spot bugfix release of just the 0.9.1 tag + the patch that fixed the mtl-2 incompatibility:
Mon Nov 15 18:26:54 EST 2010 Adam Vogt
* Compatibility with mtl-1 and mtl-2
OK, I am confused. I grabbed the darcs repo corresponding to the '0.9.1' tag (just by doing a local 'get' from my up-to-date darcs repo). Then pulling in the single patch I listed above was easy enough (actually it pulled in two patches but the other patch was similar). Then I tried building it (against the released xmonad-0.9.1), which failed on some module because 'ExtensionClass' was not in scope. After a bit more digging, I found that XMonad.Util.ExtensibleState is NOT in xmonad-contrib-0.9.1 as released on Hackage, but it IS in the darcs repo corresponding to the '0.9.1' tag. So now it seems that the 0.9.1 tag does not correspond to the actual 0.9.1 release, or else I am very confused (or both). So I am not sure what to do. Any thoughts? Also confusing is the fact that Hackage reports xmonad-contrib-0.9.1 builds successfully with ghc 6.12, but as far as I know it shouldn't (unless the Hackage build process chooses dependency versions in a different way than cabal install, which is possible). -Brent

* On Friday, December 17 2010, Brent Yorgey wrote:
OK, I am confused. I grabbed the darcs repo corresponding to the '0.9.1' tag (just by doing a local 'get' from my up-to-date darcs repo). Then pulling in the single patch I listed above was easy enough (actually it pulled in two patches but the other patch was similar). Then I tried building it (against the released xmonad-0.9.1), which failed on some module because 'ExtensionClass' was not in scope.
After a bit more digging, I found that XMonad.Util.ExtensibleState is NOT in xmonad-contrib-0.9.1 as released on Hackage, but it IS in the darcs repo corresponding to the '0.9.1' tag. So now it seems that the 0.9.1 tag does not correspond to the actual 0.9.1 release, or else I am very confused (or both). So I am not sure what to do. Any thoughts?
Also confusing is the fact that Hackage reports xmonad-contrib-0.9.1 builds successfully with ghc 6.12, but as far as I know it shouldn't (unless the Hackage build process chooses dependency versions in a different way than cabal install, which is possible).
-Brent
I'm not sure if that's sjanssen's use of 'darcs tag', or whether we've misunderstood "darcs put --tag=0\.9\.1". I vaguely recall something similar happening the last time we had a release. The hackage xmonad-contrib 0.9.1 definitely works with ghc612. We could just cabal upload versions including the nice patches made by this distro, whose maintainers have already gone to the trouble of picking out right the changes: http://repos.archlinux.org/wsvn/community/xmonad-contrib/trunk/ghc-7-compat.... http://repos.archlinux.org/wsvn/community/xmonad/trunk/ghc-6.12-warnings.pat... -- Adam

I'm pleased to announce the bugfix 0.9.2 release of xmonad core and contrib. Note that no new features are included relative to 0.9.1 or 0.9. Compatibility with ghc-7 and mtl-2 is added, without breaking compatibility with older versions. This release has been tested with GHCs back to 6.10. As usual you can get this version with cabal-install:
cabal update cabal install xmonad-0.9.2 xmonad-contrib-0.9.2
Otherwise the packages can be found on hackage: http://hackage.haskell.org/package/xmonad-0.9.2 http://hackage.haskell.org/package/xmonad-contrib-0.9.2 A number of minor issues exist in this release. Haddock documentation does not build with more recent haddocks [1], but the documentation for 0.9.1 is the same. Another issue is that the Properties.hs fails to build with ghc < 7, which is only compiled when building the test suite (-ftesting). Both problems do not exist in the versions from the darcs repositories on code.haskell.org. Hopefully the 0.10 release will be out shortly in the New Year, which will include the rest of the patches recorded since October 2009. [1] http://hackage.haskell.org/packages/archive/xmonad/0.9.2/logs/failure/ghc-7....
participants (3)
-
Adam Vogt
-
Brent Yorgey
-
Ivan Lazar Miljenovic