[137318] trunk/dports/science

ram at macports.org ram at macports.org
Mon Jun 8 20:46:01 PDT 2015


Revision: 137318
          https://trac.macports.org/changeset/137318
Author:   ram at macports.org
Date:     2015-06-08 20:46:01 -0700 (Mon, 08 Jun 2015)
Log Message:
-----------
science/gds: new port

revision is not zero as this has been in a testing repository and had
changed since it was first added so we want to make sure that all users
get the updates

Added Paths:
-----------
    trunk/dports/science/gds/
    trunk/dports/science/gds/Portfile
    trunk/dports/science/gds/files/
    trunk/dports/science/gds/files/patch-DTT-dtt-Makefile.in.diff
    trunk/dports/science/gds/files/patch-DTT-src-awg-awgbase.py.in.diff
    trunk/dports/science/gds/files/patch-config-ac_dmtoffline.m4.diff

Added: trunk/dports/science/gds/Portfile
===================================================================
--- trunk/dports/science/gds/Portfile	                        (rev 0)
+++ trunk/dports/science/gds/Portfile	2015-06-09 03:46:01 UTC (rev 137318)
@@ -0,0 +1,75 @@
+# $Id$
+
+PortSystem    1.0
+PortGroup     conflicts_build 1.0
+
+name          gds
+version       2.17.1
+revision      1
+categories    science
+platforms     darwin
+maintainers   ligo.org:ed.maros
+license       GPL
+
+description   LSC Algorithm Library
+long_description \
+  LIGO Scientific Collaboration Algorithm Library containing core \
+  routines for gravitational wave data analysis.
+
+homepage      https://www.lsc-group.phys.uwm.edu/daswg/projects/lalsuite.html
+master_sites  http://software.ligo.org/lscsoft/source \
+              http://www.ligo.caltech.edu/~jzweizig/gds-unshackled
+
+checksums     rmd160 3ccb950d57415b2384291743e55df90bb8d504b0 \
+              sha256 aeb914eaf9b9f7bc2f14811cddfa1e708823255c950c380d88139ccff5d91653 \
+
+depends_build-append port:pkgconfig \
+              port:swig \
+              port:swig-python
+
+depends_lib   port:python27 \
+              port:curl \
+              port:expat \
+              port:fftw-3 \
+              port:fftw-3-single \
+              port:hdf5 \
+              port:ldas-tools \
+              port:root5 \
+              port:metaio
+
+patchfiles    patch-config-ac_dmtoffline.m4.diff \
+              patch-DTT-dtt-Makefile.in.diff \
+              patch-DTT-src-awg-awgbase.py.in.diff
+
+configure.python ${prefix}/bin/python2.7
+configure.args --enable-online \
+               --enable-dtt \
+               --disable-python \
+               --enable-only-dtt \
+               --disable-root-objects \
+               --disable-monitors
+
+use_parallel_build yes
+
+default_variants    +python
+
+variant python description {build with python support} {
+  configure.args-replace --disable-python --enable-python
+  configure.args-delete  --enable-only-dtt
+
+  set pythondir "${frameworks_dir}/Python.framework/Versions/2.7/lib/python2.7/site-packages"
+
+  destroot.args-append \
+              pythondir="${pythondir}" \
+              pyexecdir="${pythondir}" \
+              pkgpythondir="${pythondir}/${name}" \
+              pkgpyexecdir="${pythondir}/${name}"
+}
+
+# The macports version of sasl2 leads to a 5 minute latency for each
+# socket connection.
+conflicts_build  cyrus-sasl2
+
+livecheck.type   regex
+livecheck.url    ${master_sites}
+livecheck.regex  {gds-(\d+(?:\.\d+)*).tar.gz}


Property changes on: trunk/dports/science/gds/Portfile
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: trunk/dports/science/gds/files/patch-DTT-dtt-Makefile.in.diff
===================================================================
--- trunk/dports/science/gds/files/patch-DTT-dtt-Makefile.in.diff	                        (rev 0)
+++ trunk/dports/science/gds/files/patch-DTT-dtt-Makefile.in.diff	2015-06-09 03:46:01 UTC (rev 137318)
@@ -0,0 +1,30 @@
+--- DTT/dtt/Makefile.in.orig	2015-06-08 13:28:58.000000000 -0700
++++ DTT/dtt/Makefile.in	2015-06-08 14:29:17.000000000 -0700
+@@ -551,7 +551,7 @@
+ 	$(am__ezcawrite_SOURCES_DIST) $(gdserrd_SOURCES) \
+ 	$(am__tpcmd_SOURCES_DIST) $(xmlconv_SOURCES) \
+ 	$(xmldata_SOURCES) $(xmldir_SOURCES)
+-am__python_PYTHON_DIST = $(dttsrc)/awg/awgbase.py $(dttsrc)/awg/awg.py
++am__python_PYTHON_DIST = awgbase.py $(dttsrc)/awg/awg.py
+ py_compile = $(top_srcdir)/config/py-compile
+ DATA = $(share_DATA)
+ am__include_dtt_HEADERS_DIST = $(dttsrc)/awg/awgapi.h \
+@@ -1299,7 +1299,7 @@
+ @build_ezca_TRUE at ezcaswitch_CXXFLAGS = $(ezca_cxxflags)
+ @build_ezca_TRUE at ezcaservo_CXXFLAGS = $(ezca_cxxflags) -I$(basepath)/time
+ @build_ezca_TRUE at ezcademod_CXXFLAGS = $(cmd_cxxflags) $(epicscflags)
+- at dtt_online_TRUE@python_PYTHON = $(dttsrc)/awg/awgbase.py $(dttsrc)/awg/awg.py
++ at dtt_online_TRUE@python_PYTHON = awgbase.py $(dttsrc)/awg/awg.py
+ CLEANFILES = hdr-time-stamp rpc-time-stamp
+ all: $(BUILT_SOURCES)
+ 	$(MAKE) $(AM_MAKEFLAGS) all-am
+@@ -4125,6 +4125,9 @@
+ #
+ .NOTPARALLEL:
+ 
++awgbase.py: $(dttsrc)/awg/awgbase.py.in
++	$(SED) 's,__libdir__,'$(libdir)',' $< >$@
++
+ hdr-time-stamp: Makefile $(DTTHEADERS)
+ 	$(mkdir_p) $(DTTINCLUDEDIR)
+ 	for f in $(DTTHEADERS); do \

Added: trunk/dports/science/gds/files/patch-DTT-src-awg-awgbase.py.in.diff
===================================================================
--- trunk/dports/science/gds/files/patch-DTT-src-awg-awgbase.py.in.diff	                        (rev 0)
+++ trunk/dports/science/gds/files/patch-DTT-src-awg-awgbase.py.in.diff	2015-06-09 03:46:01 UTC (rev 137318)
@@ -0,0 +1,249 @@
+--- DTT/src/awg/awgbase.py.in.orig	2015-06-08 12:03:34.000000000 -0700
++++ DTT/src/awg/awgbase.py.in	2015-06-08 11:33:53.000000000 -0700
+@@ -0,0 +1,246 @@
++# -*- mode: python -*-
++# Version $Id$
++"""
++ctypes wrapping of AWG API
++
++Author: Christopher Wipf, Massachusetts Institute of Technology
++  
++This module calls the libawg library for the standard set of
++waveforms, the libtestpoint library for testpoint handling, and the
++libSIStr library (from awgstream) for arbitrary loops and streams.
++
++"""
++import os
++import platform
++from ctypes import CDLL, Structure, c_int, c_uint, c_longlong, c_ulonglong, \
++    c_float, c_double, c_char, c_char_p, POINTER
++from numpy import array
++from numpy.ctypeslib import ndpointer
++
++__docformat__ = 'restructuredtext'
++
++sys = platform.system( )
++ext = '.so'
++awglibdir = '__libdir__'
++if ( len(awglibdir) > 0 ):
++    awglibdir += os.sep
++if ( sys == 'Darwin' ):
++    ext = '.dylib'
++libawg = CDLL(awglibdir + 'libawg' + ext)
++libtestpoint = CDLL(awglibdir + 'libtestpoint' + ext)
++libSIStr = None
++try:
++    libSIStr = CDLL(awglibdir + 'libSIStr' + ext)
++except:
++    pass
++
++####
++#### tconv.h
++####
++
++# One epoch expressed in ns
++_EPOCH = 1e9 / 16.0
++
++libawg.TAInow.argtypes = []
++libawg.TAInow.restype = c_ulonglong
++TAInow = libawg.TAInow
++GPSnow = TAInow
++
++
++####
++#### awgtype.h
++####
++
++# AWG_WaveType enum values
++awgNone = 0
++awgSine = 1
++awgSquare = 2
++awgRamp = 3
++awgTriangle = 4
++awgImpulse = 5
++awgConst = 6
++awgNoiseN = 7
++awgNoiseU = 8
++awgArb = 9
++awgStream = 10
++
++# Phasing types
++AWG_PHASING_STEP = 0
++AWG_PHASING_LINEAR = 1
++AWG_PHASING_QUADRATIC = 2
++AWG_PHASING_LOG = 3
++
++class AWG_Component(Structure):
++    _fields_ = [("wtype", c_uint),
++                ("_par_ctypes", c_double * 4),
++                ("start", c_ulonglong),
++                ("duration", c_ulonglong),
++                ("restart", c_ulonglong),
++                ("ramptype", c_int),
++                ("_ramptime_ctypes", c_ulonglong * 2),
++                ("_ramppar_ctypes", c_double * 4)]
++    @property
++    def par(self):
++        return tuple(self._par_ctypes)
++
++    @par.setter
++    def par(self, val):
++        self._par_ctypes = (c_double * 4)(*val)
++
++    @property
++    def ramptime(self):
++        return tuple(self._ramptime_ctypes)
++
++    @ramptime.setter
++    def ramptime(self, val):
++        self._ramptime_ctypes = (c_ulonglong * 2)(*val)
++
++    @property
++    def ramppar(self):
++        return tuple(self._ramppar_ctypes)
++
++    @ramppar.setter
++    def ramppar(self, val):
++        self._ramppar_ctypes = (c_double * 4)(*val)
++
++
++####
++#### awgapi.h
++####
++
++libawg.awgSetChannel.argtypes = [c_char_p,]
++libawg.awgSetChannel.restype = c_int
++awgSetChannel = libawg.awgSetChannel
++
++libawg.awgAddWaveform.argtypes = [c_int, POINTER(AWG_Component), c_int]
++libawg.awgAddWaveform.restype = c_int
++def awgAddWaveform(slot, comp):
++    comp_array = (AWG_Component * len(comp))(*comp)
++    return libawg.awgAddWaveform(slot, comp_array, len(comp))
++
++libawg.awgStopWaveform.argtypes = [c_int, c_int, c_ulonglong]
++libawg.awgStopWaveform.restype = c_int
++awgStopWaveform = libawg.awgStopWaveform
++
++libawg.awgClearWaveforms.argtypes = [c_int,]
++libawg.awgClearWaveforms.restype = c_int
++awgClearWaveforms = libawg.awgClearWaveforms
++
++libawg.awgRemoveChannel.argtypes = [c_int,]
++libawg.awgRemoveChannel.restype = c_int
++awgRemoveChannel = libawg.awgRemoveChannel
++
++libawg.awgSetGain.argtypes = [c_int, c_double, c_ulonglong]
++libawg.awgSetGain.restype = c_int
++awgSetGain = libawg.awgSetGain
++
++libawg.awgSetFilter.argtypes = [c_int, POINTER(c_double), c_int]
++libawg.awgSetFilter.restype = c_int
++def awgSetFilter(slot, coeffs):
++    coeffs_array = (c_double * len(coeffs))(*coeffs)
++    return libawg.awgSetFilter(slot, coeffs_array, len(coeffs))
++
++libawg.awg_cleanup.argtypes = []
++libawg.awg_cleanup.restype = None
++awg_cleanup = libawg.awg_cleanup
++
++
++####
++#### testpoint.h
++####
++
++libtestpoint.tpRequestName.argtypes = [c_char_p, c_ulonglong, 
++                                       POINTER(c_ulonglong), POINTER(c_int)]
++libtestpoint.tpRequestName.restype = c_int
++def tpRequestName(tpNames, timeout, time, epoch):
++    if time is not None:
++        time_ptr = POINTER(c_ulonglong)(time)
++    else:
++        time_ptr = POINTER(c_ulonglong)()
++    if epoch is not None:
++        epoch_ptr = POINTER(c_int)(epoch)
++    else:
++        epoch_ptr = POINTER(c_int)()
++    return libtestpoint.tpRequestName(tpNames, timeout, time_ptr, epoch_ptr)
++
++libtestpoint.tpClearName.argtypes = [c_char_p,]
++libtestpoint.tpClearName.restype = c_int
++tpClearName = libtestpoint.tpClearName
++
++libtestpoint.testpoint_cleanup.argtypes = []
++libtestpoint.testpoint_cleanup.restype = None
++testpoint_cleanup = libtestpoint.testpoint_cleanup
++
++
++if libSIStr:
++  ####
++  #### SIStr.h
++  ####
++
++  # Compile-time parameters
++  SIStr_MAXCHANNAMELENGTH = 64
++  # Target "lead time" for sending waveform data, in NANOseconds
++  SIStr_LEADTIME = 7 * 10**9
++  # Status codes
++  SIStr_OK = 0
++
++  class SIStrBuf(Structure):
++    pass
++
++  SIStrBuf._fields_ = [('gpstime', c_int),
++                       ('epoch', c_int),
++                       ('iblock', c_int),
++                       ('size', c_int),
++                       ('ndata', c_int),
++                       ('next', POINTER(SIStrBuf)),
++                       ('data', POINTER(c_float))]
++
++  class SIStream(Structure):
++    _fields_ = [('magic', c_int),
++                ('id', c_int),
++                ('channel', c_char * SIStr_MAXCHANNAMELENGTH),
++                ('samprate', c_int),
++                ('starttime', c_double),
++                ('slot', c_int),
++                ('tp', c_int),
++                ('comp', c_int),
++                ('blocksize', c_int),
++                ('nblocks', c_int),
++                ('curgps', c_int),
++                ('curepoch', c_int),
++                ('sentgps', c_int),
++                ('sentepoch', c_int),
++                ('nbufs', c_int),
++                ('curbuf', POINTER(SIStrBuf)),
++                ('firstbuf', POINTER(SIStrBuf)),
++                ('lastbuf', POINTER(SIStrBuf)),
++                ('lastsend', c_longlong),
++                ('minwait', c_longlong),
++                ('aborted', c_int)]
++
++  libSIStr.SIStrAppInfo.argtypes = [c_char_p,]
++  libSIStr.SIStrAppInfo.restype = None
++  SIStrAppInfo = libSIStr.SIStrAppInfo
++  
++  libSIStr.SIStrOpen.argtypes = [POINTER(SIStream), c_char_p, c_int, c_double]
++  libSIStr.SIStrOpen.restype = c_int
++  SIStrOpen = libSIStr.SIStrOpen
++
++  libSIStr.SIStrErrorMsg.argtypes = [c_int,]
++  libSIStr.SIStrErrorMsg.restype = c_char_p
++  SIStrErrorMsg = libSIStr.SIStrErrorMsg
++
++  libSIStr.SIStrAppend.argtypes = [POINTER(SIStream), ndpointer(c_float),
++                                 c_int, c_float]
++  libSIStr.SIStrAppend.restype = c_int
++  def SIStrAppend(sis, data, scale):
++      data_array = array(data).astype('f')
++      return libSIStr.SIStrAppend(sis, data_array, data_array.size, scale)
++
++  libSIStr.SIStrClose.argtypes = [POINTER(SIStream),]
++  libSIStr.SIStrClose.restype = c_int
++  SIStrClose = libSIStr.SIStrClose
++
++  libSIStr.SIStrAbort.argtypes = [POINTER(SIStream),]
++  libSIStr.SIStrAbort.restype = c_int
++  SIStrAbort = libSIStr.SIStrAbort

Added: trunk/dports/science/gds/files/patch-config-ac_dmtoffline.m4.diff
===================================================================
--- trunk/dports/science/gds/files/patch-config-ac_dmtoffline.m4.diff	                        (rev 0)
+++ trunk/dports/science/gds/files/patch-config-ac_dmtoffline.m4.diff	2015-06-09 03:46:01 UTC (rev 137318)
@@ -0,0 +1,20 @@
+--- config/ac_dmtoffline.m4.orig	2015-05-24 04:31:45.000000000 -0700
++++ config/ac_dmtoffline.m4	2015-06-06 06:44:50.000000000 -0700
+@@ -45,7 +45,7 @@
+ fi
+ GDS_CXX_FLAVOR="generic"
+ case $CXX in
+-gcc|*/gcc|g++|*/g++|g++-mp-*|*/g++-mp-*) 
++gcc|*/gcc|g++|*/g++|g++-mp-*|*/g++-mp-*|clang++|*/clang++) 
+     GDS_CXX_FLAVOR="gnu"
+     CXXFLAGS="${CXXFLAGS} -std=c++0x"
+     if test `$CXX --version | grep -c clang` != 0
+@@ -157,7 +157,7 @@
+ AC_MSG_CHECKING([for gcc style SIMD vector library])
+ gcc_simd=no
+ case ${GDS_CXX_FLAVOR} in
+-gnu | clang)
++gnu|clang)
+     gcc_simd=yes
+     ;;
+ *)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150608/75a35389/attachment-0001.html>


More information about the macports-changes mailing list