diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2022-01-18 08:52:31 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2022-01-18 08:52:31 +0000 |
commit | fc69e040ef3b1a04863114eb9039c26767070bec (patch) | |
tree | fe75e9a7adad2a7d4338401da1da06a64cad5e19 | |
parent | 2022-01-18 08:36:52 UTC (diff) | |
parent | dev-python/pillow: Migrate to PEP517 (diff) | |
download | gentoo-fc69e040ef3b1a04863114eb9039c26767070bec.tar.gz gentoo-fc69e040ef3b1a04863114eb9039c26767070bec.tar.bz2 gentoo-fc69e040ef3b1a04863114eb9039c26767070bec.zip |
Merge updates from master
-rw-r--r-- | dev-python/pillow/pillow-9.0.0-r1.ebuild | 103 | ||||
-rw-r--r-- | eclass/distutils-r1.eclass | 6 |
2 files changed, 109 insertions, 0 deletions
diff --git a/dev-python/pillow/pillow-9.0.0-r1.ebuild b/dev-python/pillow/pillow-9.0.0-r1.ebuild new file mode 100644 index 000000000000..f0ffc42977fe --- /dev/null +++ b/dev-python/pillow/pillow-9.0.0-r1.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..10} pypy3 ) +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/" +SRC_URI="https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="HPND" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib" +REQUIRED_USE="test? ( jpeg jpeg2k tiff truetype )" +RESTRICT="!test? ( test )" + +DEPEND=" + imagequant? ( media-gfx/libimagequant:0 ) + jpeg? ( virtual/jpeg:0 ) + jpeg2k? ( media-libs/openjpeg:2= ) + lcms? ( media-libs/lcms:2= ) + tiff? ( media-libs/tiff:0=[jpeg,zlib] ) + truetype? ( media-libs/freetype:2= ) + webp? ( media-libs/libwebp:0= ) + xcb? ( x11-libs/libxcb ) + zlib? ( sys-libs/zlib:0= )" +RDEPEND="${DEPEND} + dev-python/olefile[${PYTHON_USEDEP}]" +BDEPEND=" + virtual/pkgconfig + test? ( + ${RDEPEND} + dev-python/pytest[${PYTHON_USEDEP}] + || ( + media-gfx/imagemagick[png] + media-gfx/graphicsmagick[png] + ) + ) +" + +usepil() { + usex "${1}" enable disable +} + +python_configure_all() { + # It's important that these flags are also passed during the install phase + # as well. Make sure of that if you change the lines below. See bug 661308. + cat >> setup.cfg <<-EOF || die + [build_ext] + 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 + + # setup.py sucks at adding the right toolchain paths but it does + # accept additional ones from INCLUDE and LIB so set these. You + # wouldn't normally need these at all as the toolchain should look + # here anyway but this setup.py does stupid things. + export \ + INCLUDE="${ESYSROOT}"/usr/include \ + LIB="${ESYSROOT}"/usr/$(get_libdir) + + # We have patched in this env var. + tc-export PKG_CONFIG +} + +python_test() { + "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" + # no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed + virtx epytest -p no:relaxed +} + +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 +} diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 200360510f80..ae19ca08f7e4 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -971,6 +971,12 @@ distutils-r1_python_compile() { --no-compile-bytecode || die "installer failed" + # clean the build tree; otherwise we may end up with PyPy3 + # extensions duplicated into CPython dists + if [[ ${DISTUTILS_USE_PEP517:-setuptools} == setuptools ]]; then + esetup.py clean -a + fi + # enable venv magic inside the install tree mkdir -p "${root}"/usr/bin || die ln -s "${PYTHON}" "${root}/usr/bin/${EPYTHON}" || die |