-
Notifications
You must be signed in to change notification settings - Fork 11
Rework Nix system #148
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
base: main
Are you sure you want to change the base?
Rework Nix system #148
Conversation
Removed all 'old-style' Nix infrastructure in favor of nix flakes. This makes all the Nix logic easier to understand whilst also making it easier to include this within other projects.
Stupid question, but why does it build |
Not at all! It's actually misleading naming, it doesn't build clash-protocols itself. In Note: this is specific to the |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. Can I merge @jaschutte ?
Is Here was where it was applied. Press the |
That patch should no longer be needed since it's upstream in GHC 9.10 Edit: Actually that's not true. It's in a backport for GHC 9.10.2 but anything before that does not include that commit. So it indeed should remain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per Rowan's comment, the patch for aarch64 should remain
[edit] Or GHC upgraded from current 9.10.1 to 9.10.2 [/edit]
I have reapplied the patches, although I can't test it myself as I do not have an aarch64-linux device. Could @rowanG077 test if it properly applies? If it does, I think this is good to merge |
I do wonder why the patches are applied here though instead of directly at clash-compiler, surely if it's a bug with GHC it would happen to all clash projects right and not just clash-protocols? So why are the patches being applied only here? |
Excellent question! The answer might be that Rowan critically needed it to continue what he was working on. But if you can actually make this part of the Nix flake in the |
Rowan, I agree with James that it'd be best if someone actually tested whether the |
I noticed when adding clash-protocols as a dependency, the project's circuit-notation will fail as it grabs it from hackage. By exposing circuit-notation you can add it as an override resolving the issue.
I think this should be squash-merged, with the commit message of the first commit as the final commit message. You could make this more explicit by squashing the commits before merge (but we'll still use a squash merge as there is a difference between a squash merge and a normal merge of a single commit, and we like to use the former). |
Removed all 'old-style' Nix infrastructure in favor of nix flakes.
This makes all the Nix logic easier to understand whilst also making it easier to include this within other projects.
The only downside is that you can no longer use old nix syntax, but considering clash-compiler doesn't support that, I don't see why clash-protocols should.