-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
crystal: change all crystal programs to use buildCrystalPackage and update pkgs #83054
Conversation
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.
Looks good to me :)
Thanks for the feedback. I just made the build and install targets configurable, but otherwise this version is the same. I have |
@GrahamcOfBorg build crystal2nix mint scry gitAndTools.thicket |
Shards now depend on |
I saw that last night as well. Upstream was discussing distributing shards with the dependency vendored to avoid having to depend on itself. Maybe we could just do that to avoid the problem until they figure out what they want. I'm open to ideas. |
It'd be nice if we allowed an attrset instead of a path for the |
9605c62
to
635a67e
Compare
I'm just seeing your comment about the attrset now, so that has not been addressed. I hijacked my own PR to clean up the various crystal bits we carry to have them all up to date and using
|
If nobody has any objections (@manveru @kimburgess @filalex77) I'll be merging this soonish. |
Changes to Ameba look good 👍 I've only had time for a shallow read so am not familiar with the current limitations, but working to move away from using that vendored shards repo seems like a neater long term. Possibly worth spinning up a separate issue for tracking / resolving that. |
repo = "shards"; | ||
rev = "v${version}"; | ||
sha256 = "1bjy3hcdqq8769bx73f3pwn26rnkj23dngyfbw4iv32bw23x1d49"; | ||
owner = "peterhoeg"; |
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.
Are you the new maintainer of shards
?
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.
Ah. This is the vendored version. Maybe nix-community would be a better place for this, so we can add more contributors easier.
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.
I actually think we can do without the vendored version. Let me take a look.
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.
And we can. Plus we now get man pages as well.
9c9c565
to
1047042
Compare
@GrahamcOfBorg build ameba crystal2nix icr mint scry shards gitAndTools.thicket |
1 similar comment
@GrahamcOfBorg build ameba crystal2nix icr mint scry shards gitAndTools.thicket |
@peterhoeg seems like it still fails on missing |
I was working against unstable but when rebasing against master, I got the error too. Ahhh, well. It's fixed now. |
Thanks for your feedback guys, I'm merging this. |
checkTarget = "test"; | ||
postFixup = '' | ||
wrapProgram $out/bin/icr \ | ||
--prefix PATH : ${lib.makeBinPath [ crystal shards makeWrapper which ]} |
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.
the makeWrapper here looks like a mistake so i'll remove it
Motivation for this change
See the last comments for more details.
Theicr
change is straight forward and only included here to showcase the change in how we build crystal packages.The crystal builder will now use a Makefile if one is included by the project,shards
if we have the required files in place and otherwise build the specified binaries (the old behaviour).Couple of other things to note:
nativeBuildInputs
that are required by several crystal programs.--no-debug
so rip that outlucky-cli
I'm looking at you)The way I've done the conditionals where we combine bash conditionals with nix conditionals is very ugly and I'm not proud of that at all but it works.Cc @manveru as the person we have to thank for having the crystal build infrastructure in the first place.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)