Skip to content
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

llvm 3.9.0 #4579

Closed
wants to merge 5 commits into from
Closed

llvm 3.9.0 #4579

wants to merge 5 commits into from

Conversation

Godin
Copy link
Contributor

@Godin Godin commented Sep 7, 2016

  • creduce
  • ponyc
  • castxml
  • ldc devel
  • ldc
  • crystal-lang

@DomT4
Copy link
Member

DomT4 commented Sep 7, 2016

Will also need to bump the revisions on castxml, creduce, emacs-clang-complete-async, ponyc and rtags. Some of those may well need new releases or compatibility patches backported.

@Godin
Copy link
Contributor Author

Godin commented Sep 7, 2016

@DomT4 increased revision in all formulas which have depends_on "llvm", i.e. crystal-lang and ldc in addition to your list. And indeed - according to Jenkins almost all of those projects should be updated/patched to compile with clang 3.9 😞

Shall we do the same for formulas with depends_on "llvm" => :optional, i.e. doxygen, cctols and rust ?

@DomT4
Copy link
Member

DomT4 commented Sep 9, 2016

And indeed - according to Jenkins almost all of those projects should be updated/patched to compile with clang 3.9

I feared as much, to be honest. LLVM updates are usually pretty hard to get through.

Let's see what the response is from upstreams as to whether this is something we can get done quickly through patch backports or new releases, but otherwise we might have to consider adding the 3.9.0 release as a new formula & migrating things over as possible.

Shall we do the same for formulas with depends_on "llvm" => :optional

We don't bother; option usage is generally fairly low & forcing everyone to do a rebuild to cover the small minority that use those options isn't worthwhile.

@DomT4 DomT4 added in progress Stale bot should stay away upstream issue An upstream issue report is needed labels Sep 9, 2016
@Godin
Copy link
Contributor Author

Godin commented Sep 9, 2016

Strange, ponyc fails, while its current version 0.3.0 supposed to have support for LLVM 3.9 already - ponylang/ponyc@f0fa3fc

@Godin
Copy link
Contributor Author

Godin commented Sep 9, 2016

According to release notes ldc-1.1.0-beta2 (devel in homebrew) supposed to work too, but also fails.

@Godin
Copy link
Contributor Author

Godin commented Sep 9, 2016

Seems that crystal-lang put update to LLVM 3.9 on hold - crystal-lang/crystal#3237

@Godin
Copy link
Contributor Author

Godin commented Sep 9, 2016

Patch from castxml upstream - CastXML/CastXML@e1ee685 , but unfortunately due to change in README.rst it can't be applied cleanly on current version 0.1+git20160412 in homebrew.

@Godin
Copy link
Contributor Author

Godin commented Sep 9, 2016

😋 creduce successfully patched

@Marqin
Copy link

Marqin commented Sep 22, 2016

  • ponyc has updated to 0.3.2 and seems to have few more commits about fixing llvm39 since 0.3.0

@Godin
Copy link
Contributor Author

Godin commented Sep 22, 2016

@Marqin thank you for notification. master branch has been merged into this to get update of ponyc, let's see what @BrewTestBot will tell us

@Godin
Copy link
Contributor Author

Godin commented Sep 23, 2016

Looks like @BrewTestBot can't eat PRs containing merges from master with resolution of conflicts, so instead rebased this branch.

@Godin
Copy link
Contributor Author

Godin commented Sep 23, 2016

😋 ponyc passed

Thanks again for notification @Marqin 👍

@Marqin
Copy link

Marqin commented Sep 23, 2016

btw. could it be possible to add this as standalone llvm39 package (like llvm38, llvm37, etc.) ?

@Godin
Copy link
Contributor Author

Godin commented Sep 23, 2016

@Marqin I don't think the same question in multiple places gives any speedup.
Some work has been already started - https://github.com/Homebrew/homebrew-versions/pull/1384

And as stated in https://github.com/Homebrew/homebrew-versions/blob/19e6a94df3130a8038789aa5c1dcd5eccffc5850/.github/ISSUE_TEMPLATE.md

Please note by far the quickest way to get a new formula into Homebrew is to file a Pull Request.

So to really speedup the process - IMO either provide a PR yourself for the opened issue, either help finalize an existing PR 😉

@Godin Godin force-pushed the llvm-3.9.0 branch 4 times, most recently from 3d2a7e0 to bede48d Compare September 26, 2016 05:41
@Godin
Copy link
Contributor Author

Godin commented Sep 26, 2016

😋 castxml passed after update and patch

@Godin
Copy link
Contributor Author

Godin commented Sep 27, 2016

ldc devel actually includes so called ldc-lts, which is ldc-0.17.1, and this one is failing, not ldc-1.1.0-beta2. I have no idea why ldc-lts was preserved here together with stable ldc-1.0.0. but this definitely doesn't look like an upstream issue. And so I'm wondering if it can be simply removed? This way we'll be able either do a patch just for 1.0.0 (hopefully by picking it from 1.1.0-beta2), either wait 1.1.0 GA. Otherwise 0.17.1 should also be patched and guessing based on gap between version numbers it might be not that straightforward, i.e. probably without cherry-picking from upstream.

@DomT4 maybe you have an advice?

@iMichka iMichka mentioned this pull request Oct 3, 2016
4 tasks
@iMichka
Copy link
Member

iMichka commented Oct 3, 2016

@Godin I updated castxml separately, because the old URL's were broken and there were no Sierra bottles. You can rebase your PR. Of course the patch for llvm 3.9 needs to stay the time being.

P.S. thanks for pushing llvm 3.9 forward 👍

@Godin
Copy link
Contributor Author

Godin commented Oct 17, 2016

@JohanEngelen @John-Colvin thx for notification, rebased and ldc-devel passed. So just need to wait when it will go out of beta.

@ilovezfs
Copy link
Contributor

@Godin looks like ponyc needs a little conflict resolution

@ilovezfs
Copy link
Contributor

@Godin there's a crystal-lang PR adding 3.9 support now crystal-lang/crystal#3439 if you'd like to test it out!

@Godin
Copy link
Contributor Author

Godin commented Oct 20, 2016

@ilovezfs yup, ponyc got several updates in past days and gets conflict resolution with each rebase here. And thanks for notification about crystal-lang, I'll try to check it.

@Godin
Copy link
Contributor Author

Godin commented Oct 20, 2016

😋 crystal-lang passed build after patch

However I did not checked whether it actually works or not.
I guess anyway would be better to wait when work in crystal-lang/crystal#3439 will be finished and it will be closed.

@JohanEngelen
Copy link

(Note that LDC has a chicken-egg problem with this: we use homebrew in our CI tests to install LLVM. Because LLVM3.9 is not available yet, we also can't test whether LDC works with LLVM3.9 on Mac...)

@ilovezfs
Copy link
Contributor

I don't see any reason to wait on crystal-lang/crystal#3439.

@ilovezfs ilovezfs closed this in 2302dee Oct 20, 2016
@ilovezfs
Copy link
Contributor

@Godin Thanks for your excellent work on this PR and your contribution to Homebrew! 🎆

@ilovezfs
Copy link
Contributor

@JohanEngelen chicken and egg problem solved :)

@JohanEngelen
Copy link

JohanEngelen commented Oct 27, 2016

@ilovezfs It would help me a lot if brew install llvm39 would work (instead of brew install llvm which I read installs LLVM3.9 at the moment).

Edit: see https://travis-ci.org/ldc-developers/ldc/jobs/171078525 , line 101, for the failure with brew install llvm39

@ilovezfs
Copy link
Contributor

@JohanEngelen You can add a symlink in Aliases

ln -s ../Formula/llvm.rb /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Aliases/llvm39

@JohanEngelen
Copy link

The reason I want to type llvm39 is that llvm or your proposed solution will require babysitting. If brew updates to llvm4.0, I don't want the tester to automatically update to it too.

@ilovezfs
Copy link
Contributor

I'd recommend using your own tap in that case.

@jgavris
Copy link

jgavris commented Oct 27, 2016

@JohanEngelen @ilovezfs Hopefully someone will make an llvm39 formula https://github.com/Homebrew/homebrew-versions/blob/master/llvm38.rb

@ilovezfs
Copy link
Contributor

llvm.rb in core is the llvm39 formula.

@JohanEngelen
Copy link

I'd much appreciate the copy-paste from homebrew-core/llvm.rb to homebrew-versions/llvm39.rb !

@ilovezfs
Copy link
Contributor

@JohanEngelen You can do that in your own tap ... it's not difficult to set up: https://github.com/Homebrew/brew/blob/master/docs/How-to-Create-and-Maintain-a-Tap.md

@JohanEngelen
Copy link

@JohanEngelen
Copy link

This is very frustrating. Installing an arbitrary version of llvm (brew install llvm) is bound to give build problems for people. Not having a versioned llvm install available effectively means that brew cannot be used for it. Unfortunately, it appears TravisCI does not come with macports preinstalled, otherwise I would have switched already.

@Godin Godin deleted the llvm-3.9.0 branch November 8, 2016 11:45
@MikeMcQuaid
Copy link
Member

[sigh] Homebrew/homebrew-versions#1446

I'm not sure what reaction you expected with "I have no clue about homebrew contribution guidelines and do not wish to know."

Installing an arbitrary version of llvm (brew install llvm) is bound to give build problems for people.

Which is why we allow you to install older versions in homebrew/versions, any version pinned to a version from your own tap and are working on improving our versions support (Homebrew/brew#620).

Not having a versioned llvm install available effectively means that brew cannot be used for it.

The large numbers of people doing brew install llvm disagree with you.

Unfortunately, it appears TravisCI does not come with macports preinstalled, otherwise I would have switched already.

I'm not sure what this is meant to communicate to us. You can make your TravisCI job install MacPorts, checkout a specific version of Homebrew and disable auto-update, install from your own tap, etc. If you'd behaved a little differently I'd be willing to help you do that but you didn't so I'm not, sorry.

@Homebrew Homebrew locked and limited conversation to collaborators Nov 8, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
in progress Stale bot should stay away upstream issue An upstream issue report is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants