New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
haskell-fay haskell-fayBase #2294
Comments
It looks like fay doesn't know where to look for fay-base - it's only searching in the fay installation directory. Maybe it's worth dragging in @bergmark and the rest of those smart Fay folks to see if they have any suggestions :) |
@ocharles well, I can't see a particularly good reason for fay-base and fay being different entities to begin with. I kinda understand the idea behind moving fay-jquery and other non-essential stuff to a different hackage package but not these two, maybe @bergmark will shed some light on this (we're summoning him here, is that correct? :) ). I think for now I'll just wrap fay into a new hackage project and nix it in my dev environment like this. |
The reason they are separate packages is because if you write a fay package and put fay in your We use a heuristic (ie. ugly hack) to determine where fay package sources are located based on fay's installation directory. This works for standard cabal setups but a lot of distros trying to re-package fay has had this problem. We can't solve this by using Paths modules since fay would then need a reverse dependency on all fay packages. Is this a new problem for nix? This part of Fay hasn't changed since we split out fay-base over a year ago so either it's always been broken or there has been some change in where nix installs things. Passing This might improve with Cabal 1.20, but for now either use |
Do I understand that correctly: The build of |
I'm not sure what you mean by "configure time". It needs to be passed when you invoke the fay executable, |
I thought that there might be a way to compile fay in such a way that it knows the correct path to its base library, but apparently fay doesn't support that. :-( In that case, the only way to solve this issue is to create a wrapper for the fay binary that specifies the correct --base-path option on the command line. It would be really nice of upstream could fix their path logic instead. |
Hmm maybe that option could be added. Is the share directory for haskell packages known before they are installed on nix? |
If that's tricky (sounds hacky anyway) you may consider (perhaps-less-hackily) unpacking fay-base somewhere and then using the same option to point to that. |
My understanding is that |
What do you mean by "build input"? |
Ah, I just checked and I see that |
Right, theres as far as I know no way to enforce this dependency, What we would like to do is to generate a
And this is why the executable/library provides ways to specify which pkg-db or path to use to find fay-base, where the default calls the |
Okay, so if In that case, we can modify the |
The way this heuristic works is that fay checks where it's own data-files directory is located by importing its own Paths module, this is typically something like I'm assuming this doesn't match the data-files hierarchy that nix has, otherwise it would just work. And no, |
|
Please re-open this issue in case it's still relevant. |
was this resolved? if yes, what was the resolution. Still seeing the issues on 16.03.1111.f231b2b: fay: unable to find (existing) package's share dir: fay-bas |
Greetings, people. I'm trying to move all of my Haskell-related development to Nix and get the following both on NixOS and running nix on Arch Linux (providing a clean output of commands in a clean vm for purity, hehe):
Am I missing something?
The text was updated successfully, but these errors were encountered: