Comments (3)
I'm using v1 with Nix as a workaround for an issue with v2 finding binaries like BNFC, may also affect Alex & Happy
I'd be grateful if you could bump those issues if/when you find them. You are welcome to ping me as well.
from cabal.
This was found in the process of testing https://gist.github.com/ScottFreeCode/9b0ea3e52fa56c93ea8ca14791e55bb4 for whatever that's worth. That gist in turn is relevant to various issues relating to BNFC/Alex/Happy, Cabal+Nix integration, Cabal v2 build, etc. I'm going to be sharing it around to them in the near future, I kinda had a list running but… well, I never put the list all in one place so I'll have to dig them up.
from cabal.
The TL;DR on the Cabal v2 problem is that it doesn't find executables provided by nix-shell.*
Found the issue I opened for it at NixOS/nixpkgs#176887 – that thread also links a lot of GitHub issues, some of which link or are linked to by still more ones, revolving around this problem or related ones about the underlying causes/limitations. The issue reports are scattered across Nixpkgs, IOHK's/IOG's haskell.nix, and Cabal. I can ping all of them if appropriate, or all the Cabal ones that seem to be directly and not merely tangentially related.
Note that unlike the v1- issue, which depends only on using Cabal's --enable-nix
/nix: True
integration, the v2 issue is only demonstrated by the "+preprocessing" half of the gists, which try to use BNFC, Alex and Happy (I think the issue happens with any of those, and not just with the custom BNFC code generation Setup.hs). The other half of why I put those examples together was to have minimal demonstrations of how to use callCabal2Nix
(for which I need to go ask for better documentation, unless it's improved in the past year) and how to automate a BNFC project. (I plan to also share the gist collection on issues where people said "We're using iohk so that we can just write our normal Cabal Haskell project and then have Nix wrap it to provide the dependencies," for example.)
*Or provided by Nix using IOHK's haskell.nix, which I think may be a much more complex wrapper around the same nixpkgs callCabal2Nix that my gists are using directly. Most of the issues where this comes up, concern iohk's haskell.nix; but just using the base callCabal2Nix
runs into it and I don't think the issue is really on iohk's end.
from cabal.
Related Issues (20)
- Cabal uses source files from `.` even when `.` is not listed under `hs-source-dirs` HOT 5
- code-generators documentation is unclear about which GHC options are passed HOT 2
- Cabal REPL stack overflows when working around lack of support for multiple home units HOT 5
- `cabal check` should check `base` bounds wrt language extensions HOT 4
- `cabal haddock` help text suggests flags that don't work HOT 1
- `cabal haddock` help text reports incorrect behavior for dependencies
- Support wildcards in c-sources and cxx-sources?
- Allow executable sections to imply flags HOT 4
- "componentAvailableTargetStatus: impossible;" on 3.10.1.0 HOT 3
- QuickCheck PathName function may produce bad paths on Windows HOT 10
- Solver error message: suggest cabal update HOT 2
- [RFC] Separate linking
- Cabal-syntax-3.10.2.0 is going to violate PVP HOT 15
- Cannot install packages from tarball HOT 6
- regarding the extra-bundled-libraries field
- Haddock failure with basement on 3.10.1.0, not with 3.8.1.0 HOT 10
- Suppressing the "could not find link destinations" warning in cabal haddock
- How to enable C++11 for Mac ? HOT 3
- warnOnTwoConfigs is overzealous on Windows HOT 2
- `Arbitrary` instances for `InstallDirs` and `PathTemplate` create invalid filenames
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 cabal.