Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{astro,lib}[foss/2023b] DP3-6.0, WSClean 3.4 and deps #19840

Merged
merged 26 commits into from
Mar 11, 2024
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
52 changes: 52 additions & 0 deletions easybuild/easyconfigs/a/AOFlagger/AOFlagger-3.4.0-foss-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
easyblock = 'CMakeMake'

name = 'AOFlagger'
version = '3.4.0'

homepage = 'https://aoflagger.readthedocs.io/'
description = """The AOFlagger is a tool that can find and remove radio-frequency interference (RFI)
in radio astronomical observations. It can make use of Lua scripts to make flagging strategies flexible,
and the tools are applicable to a wide set of telescopes."""

toolchain = {'name': 'foss', 'version': '2023b'}

sources = [
{
'source_urls': [
'https://gitlab.com/aroffringa/%(namelower)s/-/package_files/96704214/'
],
'filename': '%(namelower)s-v%(version)s.tar.bz2',
'download_filename': 'download'
},
]
checksums = ['9560b7381b68f37d842599f222a8aa2a5d3d3d501d1277471e1a0ba3d7b2aeba']

builddependencies = [
('CMake', '3.27.6'),
]
dependencies = [
('casacore', '3.5.0'),
('Boost', '1.83.0'),
('CFITSIO', '4.3.1'),
('GSL', '2.7'),
('HDF5', '1.14.3'),
('Python', '3.11.5'),
('Lua', '5.4.6'),
('libpng', '1.6.40'),
('libxml2', '2.11.5'),
]

# Without this, the wrong (system) python is picked up by cmake
# in cases where the system python is newer than the one used in these EasyConfigs
# See PR # 19119
configopts = "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python "
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved


sanity_check_paths = {
'files': ['include/%(namelower)s.h', 'bin/%(namelower)s'],
'dirs': ['bin'],
}

sanity_check_commands = [('%(namelower)s', '-v')]

moduleclass = 'lib'
24 changes: 24 additions & 0 deletions easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name = 'Armadillo'
version = '12.8.0'

homepage = 'https://arma.sourceforge.net/'
description = """Armadillo is an open-source C++ linear algebra library (matrix maths) aiming towards
a good balance between speed and ease of use. Integer, floating point and complex numbers are supported,
as well as a subset of trigonometric and statistics functions."""

toolchain = {'name': 'foss', 'version': '2023b'}

source_urls = ['https://sourceforge.net/projects/arma/files']
sources = [SOURCELOWER_TAR_XZ]
checksums = ['a89bb6fece5ce9fdd1d01a4bc145cf7cc0b939c5777cca46de69c2f5e3412cf0']

builddependencies = [
('CMake', '3.27.6'),
]
dependencies = [
('Boost', '1.83.0'),
('arpack-ng', '3.9.0'),
]


moduleclass = 'numlib'
37 changes: 37 additions & 0 deletions easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.0-foss-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# #
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved
# Author: Robert Mijakovic <robert.mijakovic@lxp.lu>
# #
easyblock = 'ConfigureMake'

name = 'arpack-ng'
version = '3.9.0'

homepage = 'https://github.com/opencollab/arpack-ng'
description = "ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems."

toolchain = {'name': 'foss', 'version': '2023b'}
toolchainopts = {'pic': True, 'usempi': True}

source_urls = [GITHUB_SOURCE]
sources = ['%(version)s.tar.gz']
checksums = ['24f2a2b259992d3c797d80f626878aa8e2ed5009d549dad57854bbcfb95e1ed0']

builddependencies = [
('Autotools', '20220317'),
('pkg-config', '0.29.2'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we replace with pkgconf-2.0.3? We're trying to phase out using pkg-config as it has been unmaintained for a long time #14390

(likewise for other occurrences of this dep in this PR)

]
dependencies = [
('Eigen', '3.4.0'),
]

preconfigopts = "sh bootstrap && "
configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"'

github_account = 'opencollab'
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved

sanity_check_paths = {
'files': ['lib64/libarpack.la', 'lib64/libarpack.so', 'lib64/libparpack.la', 'lib64/libparpack.so'],
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved
'dirs': [],
}

moduleclass = 'numlib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
easyblock = 'EB_Boost'

name = 'Boost.Python'
version = '1.83.0'

homepage = 'https://boostorg.github.io/python'
description = """Boost.Python is a C++ library which enables seamless interoperability between C++
and the Python programming language."""

toolchain = {'name': 'GCC', 'version': '13.2.0'}
toolchainopts = {'pic': True}

source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/']
sources = ['boost_1_83_0.tar.gz']
checksums = ['c0685b68dd44cc46574cce86c4e17c0f611b15e195be9848dfd0769a0a207628']

dependencies = [
('Boost', '1.83.0'),
('Python', '3.11.5'),
]

only_python_bindings = True

moduleclass = 'lib'
43 changes: 43 additions & 0 deletions easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.3.1-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak
easyblock = 'ConfigureMake'

name = 'CFITSIO'
version = '4.3.1'

homepage = 'https://heasarc.gsfc.nasa.gov/fitsio/'
description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in
FITS (Flexible Image Transport System) data format."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
toolchainopts = {'pic': True}

source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/']
sources = [SOURCELOWER_TAR_GZ]
patches = ['%(name)s-3.48_install_test_data.patch']
checksums = [
{SOURCELOWER_TAR_GZ: '47a7c8ee05687be1e1d8eeeb94fb88f060fbf3cd8a4df52ccb88d5eb0f5062be'},
{'%(name)s-3.48_install_test_data.patch': 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c'},
]

builddependencies = [
('binutils', '2.40'),
]
# curl for HTTPs support
dependencies = [
('cURL', '8.3.0'),
]

# make would create just static libcfitsio.a.
# Let's create dynamic lib and testprog too.
buildopts = "&& make shared && make testprog"


sanity_check_paths = {
'files': ['lib/libcfitsio.a', 'lib/libcfitsio.so'],
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved
'dirs': ['include'],
}

sanity_check_commands = ['cd %(installdir)s/share && testprog']

moduleclass = 'lib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
From 68e43f489abd3d4f1e2fe54a42695396703aa81a Mon Sep 17 00:00:00 2001
From: Chris Broekema <broekema-github@fuzzms.nl>
Date: Tue, 9 May 2023 12:43:34 +0200
Subject: [PATCH] add C-style header to fix GCC 13.1 compile error on uint16_t
not being a valid type (#1309)

---
tables/Dysco/bytepacker.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/tables/Dysco/bytepacker.h b/tables/Dysco/bytepacker.h
index d62754046..cb1193b41 100644
--- a/tables/Dysco/bytepacker.h
+++ b/tables/Dysco/bytepacker.h
@@ -2,6 +2,7 @@
#define DYSCO_BYTE_PACKER_H

#include <stdexcept>
+#include <cstdint>

namespace dyscostman {
58 changes: 58 additions & 0 deletions easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
easyblock = 'CMakeMake'

name = 'casacore'
version = '3.5.0'

homepage = 'https://github.com/casacore/casacore'
description = """A suite of C++ libraries for radio astronomy data processing.
The ephemerides data needs to be in DATA_DIR and the location must be specified at runtime.
Thus user's can update them.
"""

toolchain = {'name': 'foss', 'version': '2023b'}

source_urls = ['https://github.com/%(name)s/%(name)s/archive']
sources = ['v%(version)s.tar.gz']
patches = ['casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch']
checksums = [
'63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91', # casacore-3.5.0.tar.gz
'7b35d21cd654a7a215d604310f5372319ad21b6261f4a7ae038912b97ef22983', # add-C-style-header-for-GCC-13.1.patch
]

builddependencies = [
('CMake', '3.27.6'),
('flex', '2.6.4'),
('Bison', '3.8.2'),
('wget', '1.21.4'),
]
dependencies = [
('CFITSIO', '4.3.1'),
('WCSLIB', '7.11'),
('HDF5', '1.14.3'),
('GSL', '2.7'),
('Boost.Python', '1.83.0'),
('SciPy-bundle', '2023.11'),
('ncurses', '6.4'),
]

configopts = '-DBUILD_PYTHON=NO -DBUILD_PYTHON3=YES -Wno-dev -DCXX11="ON" '
configopts += '-DDATA_DIR=%(installdir)s/data -DUSE_OPENMP=ON -DUSE_HDF5=ON '
configopts += '-DUSE_MPI=ON -DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python '
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved

local_download_cmd = 'wget --retry-connrefused ftp://anonymous@ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar '
local_download_cmd += '-O /tmp/WSRT_Measures.ztar '

# Install casacore data
postinstallcmds = [
local_download_cmd,
"tar xfvz /tmp/WSRT_Measures.ztar --one-top-level=%(installdir)s/data",
]

sanity_check_paths = {
'files': ['lib/libcasa_casa.so', 'lib/libcasa_mirlib.so', 'lib/libcasa_ms.so'],
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved
'dirs': ['bin', 'include/%(name)s'],
}

sanity_check_commands = [('measuresdata', '')]

moduleclass = 'lib'
54 changes: 54 additions & 0 deletions easybuild/easyconfigs/d/DP3/DP3-6.0-foss-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
easyblock = 'CMakeMake'

name = 'DP3'
version = '6.0'

homepage = 'https://dp3.readthedocs.io/'
description = "DP3: streaming processing pipeline for radio interferometric data."

toolchain = {'name': 'foss', 'version': '2023b'}

sources = [
{
'filename': '%(name)s-v%(version)s.tar.gz',
'git_config': {
'url': 'https://git.astron.nl/RD',
'repo_name': '%(name)s',
'tag': 'v%(version)s',
'clone_into': '%(name)s',
'recursive': True
}
},
]
checksums = [None]

builddependencies = [
('CMake', '3.27.6'),
]
dependencies = [
('casacore', '3.5.0'),
('Boost', '1.83.0'),
('CFITSIO', '4.3.1'),
('WCSLIB', '7.11'),
('GSL', '2.7'),
('HDF5', '1.14.3'),
('Python', '3.11.5'),
('EveryBeam', '0.5.2'),
('Armadillo', '12.8.0'),
('AOFlagger', '3.4.0'),
]

# Without this, the wrong (system) python is picked up by cmake
# in cases where the system python is newer than the one used in these EasyConfigs
# See PR # 19119
configopts = "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python "
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved


sanity_check_paths = {
'files': ['include/include/%(namelower)s/base/%(name)s.h', 'bin/%(name)s'],
'dirs': ['bin'],
}

sanity_check_commands = [('%(name)s', '--version')]

moduleclass = 'astro'
52 changes: 52 additions & 0 deletions easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
easyblock = 'CMakeMake'

name = 'EveryBeam'
version = '0.5.2'

homepage = 'https://everybeam.readthedocs.io/'
description = """Library that provides the antenna response pattern for several instruments,
such as LOFAR (and LOBES), SKA (OSKAR), MWA, JVLA, etc."""

toolchain = {'name': 'foss', 'version': '2023b'}

sources = [
{
'filename': '%(name)s-v%(version)s.tar.gz',
'git_config': {
'url': 'https://git.astron.nl/RD',
'repo_name': '%(name)s',
'tag': 'v%(version)s',
'clone_into': '%(name)s',
'recursive': True
}
},
]
checksums = [None]

builddependencies = [
('CMake', '3.27.6'),
('wget', '1.21.4'),
]
dependencies = [
('casacore', '3.5.0'),
('Boost', '1.83.0'),
('CFITSIO', '4.3.1'),
('WCSLIB', '7.11'),
('GSL', '2.7'),
('HDF5', '1.14.3'),
('Python', '3.11.5'),
('libxml2', '2.11.5'),
]

# Without this, the wrong (system) python is picked up by cmake
# in cases where the system python is newer than the one used in these EasyConfigs
# See PR # 19119
configopts = "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python "
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved


sanity_check_paths = {
'files': ['include/%(name)s/beamformer.h', 'lib/libeverybeam.so'],
t1mk1k marked this conversation as resolved.
Show resolved Hide resolved
'dirs': [],
}

moduleclass = 'lib'