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

manim 0.18.0 (new formula) #166434

Merged
merged 2 commits into from
Apr 3, 2024
Merged

manim 0.18.0 (new formula) #166434

merged 2 commits into from
Apr 3, 2024

Conversation

unitof
Copy link
Contributor

@unitof unitof commented Mar 17, 2024

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

At last! After months of (sporadic) debugging and half learning a ton about Python packagers and builders and finding one very sneaky upstream bug: manim.

@github-actions github-actions bot added automerge-skip `brew pr-automerge` will skip this pull request autosquash Automatically squash pull request commits according to Homebrew style. python Python use is a significant feature of the PR or issue new formula PR adds a new formula to Homebrew/homebrew-core ffmpeg FFMPEG use is a significant feature of the PR or issue labels Mar 17, 2024
@unitof unitof marked this pull request as ready for review March 18, 2024 03:00
@github-actions github-actions bot removed the automerge-skip `brew pr-automerge` will skip this pull request label Mar 18, 2024
Copy link
Member

@SMillerDev SMillerDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems from the error it should also depend on cython

@unitof
Copy link
Contributor Author

unitof commented Mar 18, 2024

Yeah, just confused how it built locally. On it!

@unitof
Copy link
Contributor Author

unitof commented Mar 18, 2024

Apparently not cython—it's the same error I got when working on this previously: fatal error: 'cairo.h' file not found.

What's odd is I've only ever seen this error in the Homebrew GitHub runner environment and never locally, even on the same platform (macos 14-arm64 or macos 15-arm64).

If anyone has a clue, would love some help. Otherwise, back to work!

@unitof
Copy link
Contributor Author

unitof commented Mar 18, 2024

Think I may have figured it out: pkg-config is require during build time to allow ManimPango to locate cairo.h.

@SMillerDev May I request a CI-no-fail-fast label? It's now failing on Linux first, which I'll work on next but would like to see if it builds for macOS now.

@unitof
Copy link
Contributor Author

unitof commented Mar 19, 2024

omg vict’ry

squashing!

@github-actions github-actions bot added autosquash Automatically squash pull request commits according to Homebrew style. and removed autosquash Automatically squash pull request commits according to Homebrew style. labels Mar 19, 2024
@github-actions github-actions bot removed the autosquash Automatically squash pull request commits according to Homebrew style. label Mar 19, 2024
@unitof unitof force-pushed the add-manim branch 4 times, most recently from 4707d69 to 521c6bc Compare March 19, 2024 05:58
Formula/m/manim.rb Outdated Show resolved Hide resolved
@chenrui333 chenrui333 changed the title manim (new formula) manim 0.18.0 (new formula) Mar 19, 2024
Note that this is the Community Edition (manim.community).

A year in the making. I learned a lot about Python & homebrew & makefiles & GitHub runners

Squashing a whole bunch of things, see Homebrew/homebrew-core@master...unitof:homebrew-core:add-manim-presquash for full unsquashed history.

ORIGINAL COMMIT MESSAGES:

Add ninja build dependency

Codify Apple Silicon-only deps

Alphabetize deps, uncomment recommended

Write test placeholder

Remove mactex dep for now

manim (new formula)

manim: add HEAD

manim: add cairo build dependency

manim: bump to latest version

manim: Move to lettered folder

manim: bump-formula-pr --write-only to 0.18.0

manim: switch to poet via poetry resources blocks

    1019  poetry install
    1025  poetry run manim
    1028  poetry add homebrew-pypi-poet
    1030  poetry run poet manim

manim: bump python to 3.12

manim: fix build error with pyglet resource

    See pyglet/pyglet#999

    Approach borrowed from iredis.rb

manim: fix missing pyproject.toml field

manim: more flit requirements

manim: more pyglet patches

    Now seems to fully address pyglet/pyglet#999

    Note: tried doing these as a patch to avoid so many `inreplace`ments,
    but turns out patches cannot be applied to resources (as far as I
    could determine). Related: Homebrew/legacy-homebrew#31508

    Postnote: IT BUILDS WITHOUT ERROR NOW!

manim: link properly

manim: install missing resources

manim: update install

manim: add cython build dependency

manim: cairo to runtime dep

manim: attempt pkg-config build dep

manim: attempt linux build fix

    (cmake missing from buildpath?)

manim: add linux build dependency

manim: add aclocal linux dep

manim: simplify linux deps

manim: pyobjc not compatible with linux

manim: correct way to reject pyobjc on linux

    Stolen from gimme-aws-creds

manim: fix missing pkg_resources

manim: use Homebrew numpy

manim: switch to native homebrew deps

    instead of PyPI resources, for all non-deprecated homebrew formulae dependencies

manim: pygments must be a resource, not brew formula

manim: certifi required for runtime

manim: last known good configuration

    until I learn more about depends_on vs. resource blocks
    https://github.com/orgs/Homebrew/discussions/5211
depends_on "ffmpeg"
depends_on "numpy"
depends_on "py3cairo"
depends_on "python-setuptools" # for `import pkg_resources`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any issue tracker for dropping setuptools dep?

@chenrui333
Copy link
Member

@unitof, thanks for your contribution to Homebrew! 🎉 🥇

Without awesome contributors like you, it would be impossible to maintain Homebrew to the high level of quality users have come to expect. Thank you!!!!

Copy link
Contributor

github-actions bot commented Apr 3, 2024

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Apr 3, 2024
@BrewTestBot BrewTestBot added this pull request to the merge queue Apr 3, 2024
Merged via the queue into Homebrew:master with commit 5795b29 Apr 3, 2024
14 checks passed
@bika-c
Copy link

bika-c commented May 6, 2024

Hello! Is this package any different than the pip version? It seems like after installing, I can't import it through python. Any help is appreciated!

@github-actions github-actions bot added the outdated PR was locked due to age label Jun 6, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 6, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. ffmpeg FFMPEG use is a significant feature of the PR or issue new formula PR adds a new formula to Homebrew/homebrew-core outdated PR was locked due to age python Python use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants