Comments (3)
There seems to be some edge cases in combination of flags & conditional dependencies:
$ arch-hs-diff -f HTTP:warp-tests:true HTTP 4000.3.14 4000.3.15
ⓘ You assigned flags:
HTTP
⚐ warp-tests : True
...
Depends:
base >=4.3.0.0 && <4.14
time >=1.1.2.3 && <1.10
array >=0.3.0.2 && <0.6
bytestring >=0.9.1.5 && <0.11
parsec >=2.0 && <3.2
--------------------------------------
base >=4.3.0.0 && <4.15
time >=1.1.2.3 && <1.11
array >=0.3.0.2 && <0.6
bytestring >=0.9.1.5 && <0.11
parsec >=2.0 && <3.2
MakeDepends:
case-insensitive >=0.4.0.1 && <1.3
deepseq >=1.3.0.0 && <1.5
HUnit >=1.2.0.1 && <1.7
httpd-shed >=0.4 && <0.5
http-types >=0.8.0 && <1.0
mtl >=1.1.1.0 && <2.3
pureMD5 >=0.2.4 && <2.2
split >=0.1.3 && <0.3
test-framework >=0.2.0 && <0.9
test-framework-hunit >=0.3.0 && <0.4
wai >=2.1.0 && <3.3
warp >=2.1.0 && <3.3
The .cabal file, however, has the following conditional dependencies:
if flag(network-uri)
Build-depends: network-uri == 2.6.*, network >= 2.6 && < 3.2
else
Build-depends: network >= 2.3 && < 2.6
if flag(warp-tests)
CPP-Options: -DWARP_TESTS
build-depends:
case-insensitive >= 0.4.0.1 && < 1.3,
http-types >= 0.8.0 && < 1.0,
wai >= 2.1.0 && < 3.3,
warp >= 2.1.0 && < 3.3
if flag(conduit10)
build-depends:
conduit >= 1.0.8 && < 1.1
else
build-depends:
conduit >= 1.1 && < 1.4,
conduit-extra >= 1.1 && < 1.4
So with network-uri
being true
by default and warp-tests
being true by manually specified, network
, network-uri
and conduit
, conduit-extra
were missing from MakeDepends.
from arch-hs.
It seems that flags will be droped (i.e., all branches of the condition tree are discarded) if they didn't be specified, even if those have default values.
from arch-hs.
Closed because this feature has been implemented.
from arch-hs.
Related Issues (18)
- impl(ghc < 8.0) dependencies should not output HOT 3
- Wrong OS type
- arch-hs output dir should use pkgname HOT 1
- Flags missing default values in simplification of CondTree
- Support SubLibraries HOT 1
- Failed to run arch-hs with target cabal-fmt
- Missing build tools
- arch-hs-diff showed wrong flags
- Use cabal to resolve dependencies HOT 3
- Machine parsable output HOT 3
- Polysemy is deprecating MemberWithError HOT 1
- Description with backticks gets executed
- Special case licenses HOT 1
- Unaligned prefix spaces in arch-hs-diff when running for optparse-applicative HOT 3
- Reference Cabal Environmental Variables HOT 1
- Wrong arch-hs-diff result for hashtables 1.2.4.0 1.2.4.1 HOT 1
- <no location info>: error: module ‘Setup’ cannot be found locally HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arch-hs.