[121395] trunk/dports/python
petr at macports.org
petr at macports.org
Tue Jun 24 13:57:09 PDT 2014
Revision: 121395
https://trac.macports.org/changeset/121395
Author: petr at macports.org
Date: 2014-06-24 13:57:09 -0700 (Tue, 24 Jun 2014)
Log Message:
-----------
py-obspy-devel: new port for obspy development snapshots, version derived from git describe
Added Paths:
-----------
trunk/dports/python/py-obspy-devel/
trunk/dports/python/py-obspy-devel/Portfile
trunk/dports/python/py-obspy-devel/files/
trunk/dports/python/py-obspy-devel/files/patch-setup-suds.py.diff
trunk/dports/python/py-obspy-devel/files/patch-setup.py.diff
Added: trunk/dports/python/py-obspy-devel/Portfile
===================================================================
--- 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)
@@ -0,0 +1,133 @@
+# -*- 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}
+ }
+ }
+}
Property changes on: trunk/dports/python/py-obspy-devel/Portfile
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/dports/python/py-obspy-devel/files/patch-setup-suds.py.diff
===================================================================
--- 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)
@@ -0,0 +1,12 @@
+--- setup.orig.py
++++ setup.py
+@@ -92,8 +92,7 @@
+ 'scipy',
+ 'matplotlib',
+ 'lxml',
+- 'sqlalchemy',
+- 'suds-jurko']
++ 'sqlalchemy' ]
+ EXTRAS_REQUIRE = {
+ 'tests': ['flake8>=2',
+ 'nose',
Added: trunk/dports/python/py-obspy-devel/files/patch-setup.py.diff
===================================================================
--- 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)
@@ -0,0 +1,36 @@
+--- 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)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140624/d9fd22bc/attachment.html>
More information about the macports-changes
mailing list