Skip to content
  • inaki's avatar
    Make the solver aware of pkg-config constraints · 0316fade
    inaki authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
    When solving, we now discard plans that would involve packages with a
    pkgconfig-depends constraint which is not satisfiable with the current
    set of installed packages (as listed by pkg-config --list-all).
    
    This fixes https://github.com/haskell/cabal/issues/3016.
    
    It is possible (in principle, although it should be basically impossible
    in practice) that "pkg-config --modversion pkg1 pkg2... pkgN" fails to
    execute for various reasons, in particular because N is too large, so
    the command line becomes too long for the operating system limits.
    
    If this happens, revert to the previous behavior of accepting any
    install plan, regardless of any pkgconfig-depends constraints.
    
    (cherry picked from commit c72aa8db)
    
    +
    
    Monitor the pkg-config db for changes
    
    We use the pkg-config db as an input for the solver, so we ought to
    monitor it for changes. The pkg-config tool makes this possible, if not
    totally trivial.
    
    (cherry picked from commit f968b41e)
    0316fade