diff options
-rw-r--r-- | dev-python/pillow/files/pillow-4.3.0-no-qt.patch | 30 | ||||
-rw-r--r-- | dev-python/pillow/pillow-4.3.0-r3.ebuild | 106 |
2 files changed, 136 insertions, 0 deletions
diff --git a/dev-python/pillow/files/pillow-4.3.0-no-qt.patch b/dev-python/pillow/files/pillow-4.3.0-no-qt.patch new file mode 100644 index 000000000000..231c605b8347 --- /dev/null +++ b/dev-python/pillow/files/pillow-4.3.0-no-qt.patch @@ -0,0 +1,30 @@ +diff --git a/PIL/ImageQt.py b/PIL/ImageQt.py +index 36b4e1eb..ddde2cd9 100644 +--- a/PIL/ImageQt.py ++++ b/PIL/ImageQt.py +@@ -20,24 +20,7 @@ from . import Image + from ._util import isPath + from io import BytesIO + +-qt_is_installed = True +-qt_version = None +-try: +- from PyQt5.QtGui import QImage, qRgba, QPixmap +- from PyQt5.QtCore import QBuffer, QIODevice +- qt_version = '5' +-except (ImportError, RuntimeError): +- try: +- from PyQt4.QtGui import QImage, qRgba, QPixmap +- from PyQt4.QtCore import QBuffer, QIODevice +- qt_version = '4' +- except (ImportError, RuntimeError): +- try: +- from PySide.QtGui import QImage, qRgba, QPixmap +- from PySide.QtCore import QBuffer, QIODevice +- qt_version = 'side' +- except ImportError: +- qt_is_installed = False ++qt_is_installed = False + + + def rgb(r, g, b, a=255): diff --git a/dev-python/pillow/pillow-4.3.0-r3.ebuild b/dev-python/pillow/pillow-4.3.0-r3.ebuild new file mode 100644 index 000000000000..a799e79a1d3a --- /dev/null +++ b/dev-python/pillow/pillow-4.3.0-r3.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) +PYTHON_REQ_USE='tk?,threads(+)' + +inherit distutils-r1 eutils virtualx + +MY_PN=Pillow +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Python Imaging Library (fork)" +HOMEPAGE="https://python-pillow.org/" +SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="HPND" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc examples imagequant jpeg jpeg2k lcms qt5 test tiff tk truetype webp zlib" + +REQUIRED_USE="test? ( jpeg tiff )" + +RDEPEND=" + dev-python/olefile[${PYTHON_USEDEP}] + imagequant? ( media-gfx/libimagequant:0 ) + jpeg? ( virtual/jpeg:0 ) + jpeg2k? ( media-libs/openjpeg:2= ) + lcms? ( media-libs/lcms:2= ) + qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] ) + tiff? ( media-libs/tiff:0=[jpeg,zlib] ) + truetype? ( media-libs/freetype:2= ) + webp? ( media-libs/libwebp:0= ) + zlib? ( sys-libs/zlib:0= )" +DEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + doc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] + ) + test? ( + dev-python/nose[${PYTHON_USEDEP}] + media-gfx/imagemagick[png] + ) +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/pillow-4.3.0-no-scripts.patch + # can be removed at v5, patch already uptream. See bug 593816. + "${FILESDIR}"/pillow-4.3.0-freetype2.9-test-metrics.patch +) + +src_prepare() { + if ! use qt5; then + # When we don't use qt5, we want to forcibly disable it by patching it + # out. Otherwise, we might encounter unexpected problems like in + # bug #662236 + eapply "${FILESDIR}/${PN}-4.3.0-no-qt.patch" + fi + eapply_user +} + +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. + mydistutilsargs=( + build_ext + --disable-platform-guessing + $(use_enable truetype freetype) + $(use_enable jpeg) + $(use_enable jpeg2k jpeg2000) + $(use_enable lcms) + $(use_enable tiff) + $(use_enable imagequant) + $(use_enable webp) + $(use_enable webp webpmux) + $(use_enable zlib) + ) +} + +python_compile_all() { + use doc && emake -C docs html +} + +python_test() { + "${PYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" + virtx nosetests -vx Tests/test_*.py +} + +python_install() { + python_doheader libImaging/*.h + distutils-r1_python_install +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/_build/html/. ) + if use examples ; then + docinto examples + dodoc Scripts/* + docompress -x /usr/share/doc/${PF}/examples + fi + distutils-r1_python_install_all +} |