dev-python/pillow: re-add 10.4.0 from main repo archive

Closes: #4133
Signed-off-by: Andreas Billmeier <b@edevau.net>
This commit is contained in:
Andreas Billmeier 2025-02-19 10:41:32 +01:00
parent a677add91b
commit 69999c51bd
Signed by: onkelbeh
GPG Key ID: E6DB12C8C550F3C0
5 changed files with 206 additions and 4 deletions

View File

@ -606,7 +606,7 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E
## Licenses
This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted.
There are 2342 Ebuilds in total, 2328 of them have in total 2368 (43 different) licenses assigned.
There are 2343 Ebuilds in total, 2329 of them have in total 2369 (43 different) licenses assigned.
|License| Ebuilds using it|
|-------|-----|
@ -638,6 +638,7 @@ There are 2342 Ebuilds in total, 2328 of them have in total 2368 (43 different)
|LGPL-2+|2|
|public-domain|2|
|ElementTree|2|
|HPND|2|
|BSD-4|2|
|LGPL-2|2|
|BitstreamVera|1|
@ -647,7 +648,6 @@ There are 2342 Ebuilds in total, 2328 of them have in total 2368 (43 different)
|Boost-1.0|1|
|PSF-2.4|1|
|NEWLIB|1|
|HPND|1|
|CC-BY-NC-SA-3.0|1|
|MPL-1.1|1|
|CC-BY-NC-SA-4.0|1|

View File

@ -1,3 +1,6 @@
AUX pillow-10.2.0-cross.patch 2390 BLAKE2B d690b3f93d59c32d0f1b209b51ea4787230892488059ec206f548276a1f697394ca539fcd9f92fa7c547b37dd6b4fc738400a3034f54eec6260f0f98ae372b39 SHA512 4afaec6964298e2f1c21fea77791ce0cdacdbc65bf9798d46e99681c772065c1ad1175f5821162157cacac64f556e320af2ca7dcbd0806c07d04f8116f8f508c
DIST pillow-10.4.0.gh.tar.gz 46617167 BLAKE2B 3eb7852ab087d18e5b9a03d6cbf83ead96b637a71d4209a4574d66c9d098936d240c0be3235d9e951ec094b9b0def196b265a8e68f59802f843171c74ca7bbac SHA512 835a8766c384ec3fcf67b42c9bbad35dad0848cc5bd9eba1b0768a864e174a1d9c4a5e989f22496a40f2c29dd7f492f6f80465903fe872b10749cfa0340e1bc5
DIST pillow-9.3.0.gh.tar.gz 50370806 BLAKE2B d0d4775c8b60e40560328e4f1c14055743d1a826b0ab01353075f1f48a461bcd8bf5883f18713976399f9b0f688125f3a883ea5818a359db9e540aac8895f02a SHA512 60c529d8a222a521a0c3f4254917aa3f6c5a47c7cb8930b4b9a05ef442d1a7e776018dc4ac834a9effc1342f8457898cae79820531ff430728f6c39d6297b2d7
EBUILD pillow-9.3.0-r1.ebuild 3133 BLAKE2B 808b7d1350d50f5512c7e38b9c16cb4189bd08bf64cc12da630f3a7f70da7f5f5350d069b0a5e40e444ccf59a2575e970dcf230b07f77fb7f2331aa731550319 SHA512 33838d31c0123bf7e45246bbaebd065d74558f06e193fc426ebbe6f1a48dbd157209facc95cd51b9a601771bead3dbe990509d8ef9c2e3dd7ebe94ad885b0c27
EBUILD pillow-10.4.0.ebuild 3260 BLAKE2B cffd5f498b1842ed0a387e23283dd5230a1a42e8f9fe79f791837d286b172f0604ec67a2d5b0cd7e343163b302d9ee4c71f1f1197b46ddfd806625e275785af3 SHA512 6b2e6c55e73a478306ee0047c627fac0a4bf022fa109551304ab95ff15386a924965e552c9003b5abc4654c30c5ec3709193e2ce3b8eddc7d0e6a93c67d58971
EBUILD pillow-9.3.0-r1.ebuild 3133 BLAKE2B 2ffb1f928439f1ccf987aa6fb136efd8e829c539d1e64006490fbbe8a4574278efd5ff5cee7cc7cf4d5de3164ece8ddcd543461a1902bd4ce423648074158930 SHA512 8154590708f0f629f482971b852de23dcee13f9440ba49ea8d77a37fb05b3862fe87a6e9e40afc59cbdb8eb36eabe4a7f33779474d826ed84577c2361d2d086d
MISC metadata.xml 631 BLAKE2B cda3df63a3bacffde043eef6ba61724901c162a16c78c91aed77d86a8b945b1e433f861d7598d3090bb3a99ac6b7b84d6625f310d6aff7430edb38af8d64f269 SHA512 186c23985165836f73248a6f610e61af6d8998d1df597ffc91e2b23dff5215e2d100b85232b9dd388dfd6055f93fc03d295f23863ba2f3037537b31f6258f98a

View File

@ -0,0 +1,62 @@
From 774d7a570d9f76903de3c3267512b8a7d252c21e Mon Sep 17 00:00:00 2001
From: James Le Cuirot <chewi@gentoo.org>
Date: Fri, 22 Dec 2023 22:38:27 +0000
Subject: [PATCH] Fix cross-compiling by searching the right lib and include
directories
We were previously searching the `{sys.prefix}/lib` and
`{sys.prefix}/include` directories unconditionally. This is problematic
when cross-compiling, as it does not take account of any sysroot where
alternative libraries and headers are located. Adding `-I/usr/include`
causes the build to explode, at least when cross-compiling from 64-bit
to 32-bit.
Python does not officially support cross-compiling, but Gentoo achieves
this by modifying the sysconfig variables like `LIBDIR` and `INCLUDEDIR`
with great results.
Assuming "lib" is bad. 64-bit Linux systems often use lib64, putting
32-bit libraries under lib. You cannot assume that either though, as
pure 64-bit Linux systems may just use lib instead. Things get even
stranger on RISC-V.
The value of `sys.prefix` changes when using a virtualenv. Dependencies
may be installed here, so it does make sense to continue supporting this
case, even if it is incompatible with cross-compiling. Unlike regular
environments, "lib" is generally used for libraries, although a lib64
symlink may also be present.
---
setup.py | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/setup.py b/setup.py
index 1bf0bcff558..07163d001fc 100755
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,7 @@
import struct
import subprocess
import sys
+import sysconfig
import warnings
from setuptools import Extension, setup
@@ -504,8 +505,16 @@ def build_extensions(self):
for d in os.environ[k].split(os.path.pathsep):
_add_directory(library_dirs, d)
- _add_directory(library_dirs, os.path.join(sys.prefix, "lib"))
- _add_directory(include_dirs, os.path.join(sys.prefix, "include"))
+ _add_directory(
+ library_dirs,
+ (sys.prefix == sys.base_prefix and sysconfig.get_config_var("LIBDIR"))
+ or os.path.join(sys.prefix, "lib"),
+ )
+ _add_directory(
+ include_dirs,
+ (sys.prefix == sys.base_prefix and sysconfig.get_config_var("INCLUDEDIR"))
+ or os.path.join(sys.prefix, "include"),
+ )
#
# add platform directories

View File

@ -0,0 +1,137 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
# setuptools wrapper
DISTUTILS_USE_PEP517=standalone
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 toolchain-funcs virtualx
MY_PN=Pillow
MY_P=${MY_PN}-${PV}
DESCRIPTION="Python Imaging Library (fork)"
HOMEPAGE="
https://python-pillow.org/
https://github.com/python-pillow/Pillow/
https://pypi.org/project/pillow/
"
SRC_URI="
https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
S="${WORKDIR}/${MY_P}"
LICENSE="HPND"
SLOT="0"
KEYWORDS="amd64 arm arm64 x86"
IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
RESTRICT="!test? ( test )"
DEPEND="
imagequant? ( media-gfx/libimagequant:= )
jpeg? ( media-libs/libjpeg-turbo:= )
jpeg2k? ( media-libs/openjpeg:2= )
lcms? ( media-libs/lcms:2= )
tiff? ( media-libs/tiff:=[jpeg,zlib] )
truetype? ( media-libs/freetype:2= )
webp? ( media-libs/libwebp:= )
xcb? ( x11-libs/libxcb )
zlib? ( sys-libs/zlib:= )
"
RDEPEND="
${DEPEND}
dev-python/olefile[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/wheel[${PYTHON_USEDEP}]
virtual/pkgconfig
test? (
dev-python/defusedxml[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
|| (
media-gfx/imagemagick[png]
media-gfx/graphicsmagick[png]
)
)
"
EPYTEST_XDIST=1
distutils_enable_tests pytest
PATCHES=(
# https://github.com/python-pillow/pillow/pull/7634
"${FILESDIR}/${PN}-10.2.0-cross.patch"
)
usepil() {
usex "${1}" enable disable
}
python_configure_all() {
cat >> setup.cfg <<-EOF || die
[build_ext]
debug = True
disable_platform_guessing = True
$(usepil truetype)_freetype = True
$(usepil jpeg)_jpeg = True
$(usepil jpeg2k)_jpeg2000 = True
$(usepil lcms)_lcms = True
$(usepil tiff)_tiff = True
$(usepil imagequant)_imagequant = True
$(usepil webp)_webp = True
$(usepil webp)_webpmux = True
$(usepil xcb)_xcb = True
$(usepil zlib)_zlib = True
EOF
if use truetype; then
# these dependencies are implicitly disabled by USE=-truetype
# and we can't pass both disable_* and vendor_*
# https://bugs.gentoo.org/935124
cat >> setup.cfg <<-EOF || die
vendor_raqm = False
vendor_fribidi = False
EOF
fi
tc-export PKG_CONFIG
}
src_test() {
virtx distutils-r1_src_test
}
python_test() {
local EPYTEST_DESELECT=(
# TODO (is clipboard unreliable in Xvfb?)
Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
# requires xz-utils[extra-filters]?
Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma
)
"${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
# leak tests are fragile and broken under xdist
epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}"
}
python_install() {
python_doheader src/libImaging/*.h
distutils-r1_python_install
}
python_install_all() {
if use examples ; then
docinto example
dodoc docs/example/*
docompress -x /usr/share/doc/${PF}/example
fi
distutils-r1_python_install_all
}

View File

@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 toolchain-funcs virtualx