Yesod and dependencies hell

For three days I can't compile dependencies for my project using yesod, yesod-auth, yesod-persistent, persistent-template, persistent-sqlite, persistent. When I varied version I received a variety of broken dependencies: persistent (0.6.* vs 0.7.*), conduit (0.1.* vs 0.2.*), conduit-pool, path-pieces, attoparsec and something else. In this regard, I have a few questions. How to build these packages together? And, Michael, why so bad? -- Тимофеев Н.Д.

Are you talking about starting a new site, or running an existing
site? For a new site, it's probably a good idea to wait until 0.10
comes out, as it includes a lot of nice enhancements, and we'll be
releasing it this week. If an existing site, you probably need to have
more strict upper bounds on your package dependencies. Without seeing
your cabal file, I can't really comment further.
It also might be a good idea to move this discussion to the Yesod
mailing list (CCed).
On Wed, Feb 8, 2012 at 5:09 PM, Никита Тимофеев
For three days I can't compile dependencies for my project using yesod, yesod-auth, yesod-persistent, persistent-template, persistent-sqlite, persistent. When I varied version I received a variety of broken dependencies: persistent (0.6.* vs 0.7.*), conduit (0.1.* vs 0.2.*), conduit-pool, path-pieces, attoparsec and something else. In this regard, I have a few questions. How to build these packages together? And, Michael, why so bad?
-- Тимофеев Н.Д.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

As somebody who has very recently started working with Yesod -- I feel your pain!
In truth Yesod is a huge bundle of packages, many of which aren't managed by the Yesod developers. I get the impression that they work very hard to keep everything coherent while Yesod continues its very active development. I think it is quite a miracle that it fits together so well under the circumstances and I am quite in awe of the whole development.
You seem to have been unlucky (3 days!) but I have found it to be worth it -- you eventually get an amazing platform.
(I do think that we could be delivering the tools with a little more packaging that could significantly help with these situations. I have found them to be highly useful in any case.)
Chris
-----Original Message-----
From: yesodweb@googlegroups.com [mailto:yesodweb@googlegroups.com] On Behalf Of Michael Snoyman
Sent: 09 February 2012 06:44
To: Никита Тимофеев
Cc: haskell-cafe@haskell.org; yesodweb@googlegroups.com
Subject: [Yesod] Re: [Haskell-cafe] Yesod and dependencies hell
Are you talking about starting a new site, or running an existing site? For a new site, it's probably a good idea to wait until 0.10 comes out, as it includes a lot of nice enhancements, and we'll be releasing it this week. If an existing site, you probably need to have more strict upper bounds on your package dependencies. Without seeing your cabal file, I can't really comment further.
It also might be a good idea to move this discussion to the Yesod mailing list (CCed).
On Wed, Feb 8, 2012 at 5:09 PM, Никита Тимофеев
For three days I can't compile dependencies for my project using yesod, yesod-auth, yesod-persistent, persistent-template, persistent-sqlite, persistent. When I varied version I received a variety of broken dependencies: persistent (0.6.* vs 0.7.*), conduit (0.1.* vs 0.2.*), conduit-pool, path-pieces, attoparsec and something else. In this regard, I have a few questions. How to build these packages together? And, Michael, why so bad?
-- Тимофеев Н.Д.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi, Am Donnerstag, den 09.02.2012, 11:39 +0000 schrieb Chris Dornan:
(I do think that we could be delivering the tools with a little more packaging that could significantly help with these situations. I have found them to be highly useful in any case.)
if you are content with not always having the very latest versions, you can use your distribution’s packages. Distributions tend to provide exactly one (well, at most one :-)) version of each hackage library, and they all go well together. But then, for a few more days, Debian sid is broken due to the GHC 7.4.1 transition... Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

On Thu, Feb 9, 2012 at 3:45 PM, Joachim Breitner
Hi,
Am Donnerstag, den 09.02.2012, 11:39 +0000 schrieb Chris Dornan:
(I do think that we could be delivering the tools with a little more packaging that could significantly help with these situations. I have found them to be highly useful in any case.)
if you are content with not always having the very latest versions, you can use your distribution’s packages. Distributions tend to provide exactly one (well, at most one :-)) version of each hackage library, and they all go well together.
But then, for a few more days, Debian sid is broken due to the GHC 7.4.1 transition...
Greetings, Joachim
Firstly, Yesod 0.10 is out, so if you upgrade, there shouldn't be any more dependency hell. I'm highly optimistic that there won't be much more of this kind of pain in the future. As far as using distribution packages: I've recommended against it in the past, due to the combination of Yesod's speed of development and the lack of package coverage. However, we're getting to a point now where Yesod development is stabilizing on solid APIs, and the distribution packages are beginning to cover many more dependencies. Perhaps by Yesod 1.0 (hopefully available next month), it will be a real possibility to depend entirely on distribution packages. I might start to experiment with that myself soon, don't be surprised if you hear some questions from me. Michael
participants (4)
-
Chris Dornan
-
Joachim Breitner
-
Michael Snoyman
-
Никита Тимофеев