summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/imaging')
-rw-r--r--dev-python/imaging/Manifest1
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-dont-run-multiple-viewers.patch10
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-ft-header-include.patch20
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-giftrans.patch14
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-missing-math.patch20
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-no-host-paths.patch29
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-no-xv.patch18
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-nolcms.patch13
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-sane.patch13
-rw-r--r--dev-python/imaging/imaging-1.1.7-r5.ebuild106
-rw-r--r--dev-python/imaging/metadata.xml5
11 files changed, 249 insertions, 0 deletions
diff --git a/dev-python/imaging/Manifest b/dev-python/imaging/Manifest
new file mode 100644
index 00000000000..68b418ae3f9
--- /dev/null
+++ b/dev-python/imaging/Manifest
@@ -0,0 +1 @@
+DIST Imaging-1.1.7.tar.gz 498749 SHA256 895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211 SHA512 fec2d39b4db3cb33cd7e7895aba4c3a8a5d4cff28decb9106c88e392cb848edf5593fcd77d11994bb16321837fdb26958787dac2c86d6f7c09996f466bac11f1 WHIRLPOOL e610b4097723f77de4c495537c64741ee4bd996f89d12e2e7853fb8f09028d02fa46920a86827f263eb6324a9063d2321ff865c80b7f8482b19f8143500575e8
diff --git a/dev-python/imaging/files/imaging-1.1.7-dont-run-multiple-viewers.patch b/dev-python/imaging/files/imaging-1.1.7-dont-run-multiple-viewers.patch
new file mode 100644
index 00000000000..7733a489038
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-dont-run-multiple-viewers.patch
@@ -0,0 +1,10 @@
+--- PIL/ImageShow.py.old 2011-01-29 14:09:12.000000000 -0200
++++ PIL/ImageShow.py 2011-01-29 14:09:28.000000000 -0200
+@@ -63,7 +63,7 @@
+ if base != image.mode and image.mode != "1":
+ image = image.convert(base)
+
+- self.show_image(image, **options)
++ return self.show_image(image, **options)
+
+ # hook methods
diff --git a/dev-python/imaging/files/imaging-1.1.7-ft-header-include.patch b/dev-python/imaging/files/imaging-1.1.7-ft-header-include.patch
new file mode 100644
index 00000000000..cdc06839038
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-ft-header-include.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/508748
+
+fix building w/freetype-2.5.3
+
+patch by Jungshik Shin <jshin@chromium.org>
+
+--- Imaging-1.1.7/_imagingft.c
++++ Imaging-1.1.7/_imagingft.c
+@@ -70,7 +70,11 @@
+ const char* message;
+ } ft_errors[] =
+
++#if defined(USE_FREETYPE_2_1)
++#include FT_ERRORS_H
++#else
+ #include <freetype/fterrors.h>
++#endif
+
+ /* -------------------------------------------------------------------- */
+ /* font objects */
diff --git a/dev-python/imaging/files/imaging-1.1.7-giftrans.patch b/dev-python/imaging/files/imaging-1.1.7-giftrans.patch
new file mode 100644
index 00000000000..1a109d28eee
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-giftrans.patch
@@ -0,0 +1,14 @@
+--- Imaging-1.1.6.orig/PIL/GifImagePlugin.py 2006-12-03 11:37:15.000000000 +0000
++++ Imaging-1.1.6/PIL/GifImagePlugin.py 2008-10-02 14:51:43.000000000 +0100
+@@ -352,6 +352,11 @@
+ for i in range(maxcolor):
+ s.append(chr(i) * 3)
+
++ if im.info.has_key('transparency'):
++ transparentIndex = im.info['transparency']
++ s.append('!' + chr(0xf9) + chr(4) + chr(1) + chr(0) + chr(0) +
++ chr(transparentIndex) + chr(0))
++
+ return s
+
+ def getdata(im, offset = (0, 0), **params):
diff --git a/dev-python/imaging/files/imaging-1.1.7-missing-math.patch b/dev-python/imaging/files/imaging-1.1.7-missing-math.patch
new file mode 100644
index 00000000000..f4d6167eecc
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-missing-math.patch
@@ -0,0 +1,20 @@
+--- setup.py.old 2009-07-03 11:34:59.141671252 +0200
++++ setup.py 2009-07-03 11:51:54.415666711 +0200
+@@ -281,6 +281,8 @@ class pil_build_ext(build_ext):
+ if struct.unpack("h", "\0\1")[0] == 1:
+ defs.append(("WORDS_BIGENDIAN", None))
+
++ libs.append("m")
++
+ exts = [(Extension(
+ "_imaging", files, libraries=libs, define_macros=defs
+ ))]
+@@ -332,7 +334,7 @@ class pil_build_ext(build_ext):
+ ))
+
+ if os.path.isfile("_imagingmath.c"):
+- exts.append(Extension("_imagingmath", ["_imagingmath.c"]))
++ exts.append(Extension("_imagingmath", ["_imagingmath.c"], libraries=["m"]))
+
+ self.extensions[:] = exts
+
diff --git a/dev-python/imaging/files/imaging-1.1.7-no-host-paths.patch b/dev-python/imaging/files/imaging-1.1.7-no-host-paths.patch
new file mode 100644
index 00000000000..a84c032450c
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-no-host-paths.patch
@@ -0,0 +1,29 @@
+do not poke around /usr/include and /usr/lib directly as it's (1) not needed
+and (2) breaks cross-compiling
+
+patch from Chromium OS
+
+--- a/setup.py
++++ b/setup.py
+@@ -147,7 +147,6 @@ class pil_build_ext(build_ext):
+ add_directory(library_dirs, "/opt/local/lib")
+ add_directory(include_dirs, "/opt/local/include")
+
+- add_directory(library_dirs, "/usr/local/lib")
+ # FIXME: check /opt/stuff directories here?
+
+ prefix = sysconfig.get_config_var("prefix")
+@@ -207,13 +206,6 @@ class pil_build_ext(build_ext):
+ if os.path.isfile(os.path.join(tcl_dir, "tk.h")):
+ add_directory(include_dirs, tcl_dir)
+
+- # standard locations
+- add_directory(library_dirs, "/usr/local/lib")
+- add_directory(include_dirs, "/usr/local/include")
+-
+- add_directory(library_dirs, "/usr/lib")
+- add_directory(include_dirs, "/usr/include")
+-
+ #
+ # insert new dirs *before* default libs, to avoid conflicts
+ # between Python PYD stub libs and real libraries
diff --git a/dev-python/imaging/files/imaging-1.1.7-no-xv.patch b/dev-python/imaging/files/imaging-1.1.7-no-xv.patch
new file mode 100644
index 00000000000..1cbaf515bd4
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-no-xv.patch
@@ -0,0 +1,18 @@
+--- PIL/ImageShow.py.old 2009-11-30 10:28:37.000000000 +0100
++++ PIL/ImageShow.py 2009-11-30 10:29:02.000000000 +0100
+@@ -149,13 +149,10 @@
+ def get_command_ex(self, file, title=None, **options):
+ # note: xv is pretty outdated. most modern systems have
+ # imagemagick's display command instead.
+- command = executable = "xv"
+- if title:
+- # FIXME: do full escaping
+- command = command + " -name \"%s\"" % title
++ command = executable = "xdg-open"
+ return command, executable
+
+- if which("xv"):
++ if which("xdg-open"):
+ register(XVViewer)
+
+ if __name__ == "__main__":
diff --git a/dev-python/imaging/files/imaging-1.1.7-nolcms.patch b/dev-python/imaging/files/imaging-1.1.7-nolcms.patch
new file mode 100644
index 00000000000..e087cd301dd
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-nolcms.patch
@@ -0,0 +1,13 @@
+--- setup.py.orig
++++ setup.py 2011-09-04
+@@ -264,10 +264,6 @@
+ if dir:
+ add_directory(self.compiler.include_dirs, dir, 0)
+
+- if find_include_file(self, "lcms.h"):
+- if find_library_file(self, "lcms"):
+- feature.lcms = "lcms"
+-
+ if _tkinter and find_include_file(self, "tk.h"):
+ # the library names may vary somewhat (e.g. tcl84 or tcl8.4)
+ version = TCL_VERSION[0] + TCL_VERSION[2]
diff --git a/dev-python/imaging/files/imaging-1.1.7-sane.patch b/dev-python/imaging/files/imaging-1.1.7-sane.patch
new file mode 100644
index 00000000000..4970e50033a
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-sane.patch
@@ -0,0 +1,13 @@
+--- Imaging-1.1.6/Sane/_sane.c.orig 2006-12-03 13:12:22.000000000 +0100
++++ Imaging-1.1.6/Sane/_sane.c 2009-02-28 11:41:19.000000000 +0200
+@@ -1152,8 +1152,8 @@
+ static PyObject *
+ PySane_get_devices(PyObject *self, PyObject *args)
+ {
+- SANE_Device **devlist;
+- SANE_Device *dev;
++ const SANE_Device **devlist;
++ const SANE_Device *dev;
+ SANE_Status st;
+ PyObject *list;
+ int local_only, i;
diff --git a/dev-python/imaging/imaging-1.1.7-r5.ebuild b/dev-python/imaging/imaging-1.1.7-r5.ebuild
new file mode 100644
index 00000000000..c5124b79788
--- /dev/null
+++ b/dev-python/imaging/imaging-1.1.7-r5.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1
+
+MY_P=Imaging-${PV}
+
+DESCRIPTION="Python Imaging Library (PIL)"
+HOMEPAGE="http://www.pythonware.com/products/pil/index.htm"
+SRC_URI="http://www.effbot.org/downloads/${MY_P}.tar.gz"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="doc examples jpeg scanner test tiff tk truetype zlib"
+
+RDEPEND="
+ truetype? ( media-libs/freetype:2 )
+ jpeg? ( virtual/jpeg )
+ scanner? ( media-gfx/sane-backends )
+ tiff? ( media-libs/tiff )
+ zlib? ( sys-libs/zlib )
+ !dev-python/pillow"
+DEPEND="${RDEPEND}"
+RDEPEND+=" !dev-python/pillow"
+
+# Tests don't handle missing jpeg, tiff & zlib properly.
+REQUIRED_USE="test? ( jpeg tiff zlib )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-no-xv.patch"
+ "${FILESDIR}/${P}-sane.patch"
+ "${FILESDIR}/${P}-giftrans.patch"
+ "${FILESDIR}/${P}-missing-math.patch"
+ "${FILESDIR}/${P}-ft-header-include.patch"
+ "${FILESDIR}/${P}-dont-run-multiple-viewers.patch"
+ "${FILESDIR}/${P}-no-host-paths.patch"
+ )
+
+ # Add shebangs.
+ 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 tiff tk 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
+ sed -i -e "s:feature.lcms =:& None #:" setup.py || die
+
+ 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_test() {
+ "${PYTHON}" selftest.py || 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/. )
+ 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
+ dodoc Sane/demo_*.py
+ docompress -x /usr/share/${PF}/examples
+ fi
+}
diff --git a/dev-python/imaging/metadata.xml b/dev-python/imaging/metadata.xml
new file mode 100644
index 00000000000..301d2207cc2
--- /dev/null
+++ b/dev-python/imaging/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>