Skip to content

Use only aomenc and dav1d AVIF codecs to decrease wheel size #8858

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

Open
wants to merge 23 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
8b4e66e
fix(avif): use only aomenc and dav1d to reduce wheel size
fdintino Apr 1, 2025
a2cbce7
Include comment about CONFIG_AV1_DECODER=0
fdintino Apr 2, 2025
84485e1
s/AVIF/AV1/
fdintino Apr 2, 2025
ab55e54
remove ENABLE_NASM and CMAKE_MODULE_PATH libavif cmake args
fdintino Apr 2, 2025
8a6e5af
Remove rust installation via rustup, which is no longer needed
fdintino Apr 3, 2025
deb1c9d
Build libavif with -Os and with LTO enabled
fdintino Apr 4, 2025
6d7f396
Do not install perl (#35)
radarhere Apr 6, 2025
7aca46c
Do not disable CMAKE_MACOSX_RPATH (#36)
radarhere Apr 6, 2025
8bc14e2
Update .github/workflows/wheels-dependencies.sh
fdintino Apr 7, 2025
621bcd5
Removed CMAKE_INTERPROCEDURAL_OPTIMIZATION (#37)
radarhere Apr 8, 2025
1c40ea5
Re-add CMAKE_INTERPROCEDURAL_OPTIMIZATION=ON on windows
fdintino Apr 8, 2025
331354a
only disable CMAKE_INTERPROCEDURAL_OPTIMIZATION on macOS
fdintino Apr 8, 2025
8cac43f
Use elif
radarhere Apr 8, 2025
ce01f19
Merge branch 'main' into chore/remove-rav1e
radarhere Apr 13, 2025
8ab93db
Disable AOM high-bit-depth support
fdintino Apr 17, 2025
a005e28
Use CMAKE_BUILD_TYPE=MinSizeRel on aarch64 manylinux2014
fdintino Apr 17, 2025
6c918a0
use alternative mirror for nasm, since nasm.us is down
fdintino Apr 23, 2025
5573242
Further reduce size (LTO on macOS, more aggressive symbol stripping)
fdintino Apr 23, 2025
8a174f5
Revert "use alternative mirror for nasm, since nasm.us is down"
fdintino Apr 24, 2025
f40eed2
Merge branch 'main' into chore/remove-rav1e
radarhere May 1, 2025
8905480
Set CMAKE_POLICY_VERSION_MINIMUM=3.9 to allow IPO with gcc
fdintino May 1, 2025
f20ce67
bump libavif to 1.3.0
fdintino May 12, 2025
5a8313c
Remove -DCMAKE_POLICY_VERSION_MINIMUM=3.5 from build_prepare
fdintino May 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/wheels-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ function build_libavif {
python3 -m pip install meson ninja

if [[ "$PLAT" == "x86_64" ]] || [ -n "$SANITIZER" ]; then
build_simple nasm 2.16.03 https://www.nasm.us/pub/nasm/releasebuilds/2.16.03
Copy link
Member

Choose a reason for hiding this comment

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

Fyi, if the nasm.us outage is temporary, then the presence of https://github.com/python-pillow/pillow-depends/blob/main/nasm-2.16.03.tar.gz should allow this to continue working until it comes back.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure it's temporary, since it's been down now for nearly a week. But I had forgotten about the pillow-depends backup. I've reverted this change.

Choose a reason for hiding this comment

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

Copy link
Contributor Author

@fdintino fdintino Apr 24, 2025

Choose a reason for hiding this comment

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

I looked into that. The source tarballs on nasm.us have the autotools artifacts included. So we couldn't just swap out with a GitHub tag archive here, as we would need to update this script to call autogen.sh. Not an insurmountable obstacle, but it couldn't use the build_simple bash function from multibuild.

Copy link
Member

Choose a reason for hiding this comment

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

nasm.us is back now.

build_simple nasm 2.16.01 https://gstreamer.freedesktop.org/src/mirror/ tar.xz
fi

local build_type=MinSizeRel
Expand Down