Commit 620ba42d authored by John Douglas Veitch's avatar John Douglas Veitch
Browse files

Merge branch 'master' into 'fix_eos_master'

# Conflicts:
#   lalsimulation/src/LALSimNeutronStar.h
#   lalsimulation/src/LALSimNeutronStarEOS.c
#   lalsimulation/src/LALSimNeutronStarEOSTabular.c
parents 9b542064 91c2bad0
FROM ligo/base:el7
LABEL name="LALSuite Nightly - EL7" \
maintainer="Adam Mercer <adam.mercer@ligo.org>" \
support="Reference Platform" \
date="20180506"
# add RPMs to container
COPY rpms /rpms
# install RPMs & cleanup
RUN yum makecache && \
yum -y localinstall /rpms/*.rpm && \
rm -rf /rpms && yum clean all
FROM ligo/base:stretch
LABEL name="LALSuite Nightly - Debian Stretch" \
maintainer="Adam Mercer <adam.mercer@ligo.org>" \
support="Reference Platform" \
date="20180506"
# add debian packages to container
COPY debs /debs
# install debs & cleanup
RUN apt-get update && \
dpkg -i /debs/*.deb || apt-get --assume-yes -f install && \
rm -rf /debs && rm -rf /var/lib/apts/lists/*
......@@ -51,3 +51,6 @@ lalpulsar/test/sun00-40-DE200.dat.gz filter=lfs diff=lfs merge=lfs -text
lalpulsar/test/sun00-40-DE405.dat.gz filter=lfs diff=lfs merge=lfs -text
lalpulsar/test/sun00-40-DE421.dat.gz filter=lfs diff=lfs merge=lfs -text
lalpulsar/test/sun00-40-DE430.dat.gz filter=lfs diff=lfs merge=lfs -text
lalapps/src/pulsar/Weave/TestInterpolating.tar.gz filter=lfs diff=lfs merge=lfs -text
lalapps/src/pulsar/Weave/TestNonInterpolating.tar.gz filter=lfs diff=lfs merge=lfs -text
lalapps/src/pulsar/Weave/TestSingleSegment.tar.gz filter=lfs diff=lfs merge=lfs -text
......@@ -15,7 +15,9 @@ stages:
- level2
- level3
- level4
- docker
- nightly
- wheels
- deploy
before_script:
......@@ -25,13 +27,14 @@ before_script:
- export CCACHE_DIR=${PWD}/ccache
- export PKG_CONFIG_PATH=${LAL_DIR}/lib/pkgconfig
- mkdir -p opt/lalsuite
- if [ ${CI_PIPELINE_SOURCE} = schedule ]; then EXTRA_CONFIG_FLAGS="--enable-nightly"; fi
- if [ ${CI_PIPELINE_SOURCE} = "schedule" ] || [ ${CI_PIPELINE_SOURCE} = "web" ]; then EXTRA_CONFIG_FLAGS="--enable-nightly"; fi
cache:
key: $CI_JOB_NAME
paths:
- ccache
# FIXME: remove schedules after package builds have been running for a while
.levelN:package: &levelN-package
script:
- cd ${CI_JOB_NAME#level?:*:}
......@@ -55,7 +58,6 @@ cache:
only:
- pushes
- schedules
- web
.levelN:package:stretch: &levelN-package-stretch
image: ligo/lalsuite-dev:stretch
......@@ -219,9 +221,9 @@ level4:el7:lalapps:
- level3:el7:laldetchar
- level3:el7:lalinference
# release a debian docker image upon every tag in lalsuite
# FIXME: remove after package builds have been running for a while
docker:tags:
stage: nightly
stage: docker
before_script: []
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
......@@ -232,9 +234,9 @@ docker:tags:
only:
- tags
# release a debian docker image of each nightly build
# FIXME: remove after package builds have been running for a while
docker:nightly:
stage: nightly
stage: docker
before_script: []
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
......@@ -273,6 +275,18 @@ nightly:top-level:el7-cr:
- schedules
- web
nightly:top-level:sl7:
image: ligo/lalsuite-dev:sl7
stage: nightly
script:
- ./00boot
- ./configure --enable-swig --enable-doxygen
- make -j4 distcheck
dependencies: []
only:
- schedules
- web
nightly:top-level:trusty:
image: skymoo/ligo-lalsuite-dev:trusty
stage: nightly
......@@ -348,8 +362,8 @@ nightly:top-level:clang:
- schedules
- web
nightly:openmp:jessie:
image: ligo/lalsuite-dev:jessie
nightly:openmp:stretch:
image: ligo/lalsuite-dev:stretch
stage: nightly
dependencies: []
script:
......@@ -389,13 +403,27 @@ nightly:macos:highsierra:
- schedules
- web
nightly:macos:elcapitan:
tags:
- macos_elcapitan
stage: nightly
script:
- ./00boot
- PYTHON=/opt/local/bin/python2.7 ./configure --enable-swig --enable-doxygen
- make -j4
- make -j4 check
dependencies: []
only:
- schedules
- web
# Build receipe for standalone wheels on Linux
.nightly:wheel:manylinux1: &nightly-wheel-manylinux1
# This container is derived from the official manylinux image provided by
# python.org (see PEP 513), and includes all of the LALSuite
# build-dependencies.
image: containers.ligo.org/lscsoft/lalsuite-manylinux:master
stage: nightly
stage: wheels
script:
- PYPREFIX=/opt/python/$(echo ${CI_JOB_NAME} | sed 's/.*:\(.*\)-manylinux1/\1/')
# Build wheel
......@@ -423,7 +451,7 @@ nightly:macos:highsierra:
.nightly:wheel:macos: &nightly-wheel-macos
tags:
- macos_elcapitan
stage: nightly
stage: wheels
script:
- PYVERS=$(echo ${CI_JOB_NAME} | sed 's/.*:cp\(.\)\(.\).*/\1.\2/')
# Enter virtualenv so that we have a controlled version of Numpy
......@@ -432,7 +460,7 @@ nightly:macos:highsierra:
- pip install -q git+https://github.com/lpsinger/delocate@fix-duplicate-libs glob2 numpy==1.7.0
# Build wheel
- ./00boot
- ./configure PYTHON=$(which python${PYVERS}) --enable-swig-python ${EXTRA_CONFIG_FLAGS}
- ./configure PYTHON=$(which python${PYVERS}) --enable-swig-python ${EXTRA_CONFIG_FLAGS} LDFLAGS=-Wl,-headerpad_max_install_names
- make -j4 wheel
# Bundle and fix up dependent shared libraries
- delocate-wheel -v -w wheelhouse wheel/*.whl
......@@ -476,7 +504,7 @@ nightly:wheel:cp36-cp36m-macosx:
- rpm -ivh rpmbuild/RPMS/x86_64/lal*.rpm || true
- cd ${CI_JOB_NAME#level?:rpm:}
- ./00boot
- ./configure --enable-swig --enable-nightly
- ./configure --enable-swig ${EXTRA_CONFIG_FLAGS}
- make dist
- rpmbuild -tb --define "_topdir $CI_PROJECT_DIR/rpmbuild" ${CI_JOB_NAME#level?:rpm:}-*.tar.xz
artifacts:
......@@ -485,6 +513,7 @@ nightly:wheel:cp36-cp36m-macosx:
- rpmbuild/RPMS/x86_64/${CI_JOB_NAME#level?:rpm:}-*.rpm
only:
- schedules
- tags
- web
level0:rpm:lal:
......@@ -580,6 +609,249 @@ level4:rpm:lalapps:
- level2:rpm:lalstochastic
- level3:rpm:lalinference
# build a nightly container from the RPMs
docker:el7:nightly:
stage: docker
before_script: []
script:
# add RPMs to directory to pass to docker
- mkdir rpms && mv rpmbuild/RPMS/x86_64/*.rpm rpms
- rm -rf rpmbuild*
# build container and push to registry
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build --pull -t $CI_REGISTRY_IMAGE/el7:nightly --file .Dockerfile-el7.gitlab-ci .
- docker push $CI_REGISTRY_IMAGE/el7:nightly
dependencies:
- level0:rpm:lal
- level1:rpm:lalframe
- level1:rpm:lalmetaio
- level1:rpm:lalsimulation
- level1:rpm:lalxml
- level2:rpm:lalburst
- level2:rpm:lalinspiral
- level2:rpm:lalpulsar
- level2:rpm:lalstochastic
- level3:rpm:laldetchar
- level3:rpm:lalinference
- level4:rpm:lalapps
only:
- schedules
# build a tagged container from the RPMs
docker:el7:tags:
stage: docker
before_script: []
script:
# add RPMs to directory to pass to docker
- mkdir rpms && mv rpmbuild/RPMS/x86_64/*.rpm rpms
- rm -rf rpmbuild*
# build container and push to registry
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build --pull -t $CI_REGISTRY_IMAGE/el7:$CI_COMMIT_TAG --file .Dockerfile-el7.gitlab-ci .
- docker push $CI_REGISTRY_IMAGE/el7:$CI_COMMIT_TAG
dependencies:
- level0:rpm:lal
- level1:rpm:lalframe
- level1:rpm:lalmetaio
- level1:rpm:lalsimulation
- level1:rpm:lalxml
- level2:rpm:lalburst
- level2:rpm:lalinspiral
- level2:rpm:lalpulsar
- level2:rpm:lalstochastic
- level3:rpm:laldetchar
- level3:rpm:lalinference
- level4:rpm:lalapps
only:
- tags
.levelN:deb: &levelN-deb-package
image: ligo/lalsuite-dev:stretch
script:
# install debs from artifacts
- dpkg -i *.deb || true
# make dist tarball
- cd ${CI_JOB_NAME#level?:deb:}
- ./00boot
- ./configure --enable-swig ${EXTRA_CONFIG_FLAGS}
- make dist
# create orig tarball
- PACKAGE=$(echo ${CI_JOB_NAME} | sed 's/.*://')
- TARBALL="${PACKAGE}-*.tar.*"
- SUFFIX=$(echo $TARBALL | sed 's/.*\.\(tar\..*\)/\1/')
- VERSION=$(echo $TARBALL | sed 's/[^-]*-\(.*\)\.tar\..*/\1/' | tr '-' '~')
- cd ${CI_PROJECT_DIR}
- cp ${CI_JOB_NAME#level?:deb:}/${TARBALL} ${PACKAGE}_${VERSION}.orig.${SUFFIX}
# update changelog
- export DEBFULLNAME="GitLab"
- export DEBEMAIL="gitlab@git.ligo.org"
- tar xf ${CI_JOB_NAME#level?:deb:}/${TARBALL}
- cd ${PACKAGE}-*
- dch -v ${VERSION}-1 'Rebuilt automatically on git.ligo.org CI'
# build packages
- debuild -us -uc -r
artifacts:
expire_in: 3h
paths:
- ${CI_JOB_NAME#level?:deb:}*.changes
- ${CI_JOB_NAME#level?:deb:}*.deb
- python*-${CI_JOB_NAME#level?:deb:}*.deb
- ${CI_JOB_NAME#level?:deb:}*.dsc
- ${CI_JOB_NAME#level?:deb:}*.orig.*
only:
- schedules
- tags
- web
level0:deb:lal:
<<: *levelN-deb-package
stage: level0
level1:deb:lalframe:
<<: *levelN-deb-package
stage: level1
dependencies:
- level0:deb:lal
level1:deb:lalmetaio:
<<: *levelN-deb-package
stage: level1
dependencies:
- level0:deb:lal
level1:deb:lalsimulation:
<<: *levelN-deb-package
stage: level1
dependencies:
- level0:deb:lal
level1:deb:lalxml:
<<: *levelN-deb-package
stage: level1
dependencies:
- level0:deb:lal
level2:deb:lalburst:
<<: *levelN-deb-package
stage: level2
dependencies:
- level0:deb:lal
- level1:deb:lalmetaio
- level1:deb:lalsimulation
level2:deb:lalinspiral:
<<: *levelN-deb-package
stage: level2
dependencies:
- level0:deb:lal
- level1:deb:lalframe
- level1:deb:lalmetaio
- level1:deb:lalsimulation
level2:deb:lalpulsar:
<<: *levelN-deb-package
stage: level2
dependencies:
- level0:deb:lal
level2:deb:lalstochastic:
<<: *levelN-deb-package
stage: level2
dependencies:
- level0:deb:lal
- level1:deb:lalmetaio
level3:deb:laldetchar:
<<: *levelN-deb-package
stage: level3
dependencies:
- level0:deb:lal
- level1:deb:lalmetaio
- level1:deb:lalsimulation
- level2:deb:lalburst
level3:deb:lalinference:
<<: *levelN-deb-package
stage: level3
dependencies:
- level0:deb:lal
- level1:deb:lalframe
- level1:deb:lalmetaio
- level1:deb:lalsimulation
- level2:deb:lalburst
- level2:deb:lalinspiral
- level2:deb:lalpulsar
level4:deb:lalapps:
<<: *levelN-deb-package
stage: level4
dependencies:
- level0:deb:lal
- level1:deb:lalframe
- level1:deb:lalmetaio
- level1:deb:lalsimulation
- level2:deb:lalburst
- level2:deb:lalinspiral
- level2:deb:lalpulsar
- level2:deb:lalstochastic
- level3:deb:lalinference
# build a nightly container from the debian packages
docker:stretch:nightly:
stage: docker
before_script: []
script:
# add deb packages to directory to pass to docker
- mkdir debs && mv *.deb debs
- rm *.changes *.dsc *.orig.*
# build container and push to registry
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build --pull -t $CI_REGISTRY_IMAGE/stretch:nightly --file .Dockerfile-stretch.gitlab-ci .
- docker push $CI_REGISTRY_IMAGE/stretch:nightly
dependencies:
- level0:deb:lal
- level1:deb:lalframe
- level1:deb:lalmetaio
- level1:deb:lalsimulation
- level1:deb:lalxml
- level2:deb:lalburst
- level2:deb:lalinspiral
- level2:deb:lalpulsar
- level2:deb:lalstochastic
- level3:deb:laldetchar
- level3:deb:lalinference
- level4:deb:lalapps
only:
- schedules
# build a tagged container from the debian packages
docker:stretch:tags:
stage: docker
before_script: []
script:
# add deb packages to directory to pass to docker
- mkdir debs && mv *.deb debs
- rm *.changes *.dsc *.orig.*
# build container and push to registry
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build --pull -t $CI_REGISTRY_IMAGE/stretch:$CI_COMMIT_TAG --file .Dockerfile-stretch.gitlab-ci .
- docker push $CI_REGISTRY_IMAGE/stretch:$CI_COMMIT_TAG
dependencies:
- level0:deb:lal
- level1:deb:lalframe
- level1:deb:lalmetaio
- level1:deb:lalsimulation
- level1:deb:lalxml
- level2:deb:lalburst
- level2:deb:lalinspiral
- level2:deb:lalpulsar
- level2:deb:lalstochastic
- level3:deb:laldetchar
- level3:deb:lalinference
- level4:deb:lalapps
only:
- tags
pages:
image: ligo/lalsuite-dev:stretch
stage: nightly
......
......@@ -22,7 +22,7 @@ export PYBUILD_CONFIGURE_ARGS = cd {build_dir} && {dir}/configure \
$(CONFIGUREARGS) PYTHON=$$(which {interpreter}) pythondir={install_dir}
export PYBUILD_BUILD_ARGS = $(MAKE) $(MAKEARGS)
export PYBUILD_INSTALL_ARGS = $(MAKE) $(MAKEARGS) DESTDIR={destdir} install
export PYBUILD_TEST_ARGS = $(MAKE) $(MAKEARGS) check
export PYBUILD_TEST_ARGS = $(MAKE) $(MAKEARGS) VERBOSE=1 check
%:
dh $@ \
......
# -*- mode: autoconf; -*-
# lalsuite_build.m4 - top level build macros
#
# serial 147
# serial 148
# restrict which LALSUITE_... patterns can appearing in output (./configure);
# useful for debugging problems with unexpanded LALSUITE_... Autoconf macros
......@@ -1074,7 +1074,6 @@ AC_ARG_WITH(
AC_HELP_STRING([--with-nvcc-cflags=NVCC_CFLAGS],[NVCC compiler flags]),
[
NVCC_CFLAGS="$NVCC_CFLAGS ${with_nvcc_cflags}"
],[
]
)
])
......
......@@ -209,7 +209,6 @@ LALSUITE_POP_UVARS
# check for gsl
PKG_CHECK_MODULES([GSL],[gsl],[true],[false])
LALSUITE_ADD_FLAGS([C],[${GSL_CFLAGS}],[${GSL_LIBS}])
AC_CHECK_LIB([gslcblas],[main],,[AC_MSG_ERROR([could not find the gsl library])])
AC_CHECK_LIB([gsl],[gsl_version],,[AC_MSG_ERROR([could not find the gsl library])])
LALSUITE_CHECK_GSL_VERSION([1.13])
LALSUITE_ENABLE_FAST_GSL
......
......@@ -6,8 +6,8 @@ EXTRA_DIST = \
lal-dev.install \
lal.install \
lal-octave.install \
lal-python.install \
lal-python3.install \
python-lal.install \
python3-lal.install \
rules \
lalsuite.mk \
source/format
......@@ -2,6 +2,7 @@ Source: lal
Section: science
Priority: optional
Maintainer: Steffen Grunewald <steffen.grunewald@aei.mpg.de>
Uploaders: Adam Mercer <adam.mercer@ligo.org>, GitLab <gitlab@git.ligo.org>
Build-Depends: bc,
debhelper (>= 9),
dh-python,
......@@ -12,10 +13,12 @@ Build-Depends: bc,
liboctave-dev,
pkg-config,
python-all-dev,
python-ligo-segments,
python-glue (>= @MIN_GLUE_VERSION@),
python-numpy,
python-six,
python3-all-dev,
python3-ligo-segments,
python3-glue (>= @MIN_GLUE_VERSION@),
python3-numpy,
python3-six,
......@@ -51,11 +54,23 @@ Description: Files and documentation needed for compiling programs that use LAL
library as well as the documentation for the library.
Package: lal-python
Depends: python-lal, ${misc:Depends}
Architecture: all
Priority: optional
Section: oldlibs
Description: transitional package
lal-python was renamed python-lal,
this is a transitional package, it can safely be removed.
Package: python-lal
Replaces: lal-python (<< 6.18.0-1~)
Breaks: lal-python (<< 6.18.0-1~)
Section: python
Architecture: any
Depends: ${misc:Depends},
${python:Depends},
${shlibs:Depends},
python-ligo-segments,
python-glue (>= @MIN_GLUE_VERSION@),
python-six,
lal (= ${binary:Version})
......@@ -64,11 +79,23 @@ Description: Python bindings for LAL
This package contains Python bindings for the LAL library.
Package: lal-python3
Depends: python3-lal, ${misc:Depends}
Architecture: all
Priority: optional
Section: oldlibs
Description: transitional package
lal-python3 was renamed python3-lal,
this is a transitional package, it can safely be removed.
Package: python3-lal
Section: python
Replaces: lal-python3 (<< 6.18.0-1~)
Breaks: lal-python3 (<< 6.18.0-1~)
Architecture: any
Depends: ${misc:Depends},
${python3:Depends},
${shlibs:Depends},
python3-ligo-segments,
python3-glue (>= @MIN_GLUE_VERSION@),
python3-six,
lal (= ${binary:Version})
......
../../gnuscripts/debian/pkg-python.install
\ No newline at end of file
......@@ -15,6 +15,7 @@ URL: https://wiki.ligo.org/DASWG/LALSuite
Packager: Adam Mercer <adam.mercer@ligo.org>
BuildRequires: bc
BuildRequires: fftw-devel
BuildRequires: python2-ligo-segments
BuildRequires: glue >= @MIN_GLUE_VERSION@
BuildRequires: gsl-devel
BuildRequires: hdf5-devel
......@@ -51,6 +52,7 @@ as well as the documentation for the library.
Summary: Python bindings for LAL
Group: LAL
Requires: %{name} = %{version}
Requires: python2-ligo-segments
Requires: glue >= @MIN_GLUE_VERSION@
Requires: numpy
Requires: python
......
......@@ -4,3 +4,7 @@ EXTRA_DIST =
include $(top_srcdir)/gnuscripts/lalsuite_python.am
SUBDIRS = lal
# workaround autotools not cleaning up __pycache__
clean-local:
-find . -name "__pycache__" -type d -exec rm -r "{}" \;
......@@ -63,9 +63,9 @@ else:
'''
from scipy.signal import signaltools
from ligo import segments
from glue import iterutils
from glue import segments
from glue.ligolw import ligolw
from glue.ligolw import array as ligolw_array
from glue.ligolw import param as ligolw_param
......@@ -922,7 +922,7 @@ class Categories(Bins):
Example with continuous values:
>>> from glue.segments import *
>>> from ligo.segments import *
>>> categories = Categories([
... segmentlist([segment(1, 3), segment(5, 7)]),
... segmentlist([segment(0, PosInfinity)])
......@@ -1348,7 +1348,7 @@ def bins_spanned(bins, seglist):
Example:
>>> from glue.segments import *
>>> from ligo.segments import *
>>> s = segmentlist([segment(1.5, 10.333), segment(15.8, 24)])
>>> b = LinearBins(0, 30, 100)
>>> bins_spanned(b, s)
......
......@@ -25,7 +25,7 @@ import tempfile
from functools import total_ordering
from six.moves import urllib
from glue import segments
from ligo import segments
from .. import git_version
from ..lal import CacheImport
......@@ -91,7 +91,7 @@ class CacheEntry(object):
The values for these columns are stored in the .observatory,
.description, .segment and .url attributes of instances of this class,
respectively. The .segment attribute stores a glue.segments.segment
respectively. The .segment attribute stores a ligo.segments.segment
object describing the interval spanned by the file. Any of these
attributes except the URL is allowed to be None.
......@@ -115,7 +115,7 @@ class CacheEntry(object):
Example (extract segmentlist dictionary from LAL cache):
>>> from glue import segments
>>> from ligo import segments
>>> seglists = segments.segmentlistdict()
>>> for cacheentry in cache:
... seglists |= cacheentry.segmentlistdict
......
......@@ -292,6 +292,10 @@ src/pulsar/Tools/lalapps_FstatMetric_v2
src/pulsar/Tools/lalapps_PrintDetectorState
src/pulsar/TwoSpect/lalapps_TwoSpect
src/pulsar/TwoSpect/lalapps_TwoSpectTemplateBank
src/pulsar/Weave/*.testdir