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

Bump pillow and cffi #39571

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from
Open

Conversation

dimpase
Copy link
Member

@dimpase dimpase commented Feb 23, 2025

This bumps pillow and cffi to the latest versions. I had trouble building older ones on macOS M1 machine

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation and checked the documentation preview.

⌛ Dependencies

Copy link
Collaborator

@kwankyu kwankyu left a comment

Choose a reason for hiding this comment

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

OK.

@dcoudert
Copy link
Contributor

both can be installed using homebrew but we don't use it. Shouldn't it be done here as well ?

xxxx:sage dcoudert$ ls build/pkgs/pillow/distros/
arch.txt     conda.txt    debian.txt   fedora.txt   gentoo.txt   macports.txt opensuse.txt repology.txt void.txt
xxxx:sage dcoudert$ ls build/pkgs/cffi/distros/
conda.txt    fedora.txt   gentoo.txt   macports.txt opensuse.txt repology.txt void.txt

@dimpase
Copy link
Member Author

dimpase commented Feb 23, 2025

good idea. can you do a PR (against my fork) to add these?

@dimpase
Copy link
Member Author

dimpase commented Feb 23, 2025

OK, added the homebrew info.

@dcoudert
Copy link
Contributor

With the current PR, I can compile cffi. However, configure don't see the homebrew installation or don't want to use it.

For pillow, the situation is even worse: it don't use the homebrew installation and it fails downloading it (see attached log file).
Note that trying to download it with wget also fails but I can obtain it when entering the url into a navigator.

xxxx:upstream dcoudert$ wget https://files.pythonhosted.org/packages/source/p/pillow/Pillow-11.1.0.tar.gz
--2025-02-23 19:14:38--  https://files.pythonhosted.org/packages/source/p/pillow/Pillow-11.1.0.tar.gz
Résolution de files.pythonhosted.org (files.pythonhosted.org)… 2a04:4e42::223, 2a04:4e42:200::223, 2a04:4e42:400::223, ...
Connexion à files.pythonhosted.org (files.pythonhosted.org)|2a04:4e42::223|:443… connecté.
requête HTTP transmise, en attente de la réponse… 404 Not Found
2025-02-23 19:14:38 erreur 404 : Not Found.

When I try to copy pillow to upstream/ and run make again, I get

[pillow-11.1.0] WARNING [tarball|download:164]: Invalid checksum; ignoring cached file /Users/dcoudert/sage/upstream/pillow-11.1.0.tar.gz
[pillow-11.1.0] Attempting to download package pillow-11.1.0.tar.gz from mirrors
...

pillow-11.1.0.log

@dimpase
Copy link
Member Author

dimpase commented Feb 23, 2025

I had issues with PyPI hosting yesterday too. It's flaky for some reason.

@dcoudert - does the build work for you with pillow from Homebrew?

I'd re-check checksums and compare them with the PyPI ones

@dimpase
Copy link
Member Author

dimpase commented Feb 23, 2025

@orlitzky - I got an error emerging pillow 11.1.0 on Gentoo, see attached log. Same distutils blues as usual it seems.
build.log

@dcoudert
Copy link
Contributor

I had issues with PyPI hosting yesterday too. It's flaky for some reason.

@dcoudert - does the build work for you with pillow from Homebrew?

no. ./configure gives:

cffi:                           no; standard, SPKG version 1.17.1 is already installed
pillow:                         no; standard, SPKG version 11.1.0 will be installed

@dimpase
Copy link
Member Author

dimpase commented Feb 23, 2025

ah, these are python packages. You need ./configure --enable-system-site-packages

@dimpase
Copy link
Member Author

dimpase commented Feb 23, 2025

sha256 from pypi (top, and bottom.on the branch) for cffi

1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824
1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824

ditto for pillow: top for pypi, bottom for the branch

368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20
368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20

so the hashes look ok, it's just a pythonhosted cite issue

@dimpase
Copy link
Member Author

dimpase commented Feb 23, 2025

to review, you may download files from pypi using a browser, go to pypi.org and search for cffi resp. pillow, and get source tarballs, save them to upstream/

@vbraun
Copy link
Member

vbraun commented Feb 23, 2025

The download url seems to be wrong, what works for me is to use

https://files.pythonhosted.org/packages/source/p/pillow/pillow-11.1.0.tar.gz

with a lower-case P

@dimpase
Copy link
Member Author

dimpase commented Feb 23, 2025

The download url seems to be wrong, what works for me is to use

https://files.pythonhosted.org/packages/source/p/pillow/pillow-11.1.0.tar.gz

with a lower-case P

oh dear, I changed P to p in one of the two place 😭
959a4ca

Copy link

Documentation preview for this PR (built with commit 01b057d; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@dimpase
Copy link
Member Author

dimpase commented Feb 24, 2025

@orlitzky - I got an error emerging pillow 11.1.0 on Gentoo, see attached log. Same distutils blues as usual it seems. build.log

while I found https://forums.gentoo.org/viewtopic-t-1172213-start-0.html - I don't see how it's not a bug, as it shows that dev-python/trove-classifiers is a dependency, and thus should be updated before pillow.

@orlitzky
Copy link
Contributor

while I found https://forums.gentoo.org/viewtopic-t-1172213-start-0.html - I don't see how it's not a bug, as it shows that dev-python/trove-classifiers is a dependency, and thus should be updated before pillow.

You're right but it's probably too late to get anyone to do anything about it. Pillow-11.0 should have added trove-classifiers with a lower bound to its build-deps when it was released, then Gentoo would have inherited it. Gentoo will update trove-classifiers before pillow, but only with emerge -uD, because the trove-classifiers dependency is on setuptools and not directly on pillow.

The problem is already fading away because pip installs the latest versions, and a good enough version has been stable on Gentoo for a few months. So YMMV but I bet people will just groan if you report it now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants