[Nix-commits] SVN commit: nix - r34059 - nixpkgs/trunk/pkgs/top-level

2012-05-11 Thread Peter Simons
Author: simons
Date: Fri May 11 13:04:28 2012
New Revision: 34059
URL: https://nixos.org/websvn/nix/?rev=34059sc=1

Log:
haskell-packages: downgrade 'mtl' and 'transformers' in GHC 7.4.1 environment 
to fix build errors

The new versions of mtl and transformers break many important packages, such as
monad-par, graphviz, pandoc, and all other packages that depend on any of those.
This situation causes serious problems for me, because I depend on some of those
packages for my daily work. IMHO, it is an overreaction to have all those builds
fail, because some day in the future a new version of Haskell Platform *may* be
released that *may* recommend the latest versions of 'transformers' and 'mtl'. 
As
long as those changes have such profound negative effects on our packages, those
upgrades should be deferred. This approach seems consistent with the way we've
handled these matters things in the past, too. For example, we happily break
conformance with older versions of HP, when those changes are beneficial for
users. In other words, we have usually valued usability over strict conformance
before, and IMHO that is a sensible policy.

I agree that it's nice to test what kind of trouble these upgrades cause, but I
don't believe that 'trunk' is the right place to perform those tests. The 
breakage
these changes cause affect users who rely on Nixpkgs to provide a stable working
environment.

Modified:
   nixpkgs/trunk/pkgs/top-level/haskell-packages.nix

Modified: nixpkgs/trunk/pkgs/top-level/haskell-packages.nix
==
--- nixpkgs/trunk/pkgs/top-level/haskell-packages.nix   Fri May 11 12:16:09 
2012(r34058)
+++ nixpkgs/trunk/pkgs/top-level/haskell-packages.nix   Fri May 11 13:04:28 
2012(r34059)
@@ -157,8 +157,8 @@
 zlib = self.zlib_0_5_3_3;   # 7.4.1 ok
 HTTP = self.HTTP_4000_2_3;  # 7.4.1 ok
 text = self.text_0_11_2_0;  # 7.4.1 ok
-transformers = self.transformers_0_3_0_0;   # 7.4.1 ok
-mtl  = self.mtl_2_1_1;  # 7.4.1 ok
+transformers = self.transformers_0_2_2_0;   # 7.4.1 ok
+mtl  = self.mtl_2_0_1_0;# 7.4.1 ok
 random   = self.random_1_0_1_1; # 7.4.1 ok
 cabalInstall = self.cabalInstall_0_14_0;# 7.4.1 ok
 alex = self.alex_3_0_1; # 7.4.1 ok
___
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits


Re: [Nix-dev] [Nix-commits] SVN commit: nix - r34059 - nixpkgs/trunk/pkgs/top-level

2012-05-11 Thread Andres Loeh
 The new versions of mtl and transformers break many important packages, such 
 as
 monad-par, graphviz, pandoc, and all other packages that depend on any of 
 those.
 This situation causes serious problems for me, because I depend on some of 
 those
 packages for my daily work. IMHO, it is an overreaction to have all those 
 builds
 fail, because some day in the future a new version of Haskell Platform *may* 
 be
 released that *may* recommend the latest versions of 'transformers' and 'mtl'.

You make it sound like I'm inventing things. Sure, it hasn't been
released yet, and there's been some discussion about these packages in
particular. Nevertheless, it's very likely that it happens, and it's
likely that it happens this month.

 As
 long as those changes have such profound negative effects on our packages, 
 those
 upgrades should be deferred. This approach seems consistent with the way we've
 handled these matters things in the past, too. For example, we happily break
 conformance with older versions of HP, when those changes are beneficial for
 users. In other words, we have usually valued usability over strict 
 conformance
 before, and IMHO that is a sensible policy.

While I think that's ok for old versions of GHC, I don't think we
should deviate from the current platform if at all possible.

 I agree that it's nice to test what kind of trouble these upgrades cause, but 
 I
 don't believe that 'trunk' is the right place to perform those tests. The 
 breakage
 these changes cause affect users who rely on Nixpkgs to provide a stable 
 working
 environment.

Well, the only reason ghc-7.4.1 is currently in nixpkgs is for
testing. It's clearly marked as low priority. If people are using it
already, it's at their own risk. I don't think we've ever made a
decision to support 7.4.1 already. You seem to see this differently.
I think the solution here is to create two separate sets of defaults,
one aimed at platform conformance, and one aimed at maximal
compatibility with existing packages.

Cheers,
  Andres
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] GHC 7.4.1 and Haskell Platform (was: [Nix-commits] SVN commit: nix - r34059 - nixpkgs/trunk/pkgs/top-level)

2012-05-11 Thread Peter Simons
Hi Andres,

  The new versions of mtl and transformers break many important packages,
  such as monad-par, graphviz, pandoc, and all other packages that depend
  on any of those. This situation causes serious problems for me, because
  I depend on some of those packages for my daily work. IMHO, it is an
  overreaction to have all those builds fail, because some day in the
  future a new version of Haskell Platform *may* be released that *may*
  recommend the latest versions of 'transformers' and 'mtl'.
 
  You make it sound like I'm inventing things. Sure, it hasn't been
  released yet, and there's been some discussion about these packages in
  particular. Nevertheless, it's very likely that it happens, and it's
  likely that it happens this month.

obviously, there are plans to release a new version of Haskell Platform. I
don't doubt that -- all I meant to emphasize is that this release hasn't
happened yet.

Generally speaking, there is a strong interest to conform to HP, because it
provides stability and predictability. We deviate from HP only when there is
a very compelling reason to do so.

Another interest of ours, however, is that we want to provide a usable
system, i.e. a package database that people can actually install and use.

Those two interests conflict. The upcoming HP standard is probably going to
mandate use of mtl 2.x and transformers 3.x -- so we have an interest in
using those packages in haskellPlatformArgs_future. On the other hand,
configuring GHC 7.4.1 to use those packages right now breaks a lot of other
packages, some of which are extremely popular, like monad-par, graphviz,
Pandoc, and everything else that depends on those. This gives us an
incentive *not* to update mtl and transformers right now.

Now, in order to decide whether we should update mtl today or not, we have
to weigh Haskell Platform conformance against usability.


  I don't think we've ever made a decision to support 7.4.1 already. You
  seem to see this differently.

Yes, exactly. I've been supporting GHC 7.4.1 for quite a while. I use it
myself, and I support it in the sense that I don't commit any updates
without testing first how they affect the 7.4.1 environment. I use monad-par
in several of my projects, and I also heavily depend on Pandoc. The mtl
update breaks those two packages, leaving me with a non-functional working
environment! That situation is very unpleasant for me.

Given the fact that the new HP standard hasn't been released yet, I feel
that having a usable system is more important than conformance. That
judgment is probably going to change once a new HP release has been made,
but until then I'd rather have a system that actually works.

Take care,
Peter

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev