summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-04-21 20:17:26 +0000
committerMichał Górny <mgorny@gentoo.org>2013-04-21 20:17:26 +0000
commit42c2f203a7305ee52d115bfbd4d0c64bf4ad8148 (patch)
tree457bc163b1c2a6964036fb8b5c1d4c84ee5aacb5 /dev-python
parentsys-kernel/linuxwacom-module removed (diff)
downloadgentoo-2-42c2f203a7305ee52d115bfbd4d0c64bf4ad8148.tar.gz
gentoo-2-42c2f203a7305ee52d115bfbd4d0c64bf4ad8148.tar.bz2
gentoo-2-42c2f203a7305ee52d115bfbd4d0c64bf4ad8148.zip
Introduce an initial ebuild for Pillow, a fork of Python Imaging Library. Requested in bug #401009, as it became a dep of xhtml2pdf.
(Portage version: 2.2.0_alpha173/cvs/Linux x86_64, signed Manifest commit with key 9627F456F9DA7643!)
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/pillow/ChangeLog10
-rw-r--r--dev-python/pillow/metadata.xml8
-rw-r--r--dev-python/pillow/pillow-2.0.0.ebuild113
3 files changed, 131 insertions, 0 deletions
diff --git a/dev-python/pillow/ChangeLog b/dev-python/pillow/ChangeLog
new file mode 100644
index 000000000000..5418af4ce5cd
--- /dev/null
+++ b/dev-python/pillow/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for dev-python/pillow
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pillow/ChangeLog,v 1.1 2013/04/21 20:17:26 mgorny Exp $
+
+*pillow-2.0.0 (21 Apr 2013)
+
+ 21 Apr 2013; Michał Górny <mgorny@gentoo.org> +metadata.xml,
+ +pillow-2.0.0.ebuild:
+ Introduce an initial ebuild for Pillow, a fork of Python Imaging Library.
+ Requested in bug #401009, as it became a dep of xhtml2pdf.
diff --git a/dev-python/pillow/metadata.xml b/dev-python/pillow/metadata.xml
new file mode 100644
index 000000000000..338413c17e70
--- /dev/null
+++ b/dev-python/pillow/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name='webp'>Enable support for webp image format.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pillow/pillow-2.0.0.ebuild b/dev-python/pillow/pillow-2.0.0.ebuild
new file mode 100644
index 000000000000..3601d5f5a352
--- /dev/null
+++ b/dev-python/pillow/pillow-2.0.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pillow/pillow-2.0.0.ebuild,v 1.1 2013/04/21 20:17:26 mgorny Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python{2_6,2_7} )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (PIL)"
+HOMEPAGE="http://www.pythonware.com/products/pil/index.htm"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples jpeg lcms scanner test tiff tk truetype webp zlib"
+
+RDEPEND="
+ truetype? ( media-libs/freetype:2 )
+ jpeg? ( virtual/jpeg )
+ lcms? ( media-libs/lcms:0 )
+ scanner? ( media-gfx/sane-backends )
+ tiff? ( media-libs/tiff )
+ webp? ( media-libs/libwebp )
+ zlib? ( sys-libs/zlib )
+ !dev-python/imaging"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx )"
+
+# Tests don't handle missing jpeg, tiff & zlib properly.
+# https://github.com/python-imaging/Pillow/pull/199
+REQUIRED_USE="test? ( jpeg tiff zlib )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ # Tests like to write to cwd.
+ # https://github.com/python-imaging/Pillow/pull/200
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+
+ distutils-r1_src_prepare
+}
+
+python_prepare_all() {
+ # Add shebangs.
+ # https://github.com/python-imaging/Pillow/pull/197
+ sed -e "1i#!/usr/bin/env python" -i Scripts/*.py || die
+
+ # Disable all the stuff we don't want.
+ local f
+ for f in jpeg lcms tiff tk webp zlib; do
+ if ! use ${f}; then
+ sed -i -e "s:feature.${f} =:& None #:" setup.py || die
+ fi
+ done
+ if ! use truetype; then
+ sed -i -e 's:feature.freetype =:& None #:' setup.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+# XXX: split into two ebuilds?
+wrap_phase() {
+ "${@}"
+
+ if use scanner; then
+ cd Sane || die
+ "${@}"
+ fi
+}
+
+python_compile() {
+ wrap_phase distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" selftest.py || die "Tests fail with ${EPYTHON}"
+ "${PYTHON}" Tests/run.py --installed || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader libImaging/{Imaging.h,ImPlatform.h}
+
+ wrap_phase distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/. )
+ use examples && local EXAMPLES=( Scripts/. )
+
+ distutils-r1_python_install_all
+
+ if use scanner; then
+ docinto sane
+ dodoc Sane/{CHANGES,README,sanedoc.txt}
+ fi
+
+ if use examples && use scanner; then
+ docinto examples/sane
+ doins Sane/demo_*.py
+ fi
+}