-
-
Notifications
You must be signed in to change notification settings - Fork 12.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
crystal-lang 0.24.1 #22091
crystal-lang 0.24.1 #22091
Conversation
Formula/crystal-lang.rb
Outdated
@@ -1,15 +1,15 @@ | |||
class CrystalLang < Formula | |||
desc "Fast and statically typed, compiled language with Ruby-like syntax" | |||
homepage "https://crystal-lang.org/" | |||
revision 3 | |||
revision 2 |
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.
Why is this 2? If it's a new version, the revision line should be removed, not decremented by 1.
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.
My bad - I thought it was matching the other platforms build numbers, but it was just a coincidence. I've just dropped this 👍
7058891
to
549d54f
Compare
@matiasgarciaisaia the build fails.
|
@matiasgarciaisaia so I'm not surprised this fails because your CI is using the Homebrew formula, not your bootstrap binary. Bootstrapping 0.24.1 with the Homebrew formula for 0.23.1 does work. I'd suggest you modify your CI procedure to test with your bootstrap binary so this sort of thing is caught before, not after, release. |
@ilovezfs this is a known issue with older LLVM versions that the bootstrap build is using, adding |
What does that do? Also, I guess we could do a 2 stage compile if that works. |
@RX14 And why is this just now an issue but not previously an issue? If this issue is "known," is there an upstream ticket for it? |
@ilovezfs crystal-lang/crystal#4719. |
@ilovezfs The suggestion about changing the CI to bootstrap Crystal is a good one, I think. We're probably discussing it and probably changing it. For the time being, I'm updating the formula so it builds Crystal with That's a kind-of-random bug we've seen, and seems to be related to the LLVM version we're using for building the bootstrap compiler. |
549d54f
to
3379921
Compare
By the way, what is the status of llvm 5 support? |
@ilovezfs it's fully supported. |
Formula/crystal-lang.rb
Outdated
if build.with? "release" | ||
system "make", "crystal", "release=true" | ||
system "bin/crystal", "build", "--release", "--no-debug", "-o", ".build/crystal", "src/compiler/crystal.cr" |
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.
Please let's just merge the release and and non-release branches of this if
. Just add --release
nor not. We should absolutely not be missing -D without_openssl
and -D without_zlib
on release builds.
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.
FYI no one is using --without-release
according to our analytics so perhaps we should just remove the option. The same is true for --without-shards
.
Then we need to switch to |
3379921
to
0b2e907
Compare
I've updated the formula to include the Regarding LLVM5, I'd prefer to release 0.24.1 using LLVM4, and upgrade it in a future release, in which our CI takes tests LLVM5 too. Homebrew is the only package manager in which we haven't successfully released 0.24.1 yet, so I'd prefer to get it done and upgrade LLVM in a future release. |
If it can build with llvm 5, we don't want to use the versioned formula. |
LLVM 5 is fine, it's been battle tested for months on the arch linux crystal package. |
(buildpath/".build").mkpath | ||
|
||
command = ["bin/crystal", "build", "-D", "without_openssl", "-D", "without_zlib", "-o", ".build/crystal", "src/compiler/crystal.cr"] | ||
command.concat ["--release", "--no-debug"] if build.with? "release" |
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.
Since --no-debug
was needed for a successful build, doesn't this imply that the --without-release
option will be broken?
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.
@ilovezfs no, --no-debug
is only an issue on release builds. LLVM only has this bug when running optimizations.
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.
depends_on "llvm@4"
should be replaced with depends_on "llvm"
0b2e907
to
44763f1
Compare
I've ran a few tests on LLVM5 and seems to work fine - so we're doing this 👍 |
Living dangerously! Now only
|
Thanks for the upgrade @matiasgarciaisaia! 🔮 🚢 🎉 |
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install <formula>
)?We've just released Crystal 0.24.1, so this PR updates Homebrew accordingly.
0.24.0 was a pre-release, so 0.24.1 has to be built with 0.23.1 - as the Formula says.
Thanks for the project!