[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