Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Compile freetype with harfbuzz, reduce manylinux wheelsize#3445

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
illume merged 3 commits intomainfromankith26-freetype-harfbuzz
Sep 15, 2022

Conversation

@ankith26
Copy link
Contributor

@ankith26ankith26 commentedSep 13, 2022
edited
Loading

Kind of a follow up on#3430, when I was updatingSDL_ttf in there I realised thatSDL_ttf statically linked against a vendored freetype+harfbuzz, which meant that our wheels are actually including freetype twice.

Without this PR, a 2.1.3 manylinux wheel will easily shoot past the 30 MB mark. And the biggest culprit is harfbuzz. I've noticed that an uncompressed and unstripped harfbuzz shared library is almost 31 MB, and this is almost half of the entire pygame install by itself. Since harfbuzz is such a large dependency, I thought that my wheelsize reducing patch should go along in this PR, even though it's technically an independent change. The rest of the bundledso files in the manylinux wheel together constitute a large fraction of the total wheel size. My "fix" for this is basically runningstrip on all these so files (by first consolidating all of these in/usr/local/lib). This reduces the wheelsize by about 60% in my initial draft (from 31.8 MB to 13 MB)

And ofc, the added benefit of this PR is thatpygame.freetype gets harfbuzz support. Nothing much should change on thepygame.font end because here harfbuzz support was already introduced along with the SDL_ttf 2.0.18 update

This PR is a draft while I'm doing more testing, not a 2.1.3 blocker

Zireael07 and illume reacted with thumbs up emojiillume reacted with hooray emoji
Ankith added3 commitsSeptember 13, 2022 21:16
This ensures that every self-built library is installed in /usr/local/libThese libraries are stripped off of unneeded symbolsAlso does some CMake usage improvements
@ankith26
Copy link
ContributorAuthor

Okay I've done some testing, and this PR should be done from my end

Copy link
Member

@illumeillume left a comment

Choose a reason for hiding this comment

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

thank-you-very-cool! 🎉

ankith26 reacted with hooray emoji
@illumeillume added this to the2.1.3 milestoneSep 15, 2022
@illumeillume added freetypepygame.freetype manylinux bug fontpygame.font buildconfig labelsSep 15, 2022
@illumeillume merged commit7e6f483 intomainSep 15, 2022
@illumeillume deleted the ankith26-freetype-harfbuzz branchSeptember 15, 2022 17:06
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@illumeillumeillume approved these changes

Assignees

No one assigned

Labels

bugbuildconfigfontpygame.fontfreetypepygame.freetypemanylinux

Projects

None yet

Milestone

2.1.3

Development

Successfully merging this pull request may close these issues.

3 participants

@ankith26@illume

[8]ページ先頭

©2009-2025 Movatter.jp