Skip to content
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

Declare dependency on the 'alex' build tool in the Cabal file. #29

Merged
merged 1 commit into from Apr 7, 2014
Merged

Declare dependency on the 'alex' build tool in the Cabal file. #29

merged 1 commit into from Apr 7, 2014

Conversation

peti
Copy link
Contributor

@peti peti commented Apr 7, 2014

Completes the fix for #26.

alanz added a commit that referenced this pull request Apr 7, 2014
Declare dependency on the 'alex' build tool in the Cabal file.
@alanz alanz merged commit 1008094 into erikd:master Apr 7, 2014
@alanz
Copy link
Collaborator

alanz commented Apr 7, 2014

Well that was embarrasingly simple.

I will make a new release for it

@tpsinnem
Copy link

I still get the same failure upon trying to 'cabal install' this :(. I don't actually know what cabal does with these, but I note that although there now is:

build-tools: happy >= 1.18.5, alex >= 3.0.5

Another line below is still only:

Build-tools: happy

Could this cause that?

@alanz
Copy link
Collaborator

alanz commented Apr 17, 2014

You are a victim of this

haskell/cabal#220

The buid-tools are not automatically processed as dependencies, so the installler has to make sure the right ones are present.

This is the original reason I put a pre-generated Lexer.hs in the package, so casual installers could bring it in.

I suspect I may have to go back to something like that, but with GHC version specific includes.

@tpsinnem
Copy link

Apparently having alex 3.0.5, as prescribed in the dependencies, was not enough. After first explicitly installing the newest alex (3.1.3), I was able to install language-javascript. I had by this time also installed the cabal 1.20 release candidate, but didn't research whether or not it made a difference.

@alanz
Copy link
Collaborator

alanz commented Apr 18, 2014

Ok.

Do you suggest I raise the requirement (but only for GHC 7.8.2), or should
I go back to the old way of pregenerating it, and make sure I have two
versions of the lexer, one for current and one for older GHC?

On Fri, Apr 18, 2014 at 9:44 AM, Timo Petteri Sinnemäki <
notifications@github.com> wrote:

Apparently having alex 3.0.5, as prescribed in the dependencies, was not
enough. After first explicitly installing the newest alex (3.1.3), I was
able to install language-javascript. I had by this time also installed the
cabal 1.20 release candidate, but didn't research whether or not it made a
difference.


Reply to this email directly or view it on GitHubhttps://github.com//pull/29#issuecomment-40792958
.

@tpsinnem
Copy link

Unfortunetaly I don't have much of a clue on the relative merits of either :-/

@peti
Copy link
Contributor Author

peti commented Apr 18, 2014

The dependency spec should be fixed, obviously, but please don't include generated files in the distribution tarball outside of "dist". That choice causes trouble, too!

@tpsinnem
Copy link

FWIW, I also, at an earlier stage, installed happy version 1.19.3 at suggestion from #yesod on freenode, but, again, I haven't looked into whether this is significant.

@alanz
Copy link
Collaborator

alanz commented Apr 18, 2014

From the distribution point of view they are not generated at
compile/install time, and to my understanding dist is deleted / rebuilt
from scratch when installing.

Hence they will have to go into some kind of extra directory.

On Fri, Apr 18, 2014 at 10:45 AM, Peter Simons notifications@github.comwrote:

The dependency spec should be fixed, obviously, but please don't include
generated files in the distribution tarball outside of "dist". That choice
causes trouble, too!


Reply to this email directly or view it on GitHubhttps://github.com//pull/29#issuecomment-40795714
.

@peti
Copy link
Contributor Author

peti commented Apr 18, 2014

Are you sure? I think "dist" is used by "cabal sdist" specifically to include platform-independent, generated files in the release tarball so that users don't need to have extra build tools installed that generate them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants