[Hackage] #566: Don't try and resolve dependencies for packages
that are not buildable
Hackage
trac at galois.com
Fri Jul 3 08:55:29 EDT 2009
#566: Don't try and resolve dependencies for packages that are not buildable
----------------------------------+-----------------------------------------
Reporter: batterseapower | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: Cabal library | Version: 1.6.0.1
Severity: normal | Keywords:
Difficulty: very easy (<1 hour) | Ghcversion:
Platform: |
----------------------------------+-----------------------------------------
I had a component like this:
{{{
Executable edit-distance-benchmark
Main-Is: Text/EditDistance/Benchmark.hs
if flag(splitBase)
Build-Depends: base >= 3 && < 5, array >= 0.1, random >=
1.0, old-time >= 1.0, process >= 1.0,
parallel >= 1.0, unix >= 2.3
else
Build-Depends: base < 3,
parallel >= 1.0, unix >= 2.3
if !flag(benchmark)
Buildable: False
Ghc-Options: -O2 -fvia-C -Wall
}}}
However, I've only just found out that this meant that you couldn't
install any parts of my package on Windows, because Cabal tried to resolve
the "unix" dependency even if "benchmark" was False (the default)!
I've solved this like so:
{{{
Executable edit-distance-benchmark
Main-Is: Text/EditDistance/Benchmark.hs
if !flag(benchmark)
Buildable: False
else
if flag(splitBase)
Build-Depends: base >= 3 && < 5, array >= 0.1,
random >= 1.0, old-time >= 1.0, process >= 1.0,
parallel >= 1.0, unix >= 2.3
else
Build-Depends: base < 3,
parallel >= 1.0, unix >= 2.3
Ghc-Options: -O2 -fvia-C -Wall
}}}
But really Cabal should not need to resolve dependencies for things that
are not buildable.
--
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/566>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects
More information about the cabal-devel
mailing list