On 03/29/2010 06:19 PM, Reinier Lamers wrote: > Op zondag 28 maart 2010 23:47 schreef Lennart Kolmodin: > >> I've just put darcs-2.4 into Gentoo Linux. >> It required quite a few more dependencies than darcs-2.2, they have all >> been added to portage too. >> > Good to hear! > > Is it difficult to deal with more dependencies on Gentoo? I'd hope that one > can just make one ebuild file that works with any cabalized project with only > minor, automated tweaks. >
It's not difficult, it just takes time :) Also requires some more testing and some more work for the arch teams (who marks darcs as usable on different platforms). It should not stop you though, libraries makes your work easier. We do generate ebuilds (package description files for the package manager) with a tool called hackport, and it gives an usable result for most packages. It's not always without trouble though. There are usually two things; 1) Dependencies in ebuilds must be wildcard, open or exact. That is, closed ranges are not supported. regex-compat >= 0.71 && < 0.94 # can't translate this perfectly In this case we just kept <0.94 as there is no version published on hackage lower than 0.71. There is likewise no version greater than 0.92 in hackage, so actually any version of regex-compat could be used. Similar reasoning has been done for the other dependencies. Sometimes it's good to have a minimal allowed version, if there are many older versions in hackage. Same reasoning can be used to protect yourself to API changes in newer versions of a package you need. As maintainers of applications in distros we try to make the user experience as smooth as possible given our limitations.... 2) We usually only allow one installed version of each package. That is, you can for example only have one version of the package utf8-string installed when using the Gentoo package manager. If a package is not supporting the newest version of each package it depends on, the dependency can be broken if another haskell package in Gentoo requires a later version, resulting in a package upgrade. In these cases, like with mmap, we don't add version 0.5.4 to Gentoo as hashed-storage doesn't support it but darcs seems to do, which could potentially create a conflict. (in my experience upgrading can break dependencies of installed packages. when the package manager discovers the conflict it can try to solve it, but it can get messy...) For some few packages we allow to install several versions, like for quickcheck (compare qc1 and qc2), and parsec (v2 vs v3) where packages usually require different versions, resulting in much trouble if we wouldn't allow both to be installed. In the case of mmap as above, it's used too rarely to allow to install two versions of the same package. > I do hope that those tests are not going to flood our bug tracker :) > Unlikely :) Best regards, Lennart Kolmodin _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
