<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[121395] trunk/dports/python</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/121395">121395</a></dd>
<dt>Author</dt> <dd>petr@macports.org</dd>
<dt>Date</dt> <dd>2014-06-24 13:57:09 -0700 (Tue, 24 Jun 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>py-obspy-devel: new port for obspy development snapshots, version derived from git describe</pre>
<h3>Added Paths</h3>
<ul>
<li>trunk/dports/python/py-obspy-devel/</li>
<li><a href="#trunkdportspythonpyobspydevelPortfile">trunk/dports/python/py-obspy-devel/Portfile</a></li>
<li>trunk/dports/python/py-obspy-devel/files/</li>
<li><a href="#trunkdportspythonpyobspydevelfilespatchsetupsudspydiff">trunk/dports/python/py-obspy-devel/files/patch-setup-suds.py.diff</a></li>
<li><a href="#trunkdportspythonpyobspydevelfilespatchsetuppydiff">trunk/dports/python/py-obspy-devel/files/patch-setup.py.diff</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportspythonpyobspydevelPortfile"></a>
<div class="addfile"><h4>Added: trunk/dports/python/py-obspy-devel/Portfile (0 => 121395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/python/py-obspy-devel/Portfile         (rev 0)
+++ trunk/dports/python/py-obspy-devel/Portfile        2014-06-24 20:57:09 UTC (rev 121395)
</span><span class="lines">@@ -0,0 +1,133 @@
</span><ins>+# -*- 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
+PortGroup github 1.0
+
+github.setup obspy obspy 0.9.2-787-gf176f4cdae
+name py-${github.project}-devel
+conflicts py-${github.project}
+
+categories-append science
+platforms darwin
+license LGPL-3
+
+maintainers petr openmaintainer
+
+description Python framework for processing seismological data \
+ (development snapshot)
+
+long_description \
+ This port provides a development snapshot of the ObsPy package, which \
+ might not be always stable. \
+ ObsPy is an open-source project dedicated to provide a Python framework \
+ for processing seismological data. It provides support for file formats \
+ and signal processing routines which allow the manipulation, analysis \
+ and visualization of seismological time series. The goal of the ObsPy \
+ project is to facilitate rapid application development for seismology.
+
+homepage http://www.obspy.org/
+
+checksums md5 c9b406044bc50c069398c6fd0c39066d \
+ rmd160 9d5d51fc9a20324d5f584845a7b4b66d821a2798 \
+ sha256 af0db51604e478cae54005998eb006786f3f11a8d575a7477c8bbf1aa53121c7
+
+python.versions 26 27 33 34
+
+if {${name} ne ${subport}} {
+ depends_build-append port:py${python.version}-numpy
+
+ depends_lib-append port:py${python.version}-future \
+ port:py${python.version}-numpy \
+ port:py${python.version}-scipy \
+ port:py${python.version}-lxml \
+ port:py${python.version}-sqlalchemy \
+ port:py${python.version}-matplotlib
+
+ # suds alternative dependency, Py2 only: suds or suds-jurko
+ if { ${python.version} < 30 } {
+ depends_lib-append \
+ path:${python.pkgd}/suds:py${python.version}-suds-jurko
+
+ patchfiles-append patch-setup-suds.py.diff
+ } else {
+ depends_lib-append port:py${python.version}-suds-jurko
+ }
+
+ # Note: Required for post-installation testing only
+ depends_run-append port:py${python.version}-flake8 \
+ port:py${python.version}-nose
+ # Python 3.3+: mock is available as unittest.mock
+ if { ${python.version} < 33 } {
+ depends_run-append port:py${python.version}-mock
+ }
+
+ # Note: temporary workaround for numpy.distutils behaviour
+ patchfiles-prepend patch-setup.py.diff
+
+ # creates a obspy/RELEASE-VERSION file dynamically
+ post-patch {
+ # set release version, python version string and target file
+ set ver_dev ${github.version}
+ set ver_fname ${worksrcpath}/obspy/RELEASE-VERSION
+
+ # open, write, close
+ set ver_fid [open ${ver_fname} "w"]
+ puts -nonewline ${ver_fid} ${ver_dev}
+ close ${ver_fid}
+ }
+
+ # py-scipy is not universal
+ universal_variant no
+
+ set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9}
+ set default_fortran_variant +gcc48
+
+ foreach ver ${gcc_versions} {
+ set ver_no_dot [join [split ${ver} "."] ""]
+
+ set variant_line {variant gcc${ver_no_dot} description "build with gfortran from gcc${ver_no_dot}"}
+
+ foreach over ${gcc_versions} {
+ if {${ver} == ${over}} {
+ continue
+ }
+
+ set over_no_dot [join [split ${over} "."] ""]
+ append variant_line " conflicts gcc${over_no_dot}"
+ }
+ append variant_line { {}}
+
+ eval $variant_line
+
+ if {[variant_isset gcc${ver_no_dot}]} {
+ if {${default_fortran_variant} != "+gcc${ver_no_dot}"} {
+ set default_fortran_variant ""
+ }
+ }
+ }
+
+ if {${default_fortran_variant} != ""} {
+ default_variants-append "${default_fortran_variant}"
+ }
+
+ foreach ver ${gcc_versions} {
+ set ver_no_dot [join [split ${ver} "."] ""]
+
+ if {[variant_isset gcc${ver_no_dot}]} {
+ depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
+ depends_build-append port:gcc${ver_no_dot}
+
+ # F90 is the relevant variable!
+ configure.fc ${prefix}/bin/gfortran-mp-${ver}
+ configure.f77 ${prefix}/bin/gfortran-mp-${ver}
+ configure.f90 ${prefix}/bin/gfortran-mp-${ver}
+
+ # `setup.py install` tests for Fortran compiler
+ destroot.env-append FC=${configure.fc}
+ destroot.env-append F77=${configure.f77}
+ destroot.env-append F90=${configure.f90}
+ }
+ }
+}
</ins><span class="cx">Property changes on: trunk/dports/python/py-obspy-devel/Portfile
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkdportspythonpyobspydevelfilespatchsetupsudspydiff"></a>
<div class="addfile"><h4>Added: trunk/dports/python/py-obspy-devel/files/patch-setup-suds.py.diff (0 => 121395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/python/py-obspy-devel/files/patch-setup-suds.py.diff         (rev 0)
+++ trunk/dports/python/py-obspy-devel/files/patch-setup-suds.py.diff        2014-06-24 20:57:09 UTC (rev 121395)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+--- setup.orig.py
++++ setup.py
+@@ -92,8 +92,7 @@
+ 'scipy',
+ 'matplotlib',
+ 'lxml',
+- 'sqlalchemy',
+- 'suds-jurko']
++ 'sqlalchemy' ]
+ EXTRAS_REQUIRE = {
+ 'tests': ['flake8>=2',
+ 'nose',
</ins></span></pre></div>
<a id="trunkdportspythonpyobspydevelfilespatchsetuppydiff"></a>
<div class="addfile"><h4>Added: trunk/dports/python/py-obspy-devel/files/patch-setup.py.diff (0 => 121395)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/python/py-obspy-devel/files/patch-setup.py.diff         (rev 0)
+++ trunk/dports/python/py-obspy-devel/files/patch-setup.py.diff        2014-06-24 20:57:09 UTC (rev 121395)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+--- setup.orig.py
++++ setup.py
+@@ -455,7 +455,11 @@
+ libname = _get_lib_name("tau", add_extension_suffix=False)
+ files = glob.glob(os.path.join(path, "*.f"))
+ # compiler specific options
+- kwargs = {'libraries': []}
++ # 2014-02-10, petr -- modification needed below
++ kwargs = {}
++ kwargs.update({'libraries': []})
++ kwargs.update({'extra_link_args': []})
++
+ # XXX: The build subdirectory is difficult to determine if installed
+ # via pypi or other means. I could not find a reliable way of doing it.
+ new_interface_path = os.path.join("build", libname + os.extsep + "pyf")
+@@ -473,6 +477,20 @@
+ # gfortran the option -lgcov is required
+ if os.environ.get('OBSPY_C_COVERAGE', ""):
+ kwargs['libraries'].append('gcov')
++
++ # 2014-02-10, petr -- workaround for unexpected numpy.distutils behaviour
++ # This hot fix is needed for Macports. Macports sets `LDFLAGS` via
++ # `Python Portgroup` to control build architecture setings.
++ # For Fortran extentions this causes the default link arguments to be
++ # canceled, which does not correspond to C bevavior. The fix below adds
++ # these arguments manually.
++ #
++ # Should probably be adressed in numpy.distutils.
++ #
++ if platform.system() == 'Darwin':
++ kwargs['extra_link_args'].append('-bundle')
++ kwargs['extra_link_args'].append('-undefined dynamic_lookup')
++
+ config.add_extension(libname, files, **kwargs)
+
+ add_data_files(config)
</ins></span></pre>
</div>
</div>
</body>
</html>