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

Deprecate or update formulae that depend on Python 2 #93940

Closed
43 of 46 tasks
danielnachun opened this issue Jan 28, 2022 · 12 comments
Closed
43 of 46 tasks

Deprecate or update formulae that depend on Python 2 #93940

danielnachun opened this issue Jan 28, 2022 · 12 comments
Labels
help wanted Task(s) needing PRs from the community or maintainers outdated PR was locked due to age python Python use is a significant feature of the PR or issue

Comments

@danielnachun
Copy link
Member

danielnachun commented Jan 28, 2022

With the announcement of https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python, I think we are at the point where we need to deprecate or update all remaining formulae that depend on Python 2

Update:

Needs PR

Open PR

Fixed

Deprecate:

  • appscale-tools - development appears stalled - we should deprecate. appscale-tools: deprecate #99937
  • brew-pip - development appears stalled - we should deprecate.
  • cassandra@2.2 - old version of cassandra, which supports Python 3 in newer version - we should deprecate.
  • eventql - needs Python 2 at least to build its own copy of spidermonkey - the project is unmaintained: Roadmap/Progress Update? eventql/eventql#366 - we should deprecate. eventql: deprecate #99941
  • fsh - was last updated in 2001, so it definitely won't support Python 3 - we should deprecate. fsh: deprecate #96658
  • git-remote-hg - development appears stalled - we should deprecate. git-remote-hg: deprecate #99940
  • kibana@6 - old version of kibana, which is now disabled due to incompatible licensing - we should deprecate.
  • mergepbx - seems to be written in Python 2 and development has stalled - we should deprecate. mergepbx: deprecate #96510
  • nu-smv - uses a Python 2 script in the build process. There is no upstream VCS repo, and the last update was in 2015 - we should deprecate. nu-smv: deprecate #99936
  • numpy@1.16 - old version of numpy, only needed for opencv@2 - we should deprecate. numpy@1.16: deprecate #96336
  • rfcmarkup - development seems to have stalled - we should deprecate. rfcmarkup: deprecate #99935
  • ship - build dependency on Python 2. The upstream repo says it is now unmaintained because it has been superseded by kots - we should deprecate. ship: deprecate #97741
  • subversion@1.8 - old version of subversion that should be deprecated. subversion@1.8: deprecate #97742
  • v8@3.15 - old version of v8 that should be deprecated.
@danielnachun danielnachun added bug Reproducible Homebrew/homebrew-core bug python Python use is a significant feature of the PR or issue and removed bug Reproducible Homebrew/homebrew-core bug labels Jan 28, 2022
@carlocab carlocab added the help wanted Task(s) needing PRs from the community or maintainers label Jan 28, 2022
@branchvincent branchvincent mentioned this issue Feb 2, 2022
6 tasks
@cho-m cho-m mentioned this issue Feb 17, 2022
@danielnachun
Copy link
Member Author

Thanks for all of the great work on this so far! I dug up my old spreadsheet of unbottled formulae on Linux (which is now outdated to some extent), and checked all the formulae I had noted as failing to build due to some sort of Python-related issue. This has revealed a whole slew of formulae with build or runtime dependencies on Python 2 that could not be easily identified as such without trying to build on Linux. There's plenty more to do now, and please feel free to suggest changes to my recommendations.

@Moisan
Copy link
Member

Moisan commented Mar 4, 2022

brew deps ship --tree --include-build shows that ship does not depend on Python 2 anymore.

@danielnachun
Copy link
Member Author

@Moisan Unfortunately the dependency on Python 2 for ship is very indirect. ship depends on an old version of node-sass (4.9.3) which in turn depends on an old version of node-gyp that needs Python 2. However, I somehow failed to notice on the README at the Github page for that it says right at the top that ship is now unmaintained because it has been superseded by kots. For that reason we should deprecate this, and I will update the checklist accordingly.

@Moisan Moisan mentioned this issue Mar 5, 2022
6 tasks
@AlvinKuruvilla
Copy link
Contributor

Can we move RethinkDB to the unsure category? I just rechecked the Github repository, and it's still getting commits. The last one was 22 days ago when writing this. The only thing that seems to have stalled is the releases. The RethinkDB python driver also remains maintained, though the last commit was in September of last year.

@danielnachun
Copy link
Member Author

The reason rethinkdb depends on Python 2 to build is because it includes an old version of v8. However, there was a PR open to switch from v8 to quickjs rethinkdb/rethinkdb#6978, and it has now been merged after months of inactivity. Assuming that the commits can be applied cleanly to the current stable release, this would remove the Python 2 build dependency from rethinkdb. The future of that database is still very uncertain given that the parent company which developed it is out of business, but if it has ongoing development then it's probably okay to leave undeprecated for now.

@alebcay alebcay mentioned this issue Mar 16, 2022
6 tasks
@bayandin
Copy link
Member

norm - waf build script needs Python 2 and it appears to also build Python 2 bindings. Does not seem to have commits for Python 3 support, despite being actively developed. I think we need to open an upstream issue asking about Python 3 support.

Will be fixed by #97001

@Moisan
Copy link
Member

Moisan commented Apr 5, 2022

All files installed with app-engine-python require Python 2. Upstream recently released a version for Python 3 in a different repo.

@mohzulfikar mohzulfikar mentioned this issue Apr 16, 2022
6 tasks
@danielnachun
Copy link
Member Author

All files installed with app-engine-python require Python 2. Upstream recently released a version for Python 3 in a different repo.

That's good to know. We probably need to decide if we should switch the existing formula to use the new upstream, or deprecate the current formula and make a new one altogether.

@cho-m
Copy link
Member

cho-m commented Apr 23, 2022

For termbox, do we want to consider a fork. From repology, I see that maintainer of https://github.com/termbox/termbox has migrated the FreeBSD and NixOS packages. Also sounded like they were requesting switch for Alpine and Debian (NixOS/nixpkgs#99581 (comment)).

@Bo98
Copy link
Member

Bo98 commented Apr 23, 2022

For termbox, do we want to consider a fork. From repology, I see that maintainer of https://github.com/termbox/termbox has migrated the FreeBSD and NixOS packages. Also sounded like they were requesting switch for Alpine and Debian (NixOS/nixpkgs#99581 (comment)).

I'm ok to consider switching to that fork, but it's worth noting the future of that seems to be in termbox2 instead, which may warrant a separate formula (though that's not to say we can't both switch to the fork and ship termbox2).

Note that there is this we can apply if there's any objections to the fork: nsf/termbox@6fe63ac

@Bo98
Copy link
Member

Bo98 commented Apr 27, 2022

We're now running 12-arm64-##########-# CI nodes with macOS 12.3 installed. This can be used to see if any PRs would fail without Python 2, but it is not used for bottle uploads so it is not yet critical if it fails.

The existing CI machines will be updated next month, at which point Python 2 will no longer be available. You can consider us now in the transition period.

@SMillerDev
Copy link
Member

With CI now missing python 2 we no longer need to track this in an issue since CI will warn us.

@github-actions github-actions bot added the outdated PR was locked due to age label Jun 30, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Task(s) needing PRs from the community or maintainers outdated PR was locked due to age python Python use is a significant feature of the PR or issue
Projects
None yet
Development

No branches or pull requests

8 participants