[Nix-dev] Stackage Support Will Be Discontinued

Peter Simons simons at nospf.cryp.to
Thu Jun 9 15:03:40 CEST 2016


Hi Anthony,

 > I know you didn't ask for feedback [...].

I'm always happy to get feedback!

 > If the top priority is receiving bug fixes, then keeping an LTS-4,
 > LTS-5, LTS-6, etc. that tracks the most recent minor version makes
 > sense.

You seem to be saying that keeping an old major release like LTS-4
around would somehow help us receive more bug fixes, but I can't see how
that would be true. According to git://github.com/fpco/lts-haskell.git,
the last time any LTS-4 update occurred was on 2016-01-18 -- almost half
a year ago. Surely, there have been point updates that fix bugs between
then and now, but LTS-4 does not seem to receive them, no? That is
because no-one maintains LTS-4. Stackage has moved on to LTS-5, or
rather: LTS-6 by now.

So how exactly do we receive more bug fixes by distributing LTS-4?


 > You say, "Stackage does not "maintain" any of its LTS releases," but
 > the minor releases are precisely the offered maintenance.

The thing is just that minor releases occur only for the latest major
release. LTS-6 has minor release at the moment, but LTS-5, LTS-4, etc.
do not! I agree that it would make sense to continue to distribute LTS-4
if there were further minor releases to come out for that package set.
But there won't be any. As far as Stackage is concerned, LTS-4 is dead.


 > Furthermore, there is no reason a new LTS-5 release can not be issued
 > after the first release of LTS-6.

Sure, this *could* happen and it would be great! Then we'd have a real
long-term supported package set that would be worth-while to distribute.


 > The cultural prominence of Stackage means that the need for security
 > fixes to older versions can actually be promulgated because Stackage
 > has users.

I am sorry, but I have no idea what that sentence means.


 > For a modest application, specifying a particular Stackage release is
 > a concise way of freezing Haskell dependencies.

In Nix, we can solve these things by tagging a specific version of
Nixpkgs and sticking to that. Not only will that freeze the Haskell
dependencies, but it will also freeze all other dependencies, too.


 > A typical Stackage definition is about 70KB.

Huh? That's not what I am seeing in git://github.com/fpco/lts-haskell.git:

   $ ls -lh lts-6.2.yaml
   -rw-r--r-- 1 simons users 4.7M Jun  6 11:58 lts-6.2.yaml


 > Nix definitions require nearly 10x that space is unfortunate, but I
 > had expected a Nix solution to this issue rather than giving up on
 > versions altogether.

Oh, come on. I wrote a very long and detailed explanation of *why* we
give up on tracking Hackage, and to boil that whole article down to "it
was using too much disk space" is just silly.

Best regards,
Peter



More information about the nix-dev mailing list