-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Release a Crystal preview on Windows with Scoop #11489
Comments
Starting with the first action item. I see there's an stale issue tracking distribution scripts on Windows. I know that's more related to CI infrastructure, though. Something way simpler could work here. Is there a GitHub Action we can install or install nightly.link to unblock publishing artifacts? I would again throw in a vote for adding nightly.link.
|
Thanks for continuing the discussion here. I've been writing a response but didn't have a place to put it 😅 I have finally tried out this Scoop package you created. It does indeed make things easy. It seems to be what we need now. Some steps remain before I could fully recommend it:
|
Hi, I just tried instructions on comment #5430 (comment) to install crystal and it works like a charm for some examples 👍 |
@faustinoaq Thanks for testing it out! Glad to see it's working for you. I have been actively developing in the bucket though so there's probably a breaking change. You may want to uninstall, run @oprypin Thanks for the testing and all the feedback. I've pushed some changes to address your comments. I also realized that packaging nightlies is trickier than I though. My first instinct was to version them like
Please let me know if you have any more feedback. I will check back in this weekend or early next week after the holiday. Edit: Also let me know if you encounter any issues as I was actively working on the scripts/manifests so you may need the steps up above if you installed before my latest commit. |
@neatorobito Awesome, thanks much! I do fully recommend your repo now 😁
Yes... |
As I was expecting, I did find a bad side effect of relying on a wrapper script. git clone https://github.com/crystal-lang/shards
cd shards
git checkout v0.16.0
make That works with a raw crystal.exe in PATH, but not when installed as here via Scoop.
|
In any case, it would be nice to provide Shards via this solution. Right now perhaps it'd need to be compiled from source. git checkout v0.16.0
mkdir -p lib/molinillo
shards install || (curl -L "crystal-lang/crystal-molinillo@v0.2.0.tar.gz" | tar -xzf - -C lib/molinillo --strip-components=1)
SHARDS_CONFIG_BUILD_COMMIT="ff94dd2" SOURCE_DATE_EPOCH="1633554420" crystal build src/shards.cr -o bin/shards |
Hm, once #11496 is merged we could:
That would get the ball rolling while we work out a CI setup that publishes these binaries later. And then the only other part of this issue I'd like to tackle is some kind of graphic or table I can post in the scoop repo showing what works/doesn't work. I could make a prettier/friendlier version of the table in the #5430, but I wanted to see if anyone felt strongly about that action item. |
Yes, the 1 and 3 steps were exactly what I had on my mind :) 👍 |
@neatorobito A good summary of what missing is needed but it shouldn't be specific to the Scoop repo. At this point we're also targeting extract-and-run (without a package manager) so it would ideally be shared. |
I would actually prefer to build shards here in CI and include it in the build artifact. We ship shards in all other distribution packages already. So there wouldn't be anything specific to be done in scoop. If we can't set that up quickly, it's still possible to rig it up in scoop. |
The Crystal compiler is a debug build, and we don't distribute its PDB file yet. Should this change? |
@straight-shoota I'll work on adding shards to the artifact drop. @HertzDevil Yes, I think it'd be helpful to include the PDB. |
Is there anything actionable left here? |
Nope, all of my concerns have been addressed. I'm excited to see an accessible version of Crystal on Windows! |
That's great. Just bear in mind that Windows support is still incomplete and only experimental 😉 |
What
This issue serves to capture, continue, and hopefully conclude the discussion in #5430 and elsewhere around packaging and distribution for Windows by publishing an official scoop bucket. I've tried to address multiple concerns and add actionable steps.
Why
This discussion has been had across many threads, but to summarize:
I'm not sure if is there some consternation around this, but I want to call out that an MVP does not mean low quality. The work that the Crystal team and contributors have done to get Windows support this far is awesome! Again the majority (80%) of the language works on Windows. There should be no hard feelings about releasing it in it's current state. I've already been hacking away with Windows internals using it and I'm more than satisfied with it's current state. And we think you're going to love it too.
How
I've created a scoop repo here with documentation that builds on @oprypin's work and allow users to run Crystal on Windows. Right now I manually include an artifact drop. In order to make this solution more robust we need to:
Publish the artifacts publicly
Ensure consistent messaging that this is a Preview release.
Make sure the GitHub, Gitter, Twitter, Reddit, etc. are ready for a potential influx of folks.
Publish or point to the scoop repo in an official capacity.
Tell everyone about it.
The text was updated successfully, but these errors were encountered: