[arch-haskell] Thoughts on Procedure
Don Stewart
dons at galois.com
Sat Oct 12 07:37:00 UTC 2013
simons:
> Hi Rémy,
>
> > My project is to implement in pure Haskell formal consistency checks
> > (PKGBUILDs requiring versions not existent in provided PKGBUILDs).
>
> are those checks based on the PKGBUILD files? I wonder, because those
> files contain only a subset of the available information since
> cabal2arch cannot translate all version specifications in dependencies.
> Such a check would spot some errors, i.e. it would recognize that
> PKGBUILDS are flat-out missing, but it can't verify whether a dependency
> like "foo == 1.*" or "bar >= 3 && < 5" is fulfilled.
>
> To implement those kind of checks, it would be necessary to work with
> the original Cabal files. Does your tool do that? If it does, then it
> has the potential to speed up "make check" quite a lot!
>
You can use cabal-install to do consistency checks, as described here:
http://www.well-typed.com/blog/24
E.g.
cabal install haxml-1.19 darcsmonitor --dry -v
Where haxml-1.19 is a package we have "fixed".
Resolving dependencies...
selecting HaXml-1.19 (hackage) and discarding polyparse-1.0
selecting HaXml-1.13.2 and HaXml-1.13.3. However none of them are available.
HaXml-1.13.2 was excluded because HaXml-1.19 was selected instead
HaXml-1.13.2 was excluded because of the top level dependency HaXml ==1.19
HaXml-1.13.3 was excluded because HaXml-1.19 was selected instead
HaXml-1.13.3 was excluded because of the top level dependency HaXml ==1.19
cabal: cannot configure darcs-monitor-0.4.0. It requires HaXml <1.14
Indicating that those are inconsistent. You could take the list of
things in AUR, with version numbers, and ask cabal install if they're
consistent (and then, when they're not, iterate, removing inconsistent
packages).
More information about the arch-haskell
mailing list