diff options
author | Michał Górny <mgorny@gentoo.org> | 2022-01-17 14:15:01 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2022-01-18 09:38:46 +0100 |
commit | c67f1136fe6f7ee15256831f4d89d7cadf827c4b (patch) | |
tree | 7d9840910cf9dfeb622f46ae82358675274e49d1 /dev-python/pillow | |
parent | distutils-r1.eclass: Clean the build tree in PEP517 mode (diff) | |
download | gentoo-c67f1136fe6f7ee15256831f4d89d7cadf827c4b.tar.gz gentoo-c67f1136fe6f7ee15256831f4d89d7cadf827c4b.tar.bz2 gentoo-c67f1136fe6f7ee15256831f4d89d7cadf827c4b.zip |
dev-python/pillow: Migrate to PEP517
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pillow')
-rw-r--r-- | dev-python/pillow/pillow-9.0.0-r1.ebuild | 103 |
1 files changed, 103 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 +} |