Closed Rylan12 closed 3 years ago
@Rylan12 can I pick this one? Please assign to me!
@mayank thanks for your interest! Please feel free to work on this!
This is too big of a project for one person to tackle on their own, but feel free to open a PR to update one or a few formulae.
@mayank and @Rylan12 I would like to help if at all possible since this could be quite an undertaking. Feel free to assign me if that's ok!
@Rylan12 I need to install all the formulas on mac? Is there anything like docker for this? I can write some testing script which will run all at once.
There are 234 formulas that are independent: they depend on python@3.8 only directly, they have not reverse dependencies. I will deal with those first.
@LSmith-Zenoscave and @mayank, this is not an issue that will be closed with one PR that updates all 400 formulae. The best way to do it is just to make a few PRs, each with one formula. Take a look at some of the PRs that have been made so far if you need a model for what we're looking for.
If you're not already a Homebrew user this probably isn't a great issue for you. If you want to get more involved, though, feel free to check out some of the links I've added above for information about how to get set up.
@fxcoudert: can you post the list of independent formulae (maybe link a gist?) so others can help out with those?
FYI to anyone looking to help out here: The current virtualenv
version we're using doesn't seem to support Python 3.9 so we should hold off on updating lots of formulae until that issue's been resolved.
Edit: I've started a fix in https://github.com/Homebrew/brew/pull/8873
The list of independent formulas is below. If you don't mind, I'm happy to open PRs for all of them once virtualenv
is fixed: it will literally take 2 minutes, the script is in place, and is already tracking locally which ones I have submitted or not.
There are plenty of other small "clusters" of formulas that can be migrated and where crowd-sourcing will be necessary.
Thanks, @fxcoudert. I've removed the community help tags for now. I jumped the gun a little bit—let's deal with the first round internally and then I'll reopen to the community.
I see that PRs are being generated, what's the plan for those? Mass approval of the ones that pass CI?
What's the plan for the virtualenv
change now that the fix has been merged? Are we going to wait until Monday for a new tag or move ahead?
The PRs should not be merged before the next Brew tag ships, which is expected on Monday (2020-10-12). That will give them time to go through CI, and we can see how many break, and fix them. After Monday, I welcome review and approval of the PRs.
The PRs should not be merged before the next Brew tag ships, which is expected on Monday (2020-10-12). That will give them time to go through CI, and we can see how many break, and fix them. After Monday, I welcome review and approval of the PRs.
Got it, thanks.
Brew 2.5.4 is tagged. Feel free to review / accept the pull requests.
There are 234 formulas that are independent: they depend on python@3.8 only directly, they have not reverse dependencies. I will deal with those first.
Can you share how you came up with those numbers? I found a similar list but with 144.
I just looked for any files that depends_on "python@3.8" with no other deps; call it deps_on_py
Then found any files that were in a depends_on; call it any_deps_on
If there are 144 files that have a depends on python3.8 and only python3.8 are not depended on from my findings.
Perhaps I had some missed? I can add my script to generate these if needed
edit made to adjust correction in my findings (forgot quote in a grep)
brew deps --tree --include-build --include-test
to remove those that if they also depend indirectly on python@3.8I'm not really sure if this is connected, but could you have a look at https://github.com/Homebrew/discussions/discussions/37 and check whether upgrading to Python 3.9 broke docker-compose
?
There's a label, and help is welcome on any relevant PR. I don't think there is much use for this meta-issue, maybe we should close it?
I missed the label... Thanks!
There's a label, and help is welcome on any relevant PR. I don't think there is much use for this meta-issue, maybe we should close it?
Are we definitely going to do the mass migration in https://github.com/Homebrew/homebrew-core/pull/62560? If so, yeah I think this can be closed. If that's not going to work, there are still almost 200 formulae to be migrated so it might be worth keeping open in that case.
Sounds like some of glib gobject-introspection pyqt protobuf bazel libtorch vtk@8.2 gdal vtk ansible emscripten gnuradio kibana libtensorflow libtensorflow@1 mame nest nwchem opencv opencv@3 semgrep wxpython
will be done separately.
This may be controversial, but I hope this is complete before 3.10 is released.
I wanna ask a dumb question: is it OK to upgrade python
, python3
and python@3
aliases to python@3.9
? I guess it won't affect other formulas.
This question is best asked on https://github.com/Homebrew/discussions/discussions, but yes you can update your own alias if you want to.
This is the list of formulas that remain to be migrated to Python 3.9. Almost all of them are independent, and should already have a PR open to which volunteers can contribute:
Also part of the migration are test and audit failures that should be investigated and fixed:
10.15
brew audit vapoursynth --online --git --skip-style
brew audit gtk-doc --online --git --skip-style
brew audit uhd --online --git --skip-style
brew audit cryptominisat --online --git --skip-style
brew audit csound --online --git --skip-style
brew audit cxxtest --online --git --skip-style
brew audit dnsviz --online --git --skip-style
brew test --verbose gnuradio
brew audit mitmproxy --online --git --skip-style
brew audit mkvtomp4 --online --git --skip-style
brew install --verbose --build-bottle redex
10.14
brew audit vapoursynth --online --git --skip-style
brew audit gtk-doc --online --git --skip-style
brew audit uhd --online --git --skip-style
brew audit anime-downloader --online --git --skip-style
brew audit cmark-gfm --online --git --skip-style
brew audit cmark --online --git --skip-style
brew audit code-server --online --git --skip-style
brew audit cryptominisat --online --git --skip-style
brew audit csound --online --git --skip-style
brew audit gnuradio --online --git --skip-style
brew test --verbose gnuradio
brew audit gprof2dot --online --git --skip-style
brew audit rdiff-backup --online --git --skip-style
brew install --verbose --build-bottle redex
brew audit redex --online --git --skip-style
10.13
brew audit vapoursynth --online --git --skip-style
brew audit gtk-doc --online --git --skip-style
brew audit uhd --online --git --skip-style
brew audit cryptominisat --online --git --skip-style
brew audit genometools --online --git --skip-style
brew audit git-cola --online --git --skip-style
brew audit gitfs --online --git --skip-style
brew audit gitless --online --git --skip-style
brew test --verbose gnuradio
brew audit libproxy --online --git --skip-style
brew fetch --retry pytouhou --build-bottle --force
brew install --verbose --build-bottle pytouhou
brew install --verbose --build-bottle redex
I don't know what is the source of problem (migrating to py39, brew bug/feature or something else), but as for newly (from scratch) installed homebrew and python@3.9 on it:
Unversioned symlinks for python, python-config, pip etc. are installed here: $(brew --prefix)/opt/python/libexec/bin
There is no $(brew --prefix)/opt/python/ directory
No, there is no /usr/local/bin/python3
I don't know how to work with this "python3". To call it as "/usr/local/Cellar/python@3.9/3.9.0/Frameworks/Python.framework/Versions/3.9/bin/python3.9" is too complex.
@tieugene the python@3.9
binary currently resides in /usr/local/opt/python@3.9/bin
. We'll be migrating to that as our primary formula soon, and then it will be in /usr/local/bin/python3
(which means our documentation is currently wrong, indeed).
I've been trying to reinstall mpv from source so as to get the app bundle for macOS, similarly to the closed and now locked "Missing mpv.app bundle #46532", but keep getting an error which I believe has something to do with python but I can't figure out what. Can anyone shed some light? Wasn't sure if to create a separate issue
link to error text from terminal - https://pastebin.pl/view/a5a1e0d0
You should ask the mpv developers, homebrew doesn't provide support for modified builds.
@hjmallon please open a new issue and provide all information requested, so we can help you
@Raptoaaah please open a new issue and provide all information requested, so we can help you
At this point we have migrated all the main Python formula to python 3.9. 425 of our Python-related formulas have been migrated to Python 3.9, and 22 are still using Python 3.8, due to incompatibilities with Python 3.9
I am closing this tracking issue, as it mostly attracts bug reports (for which we prefer people to file new issues). Any help with the remaining PRs is welcome, at least in reporting bugs to upstream so they get fixed at some point.
Python 3.9 has been released and added to homebrew-core!
Currently, there are 42 formulae in homebrew-core that depend on
python@3.8
. The next step in the migration process is to switch as many formulae as possible to depend on the newpython@3.9
formula.See https://github.com/Homebrew/homebrew-core/issues/62201#issuecomment-715182529 for a list of formulae to be upgraded.
No need to ask before working on this. If there's a formula that you can update, go ahead and open a PR and we'll get to it as soon as we can!
This is a great first issue to work on if you're new to Homebrew and if you're participating in Hacktoberfest, this is a great way to knock out some genuine PRs that will be greatly appreciated!
Here are the basic steps to migrate a formula to Python 3.9:
depends_on "python@3.8"
todepends_on "python@3.9"
python@3.8
topython@3.9
revision 1
(if the formula already has a revision, increment the number by one)brew install -s <formula>
,brew test <formula>
andbrew audit --strict <formula>
<formula>: migrate to python@3.9
If you're a new contributor and want to help out, make sure to read our countributing guidelines and check out How To Open a Homebrew Pull Request in our documentation