commit:     c67f1136fe6f7ee15256831f4d89d7cadf827c4b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 17 13:15:01 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 18 08:38:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c67f1136

dev-python/pillow: Migrate to PEP517

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pillow/pillow-9.0.0-r1.ebuild | 103 +++++++++++++++++++++++++++++++
 1 file changed, 103 insertions(+)

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
+}

Reply via email to