How can I tell Cabal which dependency to use?

I'm trying to get Cabal to install the haskell-src-meta package, and I'm having difficulty with the template-haskell dependency. Dependencies for haskell-src-meta include how

 template-haskell >=2.7 && <2.9, template-haskell >=2.4 && <2.7, 

It so happened that template-haskell version 2.7 and later will not be installed on my system, but template-haskell 2.5.0.0 will be installed.

When I ask Cabal to install haskell-src-meta , how can I say that it uses template-haskell == 2.5.0.0 ?


Here is the complete information for cabal info haskell-src-meta on my system:

 * 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 
+6
source share
1 answer
 cabal install --constraint="template-haskell == 2.5.0.0" haskell-src-meta 
+9
source

Source: https://habr.com/ru/post/910454/


All Articles