Some questions about building git-annex with stack
:
What are the pros/cons of setting the new flags
HttpClientRestricted
andGitLfs
toTrue
/False
?extra-deps
in stack.yaml specifies specific package versions, some of which are older than the latest ones on Hackage. I find myself needing to patch some of theseextra-deps
to later ones; these still seem to meet the git-annex.cabal constraints, but I wanted to check if there's a specific reason the later versions aren't used in the standardstack.yaml
.
Thanks!
These flags avoid pulling in some new external dependencies, which might not be available in a particular set of haskell packages or might fail to build (probably not). Since git-annex vendors a copy of those libraries, disabling them won't change the result. (But I'm going to drop those vendored libraries from it eventually.)
The way the stack.yaml works is it pins every single dependency at a particular known-working version. That's the only reason to use it rather than cabal. Cabal is generally the easiest way to get a build with all the bleeding edge versions.
I update the stack.yaml to more or less current versions periodically. (Specifically the versions chosen in a particular LTS release, which can be behind bleeding edge in some cases when there's breakage being sorted out there.) But my past several tries with newer lts versions have failed because the debian packages are too old to use them.