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

ltk: fix haskell-gi-overloading dependency #30462

Closed
wants to merge 3 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -973,4 +973,13 @@ self: super: {
amqp-utils = super.amqp-utils.override {
amqp = dontCheck super.amqp_0_18_1;
};

# depends on haskell-gi-overloading-0.0
ltk = doJailbreak super.ltk;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

haskell-gi-overloading-0.0 is a special magic dependency that implies a certain build configuration in which some gi overloading feature is disabled. I'm pretty sure that you don't want to jailbreak that. Instead, you should probably just pass the proper version (which we have in hackage-packages.nix).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I didn't do much haskell at all so far, so this all is magic to me :-D

I only came across this when changing an input much further down the chain, which triggered a rebuild of ltk and all the things behind it.

Building ltk seems to have always failed, due to the package from hackage depending on haskell-gi-overloading, which seems to not satisfy haskell-gi-overloading-0.0, which is why I jailbreaked it to use 0.1

Using both haskell-gi-overloading-0.0 and haskell-gi-overloading-0.1 fails when building leksah, see comment 2 of this PR, so that's why I jailbreaked leksah too, to build both with 0.1, which apparently makes leksah build and run.

So what would be the right way to fix this? Overriding libraryHaskellDepends for package ltk to the 0.1 version? I fear this will still lead to similar problems as in comment 2.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I committed a proper fix in d2f9dc4.


# tests fail
leksah-server = dontCheck super.leksah-server;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I very much doubt that leksah is going work after this. The test suite fails because leksah has broken assumptions about the underlying Cabal library. Those won't magically fix themselves by disabling the test suite. I would REALLY recommend that you report this issue upstream.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I opened leksah/leksah-server#15. Also tried leksah/leksah-server@c9bec90, but output still looks the same after applying this patch.


# depends on haskell-gi-overloading-0.0
leksah = doJailbreak super.leksah;
}