Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
200 lines (165 sloc) 7.12 KB
# -*- 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
PortSystem 1.0
name lalinference
version 1.10.1
revision 0
description LSC Algorithm Library - Inference
long_description \
LIGO Scientific Collaboration Algorithm Library - Inference containing \
routines for Bayesian inference data analysis.
checksums rmd160 fe8f4211e9712b8c634bd36ef2ce3364a648d7ab \
sha256 a915c47deb17978266a22983bb512b903de1aa9f0262c6fccb781539da471330 \
size 1107568
#depends_build port:help2man
depends_lib port:gsl \
port:libomp \
port:metaio \
port:lal \
port:lalframe \
port:lalmetaio \
port:lalsimulation \
port:lalburst \
port:lalinspiral \
port:lalpulsar \
port:healpix-c
# add Python dependencies for python subports
if {[string match "py*" ${subport}]} {
set numbers [regexp -all -inline -- {[0-9]+} ${subport}]
set v [lindex ${numbers} 0]
# python, C-library port, and numpy are automatically added below
depends_lib port:py${v}-lal \
port:py${v}-lalmetaio \
port:py${v}-lalsimulation \
port:py${v}-lalburst \
port:py${v}-lalinspiral \
port:py${v}-lalpulsar \
port:py${v}-scipy \
port:py${v}-lscsoft-glue \
port:py${v}-ligo-gracedb \
port:py${v}-healpy \
port:py${v}-astropy \
port:py${v}-matplotlib \
port:py${v}-h5py \
port:py${v}-shapely
revision 0
}
# add Octave dependencies for octave subports
if {[string match "octave-*" ${subport}]} {
# octave, and C-library port are automatically added below
depends_lib port:octave-lal port:octave-lalmetaio port:octave-lalsimulation \
port:octave-lalburst port:lalinspiral port:lalpulsar
revision 1
}
configure.args --enable-openmp \
--disable-help2man
pre-activate {
# lalinference now contains files that used to be provided by lalapps
if {![catch {set installed [lindex [registry_active lalapps] 0]}]} {
set _version [lindex $installed 1]
if {[vercmp $_version 6.20.0] < 0} {
# lalapps used to install some files now provided by lalinference in versions < 6.20.0
registry_deactivate_composite lalapps "" [list ports_nodepcheck 1]
}
}
}
###############################################################################
### Everything below this line is common to all LALSuite ports. ###############
###############################################################################
categories science
platforms darwin
maintainers {ram @skymoo} {aronnax @lpsinger}
license GPL-2+
# The GPL and OpenSSL licenses conflict with each other, and our build
# dependency on Python results in an indirect dependency on OpenSSL.
# However, there is no real conflict in the case of LALSuite because Python
# is used (1) as an interpreter to run part of the build and (2) as a
# separately installed interpreter that is invoked when the user runs some of
# our scripts.
license_noconflict openssl
homepage https://wiki.ligo.org/Computing/DASWG/LALSuite
master_sites http://software.ligo.org/lscsoft/source/lalsuite
use_xz yes
depends_build-append \
port:pkgconfig \
port:swig \
# Choose a compiler that supports OpenMP.
compiler.whitelist macports-clang-6.0 macports-clang-5.0 macports-clang-4.0 macports-clang-7.0 macports-clang-3.9
compiler.fallback macports-clang-6.0
configure.args-append \
--mandir=${prefix}/share/man \
--disable-silent-rules \
--disable-gcc-flags \
--enable-swig-iface \
--disable-swig-octave \
--disable-swig-python \
--disable-python
test.run yes
test.target check
# Create subports for each supported Python version
foreach v {27 35 36 37} {
subport py${v}-${name} {
set pythonversion [string range ${v} 0 end-1].[string index ${v} end]
set pythonhome \
"${frameworks_dir}/Python.framework/Versions/${pythonversion}"
set pythondir "${pythonhome}/lib/python${pythonversion}/site-packages"
categories-prepend python
description Python ${pythonversion} bindings for ${description}
long_description ${long_description} This package provides Python \
${pythonversion} bindings, modules, and scripts.
depends_build-append port:swig-python
depends_lib-prepend port:python${v} port:${name} port:py${v}-numpy
configure.args-append PYTHON=${pythonhome}/bin/python${pythonversion}
configure.args-replace --disable-python --enable-python
configure.args-replace --disable-swig-python --enable-swig-python
destroot.args-append pythondir="${pythondir}" \
pyexecdir="${pythondir}" \
pkgpythondir="${pythondir}/${name}" \
pkgpyexecdir="${pythondir}/${name}" \
prefix="${pythonhome}"
# Only install SWIG bindings, Python libraries, and Python scripts
destroot {
command_exec destroot "" "-C swig"
command_exec destroot "" "-C python"
}
post-destroot {
# Remove Python include directory
# (duplicate of SWIG headers in ${prefix}/include)
file delete -force ${destroot}${pythonhome}/include
# Create symbolic links in ${prefix}/bin to Python 2.7 scripts
if {${subport} eq "py27-${name}"} {
foreach script [glob -tails -nocomplain -directory ${destroot}${pythonhome}/bin *] {
file link -symbolic ${destroot}${prefix}/bin/${script} ../Library/Frameworks/Python.framework/Versions/${pythonversion}/bin/${script}
}
}
}
}
}
subport octave-${name} {
set pythonversion [string range ${v} 0 end-1].[string index ${v} end]
set pythonhome \
"${frameworks_dir}/Python.framework/Versions/${pythonversion}"
set pythondir "${pythonhome}/lib/python${pythonversion}/site-packages"
categories-prepend octave
description Octave ${pythonversion} bindings for ${description}
long_description ${long_description} This package provides Octave \
bindings, modules, and scripts.
depends_build-append port:swig-octave
depends_lib-prepend port:octave port:${name}
configure.args-replace --disable-swig-octave --enable-swig-octave
# Only install SWIG bindings, Python libraries, and Python scripts
destroot {
command_exec destroot "" "-C swig"
}
post-destroot {
# Remove Octave include directory
# (duplicate of SWIG headers in ${prefix}/include)
file delete -force ${destroot}${prefix}/include
}
}
if {${name} eq ${subport}} {
livecheck.type regex
livecheck.url ${master_sites}
livecheck.regex ${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}
} else {
livecheck.type none
}
You can’t perform that action at this time.