summaryrefslogtreecommitdiffstats
path: root/packaging/macosx/ports/python
diff options
context:
space:
mode:
authorLiam P. White <inkscapebrony@gmail.com>2014-10-17 20:03:14 +0000
committerLiam P. White <inkscapebrony@gmail.com>2014-10-17 20:03:14 +0000
commit4fc13b246c0c03c26c10c421c63c33331aa57d85 (patch)
tree82f8ceea42ace9c0512b6073935e4bd9c3d14f7a /packaging/macosx/ports/python
parentSmall warning cleanup (diff)
parentPort inkscape to librevenge framework for WPG, CDR and VSD imports (diff)
downloadinkscape-4fc13b246c0c03c26c10c421c63c33331aa57d85.tar.gz
inkscape-4fc13b246c0c03c26c10c421c63c33331aa57d85.zip
Update to trunk r13621
(bzr r13341.1.278)
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
-rw-r--r--packaging/macosx/ports/python/py-sk1libs/Portfile64
-rw-r--r--packaging/macosx/ports/python/py-sk1libs/files/patch-src-imaging-libimagingft-_imagingft.c.diff16
-rw-r--r--packaging/macosx/ports/python/py-sk1libs/files/patch-src-utils-fs.py.diff26
-rw-r--r--packaging/macosx/ports/python/py-uniconvertor/Portfile46
-rw-r--r--packaging/macosx/ports/python/py25-Pillow/Portfile77
-rw-r--r--packaging/macosx/ports/python/py25-Pillow/files/patch-_imagingft.c.diff14
-rw-r--r--packaging/macosx/ports/python/py25-Pillow/files/patch-setup.py-v1.7.8.diff83
-rw-r--r--packaging/macosx/ports/python/py25-lxml/Portfile51
-rw-r--r--packaging/macosx/ports/python/py25-nose/Portfile86
-rw-r--r--packaging/macosx/ports/python/py25-nose/files/nosetests241
-rw-r--r--packaging/macosx/ports/python/py25-nose/files/nosetests251
-rw-r--r--packaging/macosx/ports/python/py25-nose/files/nosetests261
-rw-r--r--packaging/macosx/ports/python/py25-nose/files/nosetests271
-rw-r--r--packaging/macosx/ports/python/py25-nose/files/nosetests311
-rw-r--r--packaging/macosx/ports/python/py25-nose/files/nosetests321
-rw-r--r--packaging/macosx/ports/python/py25-nose/files/nosetests331
-rw-r--r--packaging/macosx/ports/python/py25-nose/files/nosetests341
-rw-r--r--packaging/macosx/ports/python/py25-numpy/Portfile209
-rw-r--r--packaging/macosx/ports/python/py25-numpy/files/patch-f2py_setup.py.diff29
-rw-r--r--packaging/macosx/ports/python/py25-numpy/files/patch-fcompiler_g95.diff11
-rw-r--r--packaging/macosx/ports/python/py25-numpy/files/patch-numpy_distutils_fcompiler___init__.py.diff30
-rw-r--r--packaging/macosx/ports/python/py25-numpy/files/patch-numpy_linalg_setup.py.diff10
-rw-r--r--packaging/macosx/ports/python/py25-numpy/files/patch-setup.py.diff34
-rwxr-xr-xpackaging/macosx/ports/python/py25-numpy/files/wrapper-template143
-rw-r--r--packaging/macosx/ports/python/py25-setuptools/Portfile58
27 files changed, 1189 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]))
diff --git a/packaging/macosx/ports/python/py-sk1libs/Portfile b/packaging/macosx/ports/python/py-sk1libs/Portfile
new file mode 100644
index 000000000..0c152ce8c
--- /dev/null
+++ b/packaging/macosx/ports/python/py-sk1libs/Portfile
@@ -0,0 +1,64 @@
+# -*- 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$
+
+PortSystem 1.0
+PortGroup python 1.0
+
+name py-sk1libs
+version 0.9.1
+revision 101
+license LGPL-2
+maintainers nomaintainer
+categories python graphics
+platforms darwin
+homepage http://sk1project.org/
+
+description Set of python non-GUI extensions for sK1 Project
+
+long_description \
+ sk1libs is a set of python non-GUI extensions for sK1 Project. \
+ The package includes multiplatform non-GUI extensions which are \
+ usually native extensions.
+
+distname sk1libs-${version}
+# MacPorts does not properly support URLs with a get parameter.
+# Workaround for this bug: https://trac.macports.org/wiki/PortfileRecipes#fetchwithgetparams
+master_sites http://sk1project.org/dc.php?target=${distfiles}&dummy=
+
+checksums md5 e18088bbc8a105e7535a96f40b80f284 \
+ sha1 dd948558128bb6547b1f277087bf3066104912da \
+ rmd160 38f22205e0b5b6078e31ec6dc4c1d93845533046
+
+python.versions 25 26 27
+
+if {$subport != $name} {
+
+ depends_lib-append \
+ port:freetype \
+ port:jpeg \
+ port:lcms \
+ port:zlib
+
+ depends_run-append \
+ port:py${python.version}-pil
+
+ variant Pillow {
+ depends_run-delete port:py${python.version}-pil
+ depends_run-append port:py${python.version}-Pillow
+ }
+
+ patchfiles \
+ patch-src-utils-fs.py.diff \
+ patch-src-imaging-libimagingft-_imagingft.c.diff
+
+ post-patch {
+ reinplace "s|'/usr/include/freetype2'|'${prefix}/include/freetype2'|g" ${worksrcpath}/setup.py
+ reinplace "s|__PREFIX__|${prefix}|g" ${worksrcpath}/src/utils/fs.py
+ }
+}
+
+default_variants +Pillow
+
+livecheck.type regex
+livecheck.url http://sk1project.org/modules.php?name=Products&product=uniconvertor&op=download
+livecheck.regex "sk1libs-(\\d+(?:\\.\\d+)*)${extract.suffix}"
diff --git a/packaging/macosx/ports/python/py-sk1libs/files/patch-src-imaging-libimagingft-_imagingft.c.diff b/packaging/macosx/ports/python/py-sk1libs/files/patch-src-imaging-libimagingft-_imagingft.c.diff
new file mode 100644
index 000000000..1d69461a3
--- /dev/null
+++ b/packaging/macosx/ports/python/py-sk1libs/files/patch-src-imaging-libimagingft-_imagingft.c.diff
@@ -0,0 +1,16 @@
+--- src/imaging/libimagingft/_imagingft.c.orig 2014-07-13 00:37:57.000000000 +0200
++++ src/imaging/libimagingft/_imagingft.c 2014-07-13 00:41:08.000000000 +0200
+@@ -70,7 +70,13 @@
+ const char* message;
+ } ft_errors[] =
+
++#if defined(USE_FREETYPE_2_1)
++/* freetype 2.1 and newer */
++#include FT_ERRORS_H
++#else
++/* freetype 2.0 */
+ #include <freetype/fterrors.h>
++#endif
+
+ /* -------------------------------------------------------------------- */
+ /* font objects */
diff --git a/packaging/macosx/ports/python/py-sk1libs/files/patch-src-utils-fs.py.diff b/packaging/macosx/ports/python/py-sk1libs/files/patch-src-utils-fs.py.diff
new file mode 100644
index 000000000..541935e71
--- /dev/null
+++ b/packaging/macosx/ports/python/py-sk1libs/files/patch-src-utils-fs.py.diff
@@ -0,0 +1,26 @@
+--- src/utils/fs.py.orig 2010-05-23 12:46:21.000000000 +0200
++++ src/utils/fs.py 2013-01-18 15:40:02.000000000 +0100
+@@ -220,8 +220,14 @@
+ finally:
+ _winreg.CloseKey( k )
+ if system.get_os_family()==system.MACOSX:
+- #FIXME: It's a stub. The paths should be more exact.
+- return ['/',]
++ return ['__PREFIX__/share/fonts',
++ '/usr/share/fonts',
++ '/opt/X11/lib/X11/fonts',
++ '/System/Library/Fonts',
++ '/Network/Library/Fonts',
++ '/Library/Fonts',
++ os.path.expanduser("~/Library/Fonts"),
++ os.path.expanduser("~/.fonts")]
+
+
+ DIRECTORY_OBJECT=0
+@@ -311,4 +317,4 @@
+ if __name__ == '__main__':
+ _test()
+
+-
+\ No newline at end of file
++
diff --git a/packaging/macosx/ports/python/py-uniconvertor/Portfile b/packaging/macosx/ports/python/py-uniconvertor/Portfile
new file mode 100644
index 000000000..2c4a22ca0
--- /dev/null
+++ b/packaging/macosx/ports/python/py-uniconvertor/Portfile
@@ -0,0 +1,46 @@
+# -*- 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$
+
+PortSystem 1.0
+PortGroup python 1.0
+
+name py-uniconvertor
+version 1.1.5
+revision 100
+license LGPL-2 GPL-2
+maintainers nomaintainer
+categories python graphics
+platforms darwin
+homepage http://sk1project.org/modules.php?name=Products&product=uniconvertor
+
+description universal vector graphics translator.
+
+long_description \
+ UniConvertor is a universal vector graphics translator. It is a command \
+ line tool which uses sK1 object model to convert one format to another. \
+ Supported input formats include CorelDraw v7-X4 (CDR/CDT/CCX/CDRX/CMX), \
+ Adobe Illustrator v5-9 (AI), PS, EPS, CGM, WMF, XFIG, SVG, SK, SK1, AFF. \
+ Supported output formats include Adobe Illustrator AI, PS, CGM, WMF, \
+ SVG, SK, SK1, PDF.
+
+distname uniconvertor-${version}
+# MacPorts does not properly support URLs with a get parameter.
+# Workaround for this bug: https://trac.macports.org/wiki/PortfileRecipes#fetchwithgetparams
+master_sites http://sk1project.org/dc.php?target=${distfiles}&dummy=
+
+checksums md5 d1272315a58304ece2ff588834e23f72 \
+ sha1 51ec7c4487048c3357ed95cdb4ab3524018a2c9e \
+ rmd160 86211bdb7b7af7611a9db4a2e2f6101995af6850
+
+python.versions 25 26 27
+
+if {$subport != $name} {
+
+ depends_lib-append \
+ port:py${python.version}-sk1libs
+
+}
+
+livecheck.type regex
+livecheck.url http://sk1project.org/modules.php?name=Products&product=uniconvertor&op=download
+livecheck.regex "uniconvertor-(\\d+(?:\\.\\d+)*)${extract.suffix}"
diff --git a/packaging/macosx/ports/python/py25-Pillow/Portfile b/packaging/macosx/ports/python/py25-Pillow/Portfile
new file mode 100644
index 000000000..aa74a06ad
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-Pillow/Portfile
@@ -0,0 +1,77 @@
+# -*- 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 104088 2013-03-15 14:39:56Z stromnov@macports.org $
+
+PortSystem 1.0
+PortGroup python 1.0
+
+name py25-Pillow
+set real_name py-Pillow
+version 1.7.8
+revision 100
+categories-append devel
+platforms darwin
+license BSD
+
+python.versions 25
+python.version 25
+
+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}
+use_zip yes
+
+checksums rmd160 e52cec02d943951a80d30b32b1764cb3ae87b283 \
+ sha256 907f5342b1df1d277dcc10df2aeabc61099e5a07e0676b9fcd1bb7379890c0ee
+
+if {$subport == $name} {
+ 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:freetype
+
+ patchfiles patch-setup.py-v1.7.8.diff \
+ patch-_imagingft.c.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+)*)${extract.suffix}"
+}
+
+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
+#}
+
+default_variants -tkinter
diff --git a/packaging/macosx/ports/python/py25-Pillow/files/patch-_imagingft.c.diff b/packaging/macosx/ports/python/py25-Pillow/files/patch-_imagingft.c.diff
new file mode 100644
index 000000000..99f72a8c9
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-Pillow/files/patch-_imagingft.c.diff
@@ -0,0 +1,14 @@
+--- _imagingft.c.orig 2013-11-27 16:07:53.000000000 +0400
++++ _imagingft.c 2013-11-27 16:12:01.000000000 +0400
+@@ -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/packaging/macosx/ports/python/py25-Pillow/files/patch-setup.py-v1.7.8.diff b/packaging/macosx/ports/python/py25-Pillow/files/patch-setup.py-v1.7.8.diff
new file mode 100644
index 000000000..2f4b797f6
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-Pillow/files/patch-setup.py-v1.7.8.diff
@@ -0,0 +1,83 @@
+--- setup.py.orig 2014-09-02 02:51:22.000000000 +0200
++++ setup.py 2014-09-02 02:53:51.000000000 +0200
+@@ -100,18 +100,9 @@
+ "/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")
+- # freetype2 ships with X11
+- _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"):
+ if platform.processor() == "x86_64":
+@@ -126,9 +117,6 @@
+ # work ;-)
+ self.add_multiarch_paths()
+
+- _add_directory(library_dirs, "/usr/local/lib")
+- # FIXME: check /opt/stuff directories here?
+-
+ prefix = sysconfig.get_config_var("prefix")
+ if prefix:
+ _add_directory(library_dirs, os.path.join(prefix, "lib"))
+@@ -180,19 +168,6 @@
+ #
+ # 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")
+-
+ #
+ # insert new dirs *before* default libs, to avoid conflicts
+ # between Python PYD stub libs and real libraries
+@@ -307,28 +282,7 @@
+ exts.append(Extension(
+ "_imagingcms", ["_imagingcms.c"], libraries=["lcms"] + extra))
+
+- 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(
+- "_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(
+ "_imagingtk", ["_imagingtk.c", "Tk/tkImaging.c"],
+ libraries=[feature.tcl, feature.tk]))
diff --git a/packaging/macosx/ports/python/py25-lxml/Portfile b/packaging/macosx/ports/python/py25-lxml/Portfile
new file mode 100644
index 000000000..49a753cd1
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-lxml/Portfile
@@ -0,0 +1,51 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
+# $Id: Portfile 121661 2014-07-03 17:50:11Z mf2k@macports.org $
+
+PortSystem 1.0
+PortGroup python 1.0
+
+name py25-lxml
+version 3.3.5
+revision 0
+categories-append devel
+platforms darwin
+license BSD
+
+python.versions 25
+
+maintainers gmail.com:dbraband openmaintainer
+
+description Powerful and Pythonic XML processing library
+
+long_description lxml is a Pythonic binding for the libxml2 and \
+ libxslt libraries. It is unique in that it \
+ combines the speed and feature completeness of \
+ these libraries with the simplicity of a native \
+ Python API, mostly compatible but superior to \
+ the well-known ElementTree API.
+
+homepage http://lxml.de/
+master_sites http://pypi.python.org/packages/source/l/lxml/
+
+checksums rmd160 c7ccece50f8d20f5fac44ac1bf8dc0d8a85aa0f9 \
+ sha256 6ad6949dc7eea744a30fba77a968dd5910f545220e58bcc813b9df5c793e318a
+
+distname lxml-${version}
+
+if {${name} eq ${subport}} {
+
+ revision 100
+
+ depends_build-append \
+ port:py${python.version}-setuptools
+
+ depends_lib-append port:zlib \
+ port:libxml2 \
+ port:libxslt
+
+ livecheck.type none
+} else {
+ livecheck.type regex
+ livecheck.url ${master_sites}
+ livecheck.regex "lxml-(\\d+(?:\\.\\d+)*)${extract.suffix}"
+}
diff --git a/packaging/macosx/ports/python/py25-nose/Portfile b/packaging/macosx/ports/python/py25-nose/Portfile
new file mode 100644
index 000000000..62a60eec5
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/Portfile
@@ -0,0 +1,86 @@
+# -*- 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 121661 2014-07-03 17:50:11Z mf2k@macports.org $
+
+PortSystem 1.0
+PortGroup python 1.0
+PortGroup select 1.0
+
+set my_name nose
+name py25-${my_name}
+version 1.3.1
+categories-append www
+license LGPL-2+
+maintainers mcalhoun openmaintainer
+description A Python unittest extension.
+long_description \
+ A unittest extension offering automatic test \
+ suite discovery, simplified test authoring, \
+ and output capture. Nose provides an alternate \
+ test discovery and running process for \
+ unittest, one that is intended to mimic the \
+ behavior of py.test as much as is reasonably \
+ possible without resorting to magic.
+
+platforms darwin
+supported_archs noarch
+
+homepage http://somethingaboutorange.com/mrl/projects/${my_name}
+master_sites http://pypi.python.org/packages/source/n/${my_name}/
+distname ${my_name}-${version}
+
+checksums md5 672398801ddf5ba745c55c6eed79c5aa \
+ rmd160 7bf311d3d54f2ccb372dea331708c475b992ccec \
+ sha256 85273b87ab3db9307e3b1452b071e25c1db1cc812bc337d2a97ea0b0cf2ab6ba
+
+python.versions 25
+
+# already installs version-suffixed executables
+python.link_binaries no
+python.move_binaries no
+
+depends_run-append port:nosetests_select
+if {${name} eq ${subport}} {
+
+ revision 100
+
+ select.group nosetests
+ select.file ${filespath}/nosetests${python.version}
+
+ depends_lib port:py${python.version}-setuptools
+
+ post-patch {
+ reinplace "s|man/man|share/man/man|" ${worksrcpath}/setup.py
+
+ # One of the tests fails if this directory does not exist
+ file mkdir ${worksrcpath}/functional_tests/support/empty
+ }
+
+ post-destroot {
+ if {${python.version} == "24" || ${python.version} == "25"} {
+ move ${destroot}${prefix}/share/man/man1/nosetests.1 ${destroot}${prefix}/share/man/man1/nosetests${python.branch}.1
+ delete ${destroot}${prefix}/bin/nosetests
+ } else {
+ ln -s ${python.prefix}/bin/nosetests-${python.branch} ${destroot}${prefix}/bin/
+ ln -s ${python.prefix}/share/man/man1/nosetests.1 ${destroot}${prefix}/share/man/man1/nosetests${python.branch}.1
+ }
+
+ xinstall -m 644 -W ${worksrcpath} \
+ AUTHORS CHANGELOG NEWS README.txt \
+ ${destroot}${prefix}/share/doc/${subport}
+
+ file copy ${worksrcpath}/doc ${destroot}${prefix}/share/doc/${subport}/html
+
+ file delete ${destroot}${prefix}/share/doc/${subport}/examples
+ file copy ${worksrcpath}/examples ${destroot}${prefix}/share/doc/${subport}
+ }
+
+ test.run yes
+ test.cmd ${python.bin} setup.py test
+
+ livecheck.type none
+
+#} else {
+# livecheck.type regex
+# livecheck.url ${master_sites}
+# livecheck.regex "${my_name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
+}
diff --git a/packaging/macosx/ports/python/py25-nose/files/nosetests24 b/packaging/macosx/ports/python/py25-nose/files/nosetests24
new file mode 100644
index 000000000..d9a8f4034
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/files/nosetests24
@@ -0,0 +1 @@
+bin/nosetests-2.4
diff --git a/packaging/macosx/ports/python/py25-nose/files/nosetests25 b/packaging/macosx/ports/python/py25-nose/files/nosetests25
new file mode 100644
index 000000000..95864c283
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/files/nosetests25
@@ -0,0 +1 @@
+bin/nosetests-2.5
diff --git a/packaging/macosx/ports/python/py25-nose/files/nosetests26 b/packaging/macosx/ports/python/py25-nose/files/nosetests26
new file mode 100644
index 000000000..bb670776f
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/files/nosetests26
@@ -0,0 +1 @@
+bin/nosetests-2.6
diff --git a/packaging/macosx/ports/python/py25-nose/files/nosetests27 b/packaging/macosx/ports/python/py25-nose/files/nosetests27
new file mode 100644
index 000000000..28c7bfe8c
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/files/nosetests27
@@ -0,0 +1 @@
+bin/nosetests-2.7
diff --git a/packaging/macosx/ports/python/py25-nose/files/nosetests31 b/packaging/macosx/ports/python/py25-nose/files/nosetests31
new file mode 100644
index 000000000..5ba27a4d5
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/files/nosetests31
@@ -0,0 +1 @@
+bin/nosetests-3.1
diff --git a/packaging/macosx/ports/python/py25-nose/files/nosetests32 b/packaging/macosx/ports/python/py25-nose/files/nosetests32
new file mode 100644
index 000000000..07bfb86a1
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/files/nosetests32
@@ -0,0 +1 @@
+bin/nosetests-3.2
diff --git a/packaging/macosx/ports/python/py25-nose/files/nosetests33 b/packaging/macosx/ports/python/py25-nose/files/nosetests33
new file mode 100644
index 000000000..b750d806b
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/files/nosetests33
@@ -0,0 +1 @@
+bin/nosetests-3.3
diff --git a/packaging/macosx/ports/python/py25-nose/files/nosetests34 b/packaging/macosx/ports/python/py25-nose/files/nosetests34
new file mode 100644
index 000000000..542ffc949
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-nose/files/nosetests34
@@ -0,0 +1 @@
+bin/nosetests-3.4
diff --git a/packaging/macosx/ports/python/py25-numpy/Portfile b/packaging/macosx/ports/python/py25-numpy/Portfile
new file mode 100644
index 000000000..4575d6293
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-numpy/Portfile
@@ -0,0 +1,209 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
+# $Id: Portfile 113172 2013-11-11 10:24:44Z jeremyhu@macports.org $
+
+PortSystem 1.0
+PortGroup python 1.0
+PortGroup github 1.0
+
+github.setup numpy numpy 1.7.1 v
+name py25-numpy
+revision 1
+dist_subdir ${name}/${version}_1
+
+categories-append math
+license BSD
+platforms darwin
+maintainers dh michaelld openmaintainer
+description The core utilities for the scientific library scipy for Python
+long_description ${description}
+
+checksums rmd160 16df4216f40b22077e1f14cc41b8c8ae486b45af \
+ sha256 14964724915e5fa1ed34d2cdb93eed5a86bc16edd4a1203cf521ad8bbbcb5215
+
+python.versions 25
+
+if {$subport == $name} {
+
+ revision 100
+
+ patchfiles patch-f2py_setup.py.diff \
+ patch-numpy_distutils_fcompiler___init__.py.diff \
+ patch-fcompiler_g95.diff
+
+ depends_lib-append port:fftw-3 \
+ port:py${python.version}-nose
+
+ # http://trac.macports.org/ticket/34562
+ destroot.env-append \
+ CC="${configure.cc}" \
+ CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
+ CXX="${configure.cxx}" \
+ CXXFLAGS="${configure.cxxflags} [get_canonical_archflags cxx]" \
+ OBJC="${configure.objc}" \
+ OBJCFLAGS="${configure.objcflags} [get_canonical_archflags objc]" \
+ LDFLAGS="${configure.ldflags} [get_canonical_archflags ld]"
+
+ build.env-append ARCHFLAGS="[get_canonical_archflags ld]"
+ destroot.env-append ARCHFLAGS="[get_canonical_archflags ld]"
+
+ variant atlas description {Use the MacPorts' ATLAS libraries \
+ instead of Apple's Accelerate framework} {
+ build.env-append ATLAS=${prefix}/lib \
+ LAPACK=${prefix}/lib \
+ BLAS=${prefix}/lib
+ destroot.env-append ATLAS=${prefix}/lib \
+ LAPACK=${prefix}/lib \
+ BLAS=${prefix}/lib
+ depends_lib-append port:atlas
+
+ if {[variant_isset universal]} {
+ python.set_compiler no
+ }
+ }
+
+ # when using ATLAS (whether by default or specified by the user via
+ # the +atlas variant) ...
+ set gcc_version ""
+ if {[variant_isset atlas]} {
+
+ # see if the user has set -gcc4X to disable using MacPorts'
+ # compiler; if not, either use what the user set (as +gcc4X) or
+ # default to gcc47.
+
+ variant gcc43 conflicts gcc44 gcc45 gcc46 gcc47 gcc48 \
+ description {Use the gcc43 compiler (enables fortran linking)} {
+ configure.compiler macports-gcc-4.3
+ }
+
+ variant gcc44 conflicts gcc43 gcc45 gcc46 gcc47 gcc48 \
+ description {Use the gcc44 compiler (enables fortran linking)} {
+ configure.compiler macports-gcc-4.4
+ }
+
+ variant gcc45 conflicts gcc43 gcc44 gcc46 gcc47 gcc48 \
+ description {Use the gcc45 compiler (enables fortran linking)} {
+ configure.compiler macports-gcc-4.5
+ }
+
+ variant gcc46 conflicts gcc43 gcc44 gcc45 gcc47 gcc48 \
+ description {Use the gcc46 compiler (enables fortran linking)} {
+ configure.compiler macports-gcc-4.6
+ }
+
+ variant gcc47 conflicts gcc43 gcc44 gcc45 gcc46 gcc48 \
+ description {Use the gcc47 compiler (enables fortran linking)} {
+ configure.compiler macports-gcc-4.7
+ }
+
+ variant gcc48 conflicts gcc43 gcc44 gcc45 gcc46 gcc47 \
+ description {Use the gcc48 compiler (enables fortran linking)} {
+ configure.compiler macports-gcc-4.8
+ }
+
+ if {![variant_isset gcc43] && ![variant_isset gcc44] && ![variant_isset gcc45] && ![variant_isset gcc46] && ![variant_isset gcc48]} {
+ default_variants +gcc47
+ }
+
+ if {[variant_isset gcc43]} {
+ set gcc_version "4.3"
+ } elseif {[variant_isset gcc44]} {
+ set gcc_version "4.4"
+ } elseif {[variant_isset gcc45]} {
+ set gcc_version "4.5"
+ } elseif {[variant_isset gcc46]} {
+ set gcc_version "4.6"
+ } elseif {[variant_isset gcc47]} {
+ set gcc_version "4.7"
+ } elseif {[variant_isset gcc48]} {
+ set gcc_version "4.8"
+ }
+
+ # when using non-Apple GCC for universal install, it can
+ # create binaries only for the native OS architecture, at
+ # either 32 or 64 bits. Restrict the supported archs
+ # accordingly.
+ if {${os.arch} == "i386"} {
+ supported_archs i386 x86_64
+ } elseif {${os.arch} == "powerpc"} {
+ supported_archs ppc ppc64
+ }
+
+ # include all the correct GCC4X port
+ depends_lib-append port:gcc[join [split ${gcc_version} "."] ""]
+
+ # force LDFLAGS for correct linking of the linalg module
+ # for non-Apple GCC compilers
+ patchfiles-append patch-numpy_linalg_setup.py.diff
+
+ if {${gcc_version} == ""} {
+ # user specified -gcc4X but +atlas (either as default or
+ # explicitly); do not allow since it might lead to
+ # undetermined runtime execution.
+ return -code error \
+"\n\nWhen using the +atlas variant (either as the default or setting
+explicitly), one of the +gcc4X variants must be selected.\n"
+ }
+
+ } else {
+ variant universal {
+ patchfiles-append patch-setup.py.diff
+ }
+ }
+
+ post-patch {
+ reinplace "s|@@MPORTS_PYTHON@@|${python.bin}|" \
+ ${worksrcpath}/numpy/f2py/setup.py
+
+ if {[variant_isset universal] && [variant_isset atlas]} {
+ # Prepare wrappers
+ file copy -force ${filespath}/wrapper-template \
+ ${worksrcpath}/c-wrapper
+ file copy -force ${filespath}/wrapper-template \
+ ${worksrcpath}/f-wrapper
+ file copy -force ${filespath}/wrapper-template \
+ ${worksrcpath}/cxx-wrapper
+
+ reinplace "s|@@@|${configure.cc}|" ${worksrcpath}/c-wrapper
+ reinplace "s|---|\\\\.c|" ${worksrcpath}/c-wrapper
+ reinplace "s|&&&|${prefix}|" ${worksrcpath}/c-wrapper
+
+ reinplace "s|@@@|${configure.cxx}|" ${worksrcpath}/cxx-wrapper
+ reinplace "s#---#(\\\\.C|\\\\.cpp|\\\\.cc)#" \
+ ${worksrcpath}/cxx-wrapper
+ reinplace "s|&&&|${prefix}|" ${worksrcpath}/cxx-wrapper
+
+ reinplace "s|@@@|${configure.f90}|" ${worksrcpath}/f-wrapper
+ reinplace "s|---|\\\\.f|" ${worksrcpath}/f-wrapper
+ reinplace "s|&&&|${prefix}|" ${worksrcpath}/f-wrapper
+
+ build.env-append CC="${worksrcpath}/c-wrapper" \
+ CXX="${worksrcpath}/cxx-wrapper" \
+ F77="${worksrcpath}/f-wrapper" \
+ F90="${worksrcpath}/f-wrapper"
+
+ destroot.env-append CC="${worksrcpath}/c-wrapper" \
+ CXX="${worksrcpath}/cxx-wrapper" \
+ F77="${worksrcpath}/f-wrapper" \
+ F90="${worksrcpath}/f-wrapper"
+ }
+
+ if {[variant_isset atlas]} {
+ # We must link against libSatlas or libTatlas, not libAtlas
+ if {[file exists ${prefix}/lib/libtatlas.dylib]} {
+ reinplace -E \
+ "s|_lib_atlas = \\\['atlas'\\\]|_lib_atlas = \\\['tatlas'\\\]|" \
+ ${worksrcpath}/numpy/distutils/system_info.py
+ } elseif {[file exists ${prefix}/lib/libsatlas.dylib]} {
+ reinplace -E \
+ "s|_lib_atlas = \\\['atlas'\\\]|_lib_atlas = \\\['satlas'\\\]|" \
+ ${worksrcpath}/numpy/distutils/system_info.py
+ } else {
+ return -code error "Unable to find Atlas dylibs. Bailing out."
+ }
+ }
+ }
+
+ livecheck.type none
+#} else {
+# livecheck.regex archive/[join ${github.tag_prefix} ""](\[\\d+(?:\\.\\d+)*"\]+)${extract.suffix}"
+}
diff --git a/packaging/macosx/ports/python/py25-numpy/files/patch-f2py_setup.py.diff b/packaging/macosx/ports/python/py25-numpy/files/patch-f2py_setup.py.diff
new file mode 100644
index 000000000..5b8f2a28f
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-numpy/files/patch-f2py_setup.py.diff
@@ -0,0 +1,29 @@
+--- numpy/f2py/setup.py.orig 2013-02-10 00:51:36.000000000 +0400
++++ numpy/f2py/setup.py 2013-03-19 15:27:15.000000000 +0400
+@@ -41,7 +41,7 @@
+ config.make_svn_version_py()
+
+ def generate_f2py_py(build_dir):
+- f2py_exe = 'f2py'+os.path.basename(sys.executable)[6:]
++ f2py_exe = 'f2py'
+ if f2py_exe[-4:]=='.exe':
+ f2py_exe = f2py_exe[:-4] + '.py'
+ if 'bdist_wininst' in sys.argv and f2py_exe[-3:] != '.py':
+@@ -51,7 +51,7 @@
+ log.info('Creating %s', target)
+ f = open(target,'w')
+ f.write('''\
+-#!/usr/bin/env %s
++#!@@MPORTS_PYTHON@@
+ # See http://cens.ioc.ee/projects/f2py2e/
+ import os, sys
+ for mode in ["g3-numpy", "2e-numeric", "2e-numarray", "2e-numpy"]:
+@@ -75,7 +75,7 @@
+ sys.stderr.write("Unknown mode: " + repr(mode) + "\\n")
+ sys.exit(1)
+ main()
+-'''%(os.path.basename(sys.executable)))
++''')
+ f.close()
+ return target
+
diff --git a/packaging/macosx/ports/python/py25-numpy/files/patch-fcompiler_g95.diff b/packaging/macosx/ports/python/py25-numpy/files/patch-fcompiler_g95.diff
new file mode 100644
index 000000000..2640a530b
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-numpy/files/patch-fcompiler_g95.diff
@@ -0,0 +1,11 @@
+--- numpy/distutils/fcompiler/__init__.py.orig 2013-03-19 13:35:03.000000000 +0400
++++ numpy/distutils/fcompiler/__init__.py 2013-03-19 13:35:27.000000000 +0400
+@@ -708,7 +708,7 @@
+ ('cygwin.*', ('gnu','intelv','absoft','compaqv','intelev','gnu95','g95')),
+ ('linux.*', ('gnu95','intel','lahey','pg','absoft','nag','vast','compaq',
+ 'intele','intelem','gnu','g95','pathf95')),
+- ('darwin.*', ('gnu95', 'nag', 'absoft', 'ibm', 'intel', 'gnu', 'g95', 'pg')),
++ ('darwin.*', ('gnu95', 'nag', 'absoft', 'ibm', 'intel', 'gnu', 'pg')),
+ ('sunos.*', ('sun','gnu','gnu95','g95')),
+ ('irix.*', ('mips','gnu','gnu95',)),
+ ('aix.*', ('ibm','gnu','gnu95',)),
diff --git a/packaging/macosx/ports/python/py25-numpy/files/patch-numpy_distutils_fcompiler___init__.py.diff b/packaging/macosx/ports/python/py25-numpy/files/patch-numpy_distutils_fcompiler___init__.py.diff
new file mode 100644
index 000000000..4f73dcfc9
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-numpy/files/patch-numpy_distutils_fcompiler___init__.py.diff
@@ -0,0 +1,30 @@
+--- numpy/distutils/fcompiler/__init__.py.orig 2013-10-31 13:24:12.000000000 +0400
++++ numpy/distutils/fcompiler/__init__.py 2013-10-31 13:45:03.000000000 +0400
+@@ -815,7 +815,7 @@
+ return compiler_type
+
+ # Flag to avoid rechecking for Fortran compiler every time
+-failed_fcompiler = False
++failed_fcompilers = []
+
+ def new_fcompiler(plat=None,
+ compiler=None,
+@@ -828,7 +828,8 @@
+ platform/compiler combination.
+ """
+ global failed_fcompiler
+- if failed_fcompiler:
++ fcompiler_key = (plat, compiler)
++ if fcompiler_key in failed_fcompilers:
+ return None
+
+ load_all_fcompiler_classes()
+@@ -848,7 +849,7 @@
+ msg = msg + " Supported compilers are: %s)" \
+ % (','.join(fcompiler_class.keys()))
+ log.warn(msg)
+- failed_fcompiler = True
++ failed_fcompilers.append(fcompiler_key)
+ return None
+
+ compiler = klass(verbose=verbose, dry_run=dry_run, force=force)
diff --git a/packaging/macosx/ports/python/py25-numpy/files/patch-numpy_linalg_setup.py.diff b/packaging/macosx/ports/python/py25-numpy/files/patch-numpy_linalg_setup.py.diff
new file mode 100644
index 000000000..0b06883a4
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-numpy/files/patch-numpy_linalg_setup.py.diff
@@ -0,0 +1,10 @@
+--- numpy/linalg/setup.py.orig 2010-09-14 11:44:21.000000000 -0400
++++ numpy/linalg/setup.py 2010-09-14 11:45:01.000000000 -0400
+@@ -27,6 +27,7 @@
+ 'zlapack_lite.c', 'dlapack_lite.c',
+ 'blas_lite.c', 'dlamch.c',
+ 'f2c_lite.c','f2c.h'],
++ extra_link_args=['-undefined dynamic_lookup -bundle'],
+ extra_info = lapack_info
+ )
+
diff --git a/packaging/macosx/ports/python/py25-numpy/files/patch-setup.py.diff b/packaging/macosx/ports/python/py25-numpy/files/patch-setup.py.diff
new file mode 100644
index 000000000..04e3cdd7a
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-numpy/files/patch-setup.py.diff
@@ -0,0 +1,34 @@
+--- numpy/core/setup.py.orig 2009-04-05 04:09:20.000000000 -0400
++++ numpy/core/setup.py 2009-04-08 19:53:45.000000000 -0400
+@@ -309,7 +309,14 @@
+ if isinstance(d,str):
+ target_f.write('#define %s\n' % (d))
+ else:
+- target_f.write('#define %s %s\n' % (d[0],d[1]))
++ if d[0]!='SIZEOF_LONG' and d[0]!='SIZEOF_PY_INTPTR_T':
++ target_f.write('#define %s %s\n' % (d[0],d[1]))
++ else:
++ target_f.write('#ifdef __LP64__\n')
++ target_f.write('#define %s %s\n' % (d[0],8))
++ target_f.write('#else\n')
++ target_f.write('#define %s %s\n' % (d[0],4))
++ target_f.write('#endif\n')
+
+ # define inline to our keyword, or nothing
+ target_f.write('#ifndef __cplusplus\n')
+@@ -393,7 +393,14 @@
+ if isinstance(d,str):
+ target_f.write('#define %s\n' % (d))
+ else:
+- target_f.write('#define %s %s\n' % (d[0],d[1]))
++ if d[0]!='NPY_SIZEOF_LONG' and d[0]!='NPY_SIZEOF_PY_INTPTR_T':
++ target_f.write('#define %s %s\n' % (d[0],d[1]))
++ else:
++ target_f.write('#ifdef __LP64__\n')
++ target_f.write('#define %s %s\n' % (d[0],8))
++ target_f.write('#else\n')
++ target_f.write('#define %s %s\n' % (d[0],4))
++ target_f.write('#endif\n')
+
+ # define NPY_INLINE to recognized keyword
+ target_f.write('#define NPY_INLINE %s\n' % inline)
diff --git a/packaging/macosx/ports/python/py25-numpy/files/wrapper-template b/packaging/macosx/ports/python/py25-numpy/files/wrapper-template
new file mode 100755
index 000000000..48936d107
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-numpy/files/wrapper-template
@@ -0,0 +1,143 @@
+#!/bin/sh
+COMPILER='@@@'
+SUFFIX='---'
+PREFIX='&&&'
+OUTPUT_O='NO'
+OUTPUT=''
+NAMED_OUTPUT=''
+LASTFILE=''
+INTEL='NO'
+SIZE32='NO'
+SIZE64='NO'
+NEWARGS=''
+
+SKIP='NO'
+
+for arg in $@
+do
+ if [ $SKIP = 'ARCH' ]; then
+ # intercept -arch option and set SIZEXX
+ SKIP='NO'
+ if [ $arg = 'x86_64' ] || [ $arg = 'ppc64' ]; then
+ SIZE64='YES'
+ else
+ SIZE32='YES'
+ fi
+
+ # which architecture are we compiling for?
+ if [ $arg = 'x86_64' ] || [ $arg = 'i386' ]; then
+ INTEL='YES'
+ fi
+
+ elif [ $arg = '-arch' ]; then
+ SKIP='ARCH'
+
+ elif [ $arg = '--version' ]; then
+ ${COMPILER} --version
+ exit 0
+
+ else
+ NEWARGS+="$arg "
+
+ # if the -c option is given, the output is .o
+ if [ $arg = '-c' ]; then
+ OUTPUT_O='YES'
+ fi
+
+ # if the output file is given by a -o option, record it
+ if [ $SKIP = 'O' ]; then
+ SKIP='NO'
+ NAMED_OUTPUT=$arg
+ fi
+
+ if [ $arg = '-o' ]; then
+ SKIP='O'
+ fi
+
+ # Note each file ending by ${SUFFIX} and remember the last one
+ # Transform them in .o
+ if `echo $arg | grep -q "${SUFFIX}$"`; then
+ LASTFILE=$arg
+ OUTPUT+=`echo $arg | sed "s/${SUFFIX}/\.o/"`
+ OUTPUT+=' '
+ fi
+ fi
+done
+
+# What is the output?
+
+if [ ${NAMED_OUTPUT}"X" != "X" ]; then
+ OUTPUT=$NAMED_OUTPUT
+
+elif [ $OUTPUT_O = 'NO' ]; then
+ # It is an executable whose is name is the LASTFILE without suffix
+ OUTPUT=`echo ${LASTFILE} | sed "s/${SUFFIX}//"`
+fi
+
+# Othewise, the output is just the ${OUTPUT} variable as computed before
+
+# For some reason, -dynamiclib and -lpython2.6 are missing when linking
+# .so files. Add them, except if -bundle is set (incompatible switches)
+if [ `echo $OUTPUT | sed -E 's|.*\.||'` = "so" ] && \
+ ! `echo $NEWARGS | grep -q bundle`; then
+ NEWARGS="${NEWARGS} ${PREFIX}/lib/libpython2.6.dylib -dynamiclib"
+fi
+
+# Now, compile
+
+if [ $SIZE32 = 'NO' ] && [ $SIZE64 = 'NO' ]; then
+ # No size indication given, just proceed with default
+ if `${COMPILER} $NEWARGS`; then
+ exit 0
+ else
+ exit 1
+ fi
+
+elif [ $SIZE32 = 'YES' ] && [ $SIZE64 = 'NO' ]; then
+ # 32-bit
+ if `${COMPILER} -m32 $NEWARGS`; then
+ exit 0
+ else
+ exit 1
+ fi
+
+elif [ $SIZE32 = 'NO' ] && [ $SIZE64 = 'YES' ]; then
+ # 64-bit
+ if `${COMPILER} -m64 $NEWARGS`; then
+ exit 0
+ else
+ exit 1
+ fi
+
+else
+ # Universal case
+ if `${COMPILER} -m32 $NEWARGS`; then
+ for filename in ${OUTPUT}
+ do
+ mv ${filename} ${filename}.32
+ done
+
+ if `${COMPILER} -m64 $NEWARGS`; then
+ for filename in ${OUTPUT}
+ do
+ mv ${filename} ${filename}.64
+ if [ $INTEL = 'YES' ]; then
+ lipo -create -arch x86_64 ${filename}.64 \
+ -arch i386 ${filename}.32 \
+ -output ${filename}
+ else
+ lipo -create -arch ppc64 ${filename}.64 \
+ -arch ppc ${filename}.32 \
+ -output ${filename}
+ fi
+
+ rm -f ${filename}.32 ${filename}.64
+ done
+ else
+ exit 1
+ fi
+ else
+ exit 1
+ fi
+fi
+exit 0
diff --git a/packaging/macosx/ports/python/py25-setuptools/Portfile b/packaging/macosx/ports/python/py25-setuptools/Portfile
new file mode 100644
index 000000000..35c528500
--- /dev/null
+++ b/packaging/macosx/ports/python/py25-setuptools/Portfile
@@ -0,0 +1,58 @@
+# -*- 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 123950 2014-08-16 14:24:07Z jmr@macports.org $
+
+PortSystem 1.0
+PortGroup python 1.0
+
+name py25-setuptools
+version 5.7
+categories-append devel
+license {PSF ZPL}
+maintainers jmr openmaintainer
+description distutils enhancement for build and distribution
+long_description \
+ setuptools is a collection of enhancements to the Python distutils that \
+ allow you to more easily build and distribute Python packages, \
+ especially ones that have dependencies on other packages.
+
+platforms darwin
+supported_archs noarch
+
+homepage https://pypi.python.org/pypi/setuptools/
+master_sites https://pypi.python.org/packages/source/s/setuptools/
+distname setuptools-${version}
+
+checksums md5 81f980854a239d60d074d6ba052e21ed \
+ rmd160 ee9eff6c77e6f27e22e2049a6685bb0e624f94b0 \
+ sha256 a8bbdb2d67532c5b5cef5ba09553cea45d767378e42c7003347e53ebbe70f482
+
+python.versions 25
+python.link_binaries no
+python.move_binaries no
+
+if {$subport eq $name} {
+ if {${python.version} == 25} {
+ version 1.4.2
+ revision 100
+ distname setuptools-${version}
+ checksums md5 13951be6711438073fbe50843e7f141f \
+ rmd160 b48086a2aae718fe433a8c882d2d9209aa157b0a \
+ sha256 263986a60a83aba790a5bffc7d009ac88114ba4e908e5c90e453b3bf2155dbbd
+ }
+
+ post-destroot {
+ xinstall -m 755 -d ${destroot}${prefix}/share/doc/${subport}
+ xinstall -m 644 -W ${worksrcpath} CHANGES.txt \
+ DEVGUIDE.txt README.txt ${destroot}${prefix}/share/doc/${subport}
+ if {${python.version} <= 25} {
+ delete "${destroot}${prefix}/bin/easy_install"
+ } else {
+ ln -s "${python.prefix}/bin/easy_install-${python.branch}" "${destroot}${prefix}/bin/"
+ }
+ }
+ livecheck.type none
+#} else {
+# livecheck.type regex
+# livecheck.url ${homepage}
+# livecheck.regex setuptools/(\\d+(\\.\\d+)+)
+}