[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