summaryrefslogtreecommitdiffstats
path: root/packaging/macosx/ports/python
diff options
context:
space:
mode:
authorsu_v <suv-sf@users.sourceforge.net>2014-09-06 22:15:20 +0000
committer~suv <suv-sf@users.sourceforge.net>2014-09-06 22:15:20 +0000
commit197ce9952b492756ed49ac6404caef26767a6c8b (patch)
treed1c5d35fd32508c9991702b17540ed79839fe4b4 /packaging/macosx/ports/python
parentfix mistake in inkscape-packaging portfile (diff)
downloadinkscape-197ce9952b492756ed49ac6404caef26767a6c8b.tar.gz
inkscape-197ce9952b492756ed49ac6404caef26767a6c8b.zip
include py-Pillow too (has variant to disable tkinter support)
(bzr r13506.1.68)
Diffstat (limited to 'packaging/macosx/ports/python')
-rw-r--r--packaging/macosx/ports/python/py-Pillow/Portfile74
-rw-r--r--packaging/macosx/ports/python/py-Pillow/files/patch-setup.py.diff120
2 files changed, 194 insertions, 0 deletions
diff --git a/packaging/macosx/ports/python/py-Pillow/Portfile b/packaging/macosx/ports/python/py-Pillow/Portfile
new file mode 100644
index 000000000..6935fab95
--- /dev/null
+++ b/packaging/macosx/ports/python/py-Pillow/Portfile
@@ -0,0 +1,74 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+# $Id: Portfile 124123 2014-08-19 13:57:18Z stromnov@macports.org $
+
+PortSystem 1.0
+PortGroup python 1.0
+
+name py-Pillow
+version 2.5.3
+revision 100
+categories-append devel
+platforms darwin
+license BSD
+
+python.versions 26 27 32 33 34
+
+maintainers stromnov openmaintainer
+
+description Python Imaging Library (fork)
+
+long_description ${description}
+
+homepage http://github.com/python-imaging/Pillow
+master_sites http://pypi.python.org/packages/source/P/Pillow/
+
+distname Pillow-${version}
+
+checksums rmd160 f10cda34a62022edf3bfe626096b6bc009a74dc8 \
+ sha256 62ff6c6cb88d4a1d6e856315b1691186b06cb923f18fde86d6abac9eeb9096d1
+
+if {${name} ne ${subport}} {
+ use_zip yes
+
+ conflicts py${python.version}-pil
+
+ depends_build port:py${python.version}-setuptools
+ depends_lib-append \
+ port:zlib \
+ port:jpeg \
+ port:tiff \
+ port:lcms \
+ port:webp \
+ port:openjpeg \
+ port:freetype
+
+ patchfiles patch-setup.py.diff
+
+ post-patch {
+ reinplace "s|@prefix@|${prefix}|g" ${worksrcpath}/setup.py
+ }
+
+ livecheck.type none
+} else {
+ livecheck.type regex
+ livecheck.url ${master_sites}
+ livecheck.regex {Pillow-(\d+(?:\.\d+)*)\.[tz]}
+}
+
+variant quartz conflicts x11 tkinter {
+ # tkinter doesn't build
+}
+
+variant x11 conflicts quartz {
+ # tkinter does build
+}
+
+variant tkinter description {with tkinter support} {
+ if {$subport != $name} {
+ depends_lib-append port:py${python.version}-tkinter
+ }
+}
+
+if { ![variant_isset quartz] } {
+ default_variants-append +tkinter
+}
diff --git a/packaging/macosx/ports/python/py-Pillow/files/patch-setup.py.diff b/packaging/macosx/ports/python/py-Pillow/files/patch-setup.py.diff
new file mode 100644
index 000000000..fe300cfe5
--- /dev/null
+++ b/packaging/macosx/ports/python/py-Pillow/files/patch-setup.py.diff
@@ -0,0 +1,120 @@
+--- setup.py.orig 2014-07-04 17:25:36.000000000 +0200
++++ setup.py 2014-07-04 17:33:05.000000000 +0200
+@@ -19,7 +19,7 @@
+ from setuptools import Extension, setup, find_packages
+
+ # monkey patch import hook. Even though flake8 says it's not used, it is.
+-# comment this out to disable multi threaded builds.
++# comment this out to disable multi threaded builds.
+ import mp_compile
+
+ _IMAGING = (
+@@ -200,44 +200,8 @@
+ "/usr/lib", "python%s" % sys.version[:3], "config"))
+
+ elif sys.platform == "darwin":
+- # attempt to make sure we pick freetype2 over other versions
+- _add_directory(include_dirs, "/sw/include/freetype2")
+- _add_directory(include_dirs, "/sw/lib/freetype2/include")
+- # fink installation directories
+- _add_directory(library_dirs, "/sw/lib")
+- _add_directory(include_dirs, "/sw/include")
+- # darwin ports installation directories
+- _add_directory(library_dirs, "/opt/local/lib")
+- _add_directory(include_dirs, "/opt/local/include")
+-
+- # if Homebrew is installed, use its lib and include directories
+- import subprocess
+- try:
+- prefix = subprocess.check_output(
+- ['brew', '--prefix']
+- ).strip().decode('latin1')
+- except:
+- # Homebrew not installed
+- prefix = None
+-
+- ft_prefix = None
+-
+- if prefix:
+- # add Homebrew's include and lib directories
+- _add_directory(library_dirs, os.path.join(prefix, 'lib'))
+- _add_directory(include_dirs, os.path.join(prefix, 'include'))
+- ft_prefix = os.path.join(prefix, 'opt', 'freetype')
+-
+- if ft_prefix and os.path.isdir(ft_prefix):
+- # freetype might not be linked into Homebrew's prefix
+- _add_directory(library_dirs, os.path.join(ft_prefix, 'lib'))
+- _add_directory(
+- include_dirs, os.path.join(ft_prefix, 'include'))
+- else:
+- # fall back to freetype from XQuartz if
+- # Homebrew's freetype is missing
+- _add_directory(library_dirs, "/usr/X11/lib")
+- _add_directory(include_dirs, "/usr/X11/include")
++ _add_directory(library_dirs, "@prefix@/lib")
++ _add_directory(include_dirs, "@prefix@/include")
+
+ elif sys.platform.startswith("linux"):
+ arch_tp = (plat.processor(), plat.architecture()[0])
+@@ -337,21 +301,6 @@
+ else:
+ TCL_ROOT = None
+
+- # add standard directories
+-
+- # look for tcl specific subdirectory (e.g debian)
+- if _tkinter:
+- tcl_dir = "/usr/include/tcl" + TCL_VERSION
+- 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")
+-
+ # on Windows, look for the OpenJPEG libraries in the location that
+ # the official installer puts them
+ if sys.platform == "win32":
+@@ -410,7 +359,7 @@
+ for directory in self.compiler.include_dirs:
+ try:
+ listdir = os.listdir(directory)
+- except Exception:
++ except Exception:
+ # WindowsError, FileNotFoundError
+ continue
+ for name in listdir:
+@@ -570,29 +519,7 @@
+ exts.append(Extension(
+ "PIL._webp", ["_webp.c"], libraries=libs, define_macros=defs))
+
+- if sys.platform == "darwin":
+- # locate Tcl/Tk frameworks
+- frameworks = []
+- framework_roots = [
+- "/Library/Frameworks",
+- "/System/Library/Frameworks"]
+- for root in framework_roots:
+- if (
+- os.path.exists(os.path.join(root, "Tcl.framework")) and
+- os.path.exists(os.path.join(root, "Tk.framework"))):
+- print("--- using frameworks at %s" % root)
+- frameworks = ["-framework", "Tcl", "-framework", "Tk"]
+- dir = os.path.join(root, "Tcl.framework", "Headers")
+- _add_directory(self.compiler.include_dirs, dir, 0)
+- dir = os.path.join(root, "Tk.framework", "Headers")
+- _add_directory(self.compiler.include_dirs, dir, 1)
+- break
+- if frameworks:
+- exts.append(Extension(
+- "PIL._imagingtk", ["_imagingtk.c", "Tk/tkImaging.c"],
+- extra_compile_args=frameworks, extra_link_args=frameworks))
+- feature.tcl = feature.tk = 1 # mark as present
+- elif feature.tcl and feature.tk:
++ if feature.tcl and feature.tk:
+ exts.append(Extension(
+ "PIL._imagingtk", ["_imagingtk.c", "Tk/tkImaging.c"],
+ libraries=[feature.tcl, feature.tk]))