我如何告诉Cabal使用哪种依赖?

Nor*_*sey 6 haskell cabal cabal-install

我正试图让Cabal安装haskell-src-meta软件包,而我对template-haskell依赖性有困难.依赖关系haskell-src-meta包括两者

template-haskell >=2.7 && <2.9,
template-haskell >=2.4 && <2.7,
Run Code Online (Sandbox Code Playgroud)

碰巧template-haskell版本2.7及更高版本不会安装在我的系统上,但template-haskell2.5.0.0将安装.

当我要求Cabal安装时haskell-src-meta,如何告诉它使用template-haskell == 2.5.0.0


以下是cabal info haskell-src-meta我系统的完整信息:

* haskell-src-meta (library)
    Synopsis:      Parse source to template-haskell abstract syntax.
    Latest version available: 0.5.1
    Latest version installed: [ Not installed ]
    Homepage:      [ Not specified ]
    Bug reports:   https://github.com/benmachine/haskell-src-meta/issues
    Description:   The translation from haskell-src-exts abstract syntax to
                   template-haskell abstract syntax isn't 100% complete yet.
    Category:      Language
    License:       BSD3
    Author:        Matt Morrow
    Maintainer:    Ben Millwood <haskell@benmachine.co.uk>
    Source repo:   git://github.com/benmachine/haskell-src-meta.git
    Flags:         new-th
    Dependencies:  base >=4.2 && <4.6, haskell-src-exts >=1.8 && <1.12,
                   pretty >=1.0 && <1.2, syb >=0.1 && <0.4, th-lift ==0.5.*,
                   template-haskell >=2.7 && <2.9,
                   template-haskell >=2.4 && <2.7, uniplate >=1.3 && <1.7
    Cached:        No
    Modules:
        Language.Haskell.Meta
        Language.Haskell.Meta.Parse
        Language.Haskell.Meta.Parse.Careful
        Language.Haskell.Meta.Syntax.Translate
        Language.Haskell.Meta.Utils
        Language.Haskell.TH.Instances.Lift
Run Code Online (Sandbox Code Playgroud)

ehi*_*ird 9

cabal install --constraint="template-haskell == 2.5.0.0" haskell-src-meta
Run Code Online (Sandbox Code Playgroud)