Skip to content
This repository has been archived by the owner on Oct 7, 2020. It is now read-only.

[WIP] stylish-haskell plugin #1618

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Conversation

lukasz-golebiewski
Copy link
Member

No description provided.

stack.yaml Outdated Show resolved Hide resolved
stack.yaml Outdated Show resolved Hide resolved
lukasz-golebiewski and others added 2 commits January 31, 2020 18:50
Co-Authored-By: Avi Dessauer <[email protected]>
Co-Authored-By: Avi Dessauer <[email protected]>
@lukasz-golebiewski
Copy link
Member Author

I see that jobs for older stack/cabal stacks are failing because of absence of stylish-haskell-0.10.0.0. Is it possible to add a plugin only starting from the currently latest stack/cabal version?

@Avi-D-coder
Copy link
Collaborator

@lukasz-golebiewski Add - stylish-haskell-0.10.0.0 to each stack-*.yaml and a version bound in haskell-ide-engine.cabal.

@@ -26,9 +26,12 @@ extra-deps:
- hie-bios-0.3.2
- hlint-2.2.8
- hsimport-0.11.0
- HsYAML-0.2.1.0
- HsYAML-aeson-0.2.0.0
Copy link
Collaborator

Choose a reason for hiding this comment

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

You'll likely also need to add these to each stack.yaml and to haskell-ide-engine.cabal

Copy link
Member Author

Choose a reason for hiding this comment

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

This doesn't seem to be working :-(

Copy link
Member

Choose a reason for hiding this comment

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

I have to note that HsYAML is using GPL and the project licensing would be affected (not sure if it already is using libs with gpl)

Copy link
Member

Choose a reason for hiding this comment

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

Personally i am fine with linking a gpl lib but the project will have two yaml libs and maybe we should use only one (not in this pr)

Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm also okay with GPL, however stylish-haskell just made the switch, we could ask them to switch back haskell/stylish-haskell@498d676

Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure "fine" is the right wording, since we are not GPL, we do not really have the rights to using it, right? On the other hand, I doubt, too, that someone will sue us.

Copy link
Member

Choose a reason for hiding this comment

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

Hey, I wasn't aware that HsYAML was GPL-licensed. I don't think it's a problem -- it's fine for a BSD3 application to depend on a GPL-licensed library. It does not affect the code of haskell-ide-engine or stylish-haskell, those remain BSD3-licensed. However, the compiled binary must adhere to the GPL license (which seems fine in this case). This is similar to e.g. the fact that GHC links against libgmp by default.

But, if this worries you, I am happy to add a flag to stylish-haskell that makes it pick the C-based yaml as a dependency rather than HsYAML?

Copy link
Member

@jneira jneira Feb 8, 2020

Choose a reason for hiding this comment

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

Afaiu we can use it without changing our licenses files but the license for hie artifacts linking HsYaml becomes auto gpl. So anybody could issue someone who doesnt respect the gpl resdistributing hie.

Copy link
Collaborator

Choose a reason for hiding this comment

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

IANAL, if you argue that this is indeed just fine, I have nothing to say against it :)

Copy link
Collaborator

Choose a reason for hiding this comment

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

Ah. Assuming this is correct, this sounds totally reasonable.

@Avi-D-coder
Copy link
Collaborator

@lukasz-golebiewski There are a few more version conflicts that need to be explicitly specified

stack-8.4.4.yaml Outdated
@@ -12,7 +12,7 @@ extra-deps:
- bifunctors-5.5.6
- brittany-0.12.1.1
- bytestring-trie-0.2.5.0
- Cabal-3.0.0.0@sha256:1ba37b8d80e89213b17db7b8b9ea0108da55ca65f8c0cbb7433881a284c5cf67,26027
- Cabal-2.4.1.0
Copy link
Collaborator

Choose a reason for hiding this comment

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

This does not seem correct?

Copy link
Member Author

Choose a reason for hiding this comment

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

Stack recommended to set cabal version explicitly in https://circleci.com/gh/haskell/haskell-ide-engine/13311
If this is incorrect then I don't think I know how to proceed with this

Copy link
Collaborator

Choose a reason for hiding this comment

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

Does this compile? Because, iirc, stack snapshots are bundled with cabal-install and Cabal versions, iirc, setting a custom Cabal version for a snapshot may not succeed. If it compiles, everything is fine.

Copy link
Member Author

Choose a reason for hiding this comment

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

Not yet, I'm slowly bisecting towards the cabal version satisfying every dependency

Copy link
Member Author

Choose a reason for hiding this comment

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

And back to stack suggesting Cabal-3.0.0.0. Looks like stylish 0.10.0.0 can't be used here and below because of conflicting dependencies :-(

@Ailrun
Copy link
Member

Ailrun commented Apr 10, 2020

Is there any news?

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

Successfully merging this pull request may close these issues.

7 participants