Skip to content

Commit

Permalink
Merge pull request easybuilders#19840 from t1mk1k/new_pr_wsclean_dp3_…
Browse files Browse the repository at this point in the history
…foss_2023b

{astro,lib}[foss/2023b] DP3-6.0, WSClean 3.4 and deps
  • Loading branch information
casparvl authored Mar 11, 2024
2 parents 5529302 + 0cd024d commit 20be2af
Show file tree
Hide file tree
Showing 19 changed files with 837 additions and 0 deletions.
46 changes: 46 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,46 @@
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'),
]

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 @@
# Author: Robert Mijakovic <[email protected]>

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}

github_account = 'opencollab'

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

builddependencies = [
('Autotools', '20220317'),
('pkgconf', '2.0.3'),
]
dependencies = [
('Eigen', '3.4.0'),
]

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

sanity_check_paths = {
'files': ['lib64/libarpack.la', 'lib64/libarpack.%s' % SHLIB_EXT,
'lib64/libparpack.la', 'lib64/libparpack.%s' % SHLIB_EXT],
'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.%s' % SHLIB_EXT],
'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 <[email protected]>
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 {
62 changes: 62 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,62 @@
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 '

local_download_cmd = 'wget --retry-connrefused ftp://[email protected]/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.%s' % SHLIB_EXT,
'lib/libcasa_mirlib.%s' % SHLIB_EXT,
'lib/libcasa_ms.%s' % SHLIB_EXT,
],
'dirs': ['bin', 'include/%(name)s'],
}

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

moduleclass = 'lib'
57 changes: 57 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,57 @@
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',
# Repo uses git submodules, which are not included in the release tarballs.
# Thus, we let EasyBuild download directly from the git repository.
'git_config': {
'url': 'https://git.astron.nl/RD',
'repo_name': '%(name)s',
'tag': 'v%(version)s',
'clone_into': '%(name)s',
'recursive': True
}
},
]
patches = ['DP3-6.0_fix-for-xsimd-error-on-neoverse-v1.patch']
checksums = [
None, # checksum for git clone source is non-deterministic
# DP3-6.0_fix-for-xsimd-error-on-neoverse-v1.patch
'7f5069388846c9c715013d5a3a267a6d8e266520445a6427e63e9d52d3046c9d',
]

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'),
('IDG', '1.2.0'),
]


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'
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Fix for XSIMD build error on Neoverse V1
# See: https://github.com/xtensor-stack/xsimd/issues/1005 and https://github.com/xtensor-stack/xsimd/commit/1d8536b
# Mar 11th 2024 by T. Kok (SURF)
--- DP3.orig/external/aocommon/CMake/FetchXTensor.cmake 2024-03-11 11:20:32.024804259 +0100
+++ DP3/external/aocommon/CMake/FetchXTensor.cmake 2024-03-11 11:21:32.851493709 +0100
@@ -6,7 +6,7 @@
set(xtl_GIT_TAG b3d0091a77af52f1b479b5b768260be4873aa8a7)
endif()
if (NOT xsimd_GIT_TAG)
- set(xsimd_GIT_TAG 2f5eddf8912c7e2527f0c50895c7560b964d29af)
+ set(xsimd_GIT_TAG 1d8536b393171b899031f01b7c2d63858b05665c)
endif()
if (NOT xtensor_GIT_TAG)
set(xtensor_GIT_TAG 0.24.2)
@@ -65,3 +65,4 @@
endif()

endforeach()
+
49 changes: 49 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,49 @@
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',
# Repo uses git submodules, which are not included in the release tarballs.
# Thus, we let EasyBuild download directly from the git repository.
'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'),
]


sanity_check_paths = {
'files': ['include/%(name)s/beamformer.h', 'lib/libeverybeam.%s' % SHLIB_EXT],
'dirs': [],
}

moduleclass = 'lib'
Loading

0 comments on commit 20be2af

Please sign in to comment.