diff options
| author | su_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 |
| commit | 197ce9952b492756ed49ac6404caef26767a6c8b (patch) | |
| tree | d1c5d35fd32508c9991702b17540ed79839fe4b4 /packaging/macosx/ports/python | |
| parent | fix mistake in inkscape-packaging portfile (diff) | |
| download | inkscape-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/Portfile | 74 | ||||
| -rw-r--r-- | packaging/macosx/ports/python/py-Pillow/files/patch-setup.py.diff | 120 |
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])) |
