abooij / haskell-xkbcommon

Haskell bindings for libxkbcommon
MIT License
7 stars 6 forks source link

Build fails with GHC 8.2 and cabal 2.1. #9

Open Ongy opened 6 years ago

Ongy commented 6 years ago

The build currently fails with GHC 8.2.1 and cabal 2.1.0.0.

First I had to edit Setup.hs to resolve a new naming clash, I had to modify line 3 to: import Distribution.Simple hiding (Module).

After that, when I try to build with: cabal new-build I get the error: setup: No local buildinfo available. configure first

Which from what I can see, is from the Setup.hs.

Ongy commented 6 years ago

Removing the sDist hook in the Setup.hs file allows it to build. But I asume that's not a good solution.

abooij commented 6 years ago

The purpose of the hook is to generate a module with Keysym values from the corresponding C macro file. So removing this is indeed not an option. Perhaps this list of macros should be a separate package, anyway.

Is the error fixed by running cabal configure first?

Ongy commented 6 years ago

cabal configure runs the "old" style cabal, which has to install the dependencies in a different way than new-build uses.

cabal new-configure didn't fix it.

This may be an incompatibility with the cabal new-* functionality, but afaik that's supposed to become default when done, so it should be fixed either way.

abooij commented 6 years ago

Okay, it seems that this build indeed doesn't work on the new-* architecture. Please use the old infrastructure to build haskell-xkbcommon.

Unfortunately I don't have time to look into this now. I pushed a337b4f which should at least make the old build work.

xaverdh commented 6 years ago

Will there be a hackage bugfix release incorporating a337b4f699fef2621ae028eec9171fcd9ea848c5 ?

abooij commented 6 years ago

In principle that shouldn't be a problem. However, I can't guarantee anything about the library at this stage, as this code is quite old. Have you checked if it still works? Are you using it for anything?

xaverdh commented 6 years ago

Not directly. Its used by https://github.com/waymonad/waymonad though, which I am trying to get to compile atm. If its a hassle for you, don't bother. I can use the master branch directly.

abooij commented 6 years ago

Mainly, I'd have to look up the right commands and my password. And I might destroy the online documentation on hackage in the process as I had to upload that manually in 2016.

If there is one user of this package, do let me know and I'll fix it :)

Ongy commented 6 years ago

the linked project is mine ;) And it uses the library. Though it doesn't use the upstream version, as I had to make a few adjustments.

I need to look into them again, why I didn't ever upstream them.

@xaverdh You should git clone --recursive the main repository, unless there's some mistake it pull xkbcommon from my fork which should work to build, and has minor differences (mainly exposes 1 or 2 data constructors I needed)