From d9890d63f98d2bef8f348ed49d7adae7760ef1fa Mon Sep 17 00:00:00 2001 From: casparl Date: Wed, 22 Jan 2025 21:48:11 +0100 Subject: [PATCH 1/5] move download of data files to source step to facilitate e.g. offline installation --- .../c/casacore/casacore-3.5.0-foss-2022a.eb | 23 ++++++++------- .../c/casacore/casacore-3.5.0-foss-2023b.eb | 28 ++++++++++--------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb index d98f5af249e..676b54e27d9 100644 --- a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb @@ -11,17 +11,20 @@ Thus user's can update them. toolchain = {'name': 'foss', 'version': '2022a'} -source_urls = ['https://github.com/casacore/casacore/archive'] -sources = ['v%(version)s.tar.gz'] -checksums = [ - '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91', # v3.5.0.tar.gz +sources = [ + { + 'filename': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(name)s/%(name)s/archive'], + }, + { + 'filename': 'WSRT_Measures.ztar', + 'source_urls': ['ftp://anonymous@ftp.astron.nl/outgoing/Measures'], + 'extract_cmd': 'tar xfvz %s --one-top-level=%(installdir)s/data', + } ] - -# Install casacore data -postinstallcmds = [ - 'wget --retry-connrefused ftp://anonymous@ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar' + - ' -O /tmp/WSRT_Measures.ztar' + - ' && tar xfvz /tmp/WSRT_Measures.ztar --one-top-level=%(installdir)s/data' +checksums = [ + {'v3.5.0.tar.gz': '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91'}, + {'WSRT_Measures.ztar': '73cb1c9b969336bf30d66f306a530f7d5af8c6b30ff63868d4c7055ac769a1f6'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb index 741298d1488..fc1b0b0a114 100644 --- a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb @@ -11,12 +11,23 @@ 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'] +sources = [ + { + 'filename': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(name)s/%(name)s/archive'], + }, + { + 'filename': 'WSRT_Measures.ztar', + 'source_urls': ['ftp://anonymous@ftp.astron.nl/outgoing/Measures'], + 'extract_cmd': 'tar xfvz %s --one-top-level=%(installdir)s/data', + } +] 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 + {'v3.5.0.tar.gz': '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91'}, + {'WSRT_Measures.ztar': '73cb1c9b969336bf30d66f306a530f7d5af8c6b30ff63868d4c7055ac769a1f6'}, + {'casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch': + '7b35d21cd654a7a215d604310f5372319ad21b6261f4a7ae038912b97ef22983'}, ] builddependencies = [ @@ -39,15 +50,6 @@ 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://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.%s' % SHLIB_EXT, From 601e53761c987897189606cd2aa12a16277fa679 Mon Sep 17 00:00:00 2001 From: casparl Date: Tue, 28 Jan 2025 22:03:51 +0100 Subject: [PATCH 2/5] Extract data to builddir first, then copy to installdir in postinstallcmds. Also, add sanity checking on presense of the datadir contents --- .../c/casacore/casacore-3.5.0-foss-2022a.eb | 6 ++++-- .../c/casacore/casacore-3.5.0-foss-2023b.eb | 15 +++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb index 676b54e27d9..df655b6b951 100644 --- a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb @@ -19,7 +19,7 @@ sources = [ { 'filename': 'WSRT_Measures.ztar', 'source_urls': ['ftp://anonymous@ftp.astron.nl/outgoing/Measures'], - 'extract_cmd': 'tar xfvz %s --one-top-level=%(installdir)s/data', + 'extract_cmd': 'tar xfvz %s --one-top-level=data', } ] checksums = [ @@ -51,10 +51,12 @@ configopts += '-DUSE_OPENMP=ON -DUSE_HDF5=ON -DUSE_MPI=ON ' # See PR # 19119 configopts += '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' +postinstallcmds = ['cp -r %(builddir)s/data %(installdir)s'] + 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/casacore'], + 'dirs': ['bin', 'include/casacore', 'data/ephemerides', 'data/geodetic'], } sanity_check_commands = [('measuresdata', '')] diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb index fc1b0b0a114..e38807a3c83 100644 --- a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb @@ -24,10 +24,8 @@ sources = [ ] patches = ['casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch'] checksums = [ - {'v3.5.0.tar.gz': '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91'}, - {'WSRT_Measures.ztar': '73cb1c9b969336bf30d66f306a530f7d5af8c6b30ff63868d4c7055ac769a1f6'}, - {'casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch': - '7b35d21cd654a7a215d604310f5372319ad21b6261f4a7ae038912b97ef22983'}, + '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91', # casacore-3.5.0.tar.gz + '7b35d21cd654a7a215d604310f5372319ad21b6261f4a7ae038912b97ef22983', # add-C-style-header-for-GCC-13.1.patch ] builddependencies = [ @@ -50,6 +48,15 @@ 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://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.%s' % SHLIB_EXT, From 700cf9861c3829a6589280a2bb81462932fc81aa Mon Sep 17 00:00:00 2001 From: casparl Date: Tue, 28 Jan 2025 22:45:10 +0100 Subject: [PATCH 3/5] Fix version of the measures data for this version --- .../c/casacore/casacore-3.5.0-foss-2022a.eb | 3 ++- .../c/casacore/casacore-3.5.0-foss-2023b.eb | 22 ++++++++----------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb index df655b6b951..92ab7b49200 100644 --- a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb @@ -17,7 +17,8 @@ sources = [ 'source_urls': ['https://github.com/%(name)s/%(name)s/archive'], }, { - 'filename': 'WSRT_Measures.ztar', + # Note: when updating this easyconfig, check the latest WSRT_Measures tarball on the FTP and update to that + 'filename': 'WSRT_Measures_20250128-160001.ztar', 'source_urls': ['ftp://anonymous@ftp.astron.nl/outgoing/Measures'], 'extract_cmd': 'tar xfvz %s --one-top-level=data', } diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb index e38807a3c83..18e8fa8228b 100644 --- a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb @@ -17,15 +17,18 @@ sources = [ 'source_urls': ['https://github.com/%(name)s/%(name)s/archive'], }, { - 'filename': 'WSRT_Measures.ztar', + # Note: when updating this easyconfig, check the latest WSRT_Measures tarball on the FTP and update to that + 'filename': 'WSRT_Measures_20250128-160001.ztar', 'source_urls': ['ftp://anonymous@ftp.astron.nl/outgoing/Measures'], - 'extract_cmd': 'tar xfvz %s --one-top-level=%(installdir)s/data', + 'extract_cmd': 'tar xfvz %s --one-top-level=data', } ] 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 + {'v3.5.0.tar.gz': '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91'}, + {'WSRT_Measures.ztar': '73cb1c9b969336bf30d66f306a530f7d5af8c6b30ff63868d4c7055ac769a1f6'}, + {'casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch': + '7b35d21cd654a7a215d604310f5372319ad21b6261f4a7ae038912b97ef22983'}, ] builddependencies = [ @@ -48,14 +51,7 @@ 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://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", -# ] +postinstallcmds = ['cp -r %(builddir)s/data %(installdir)s'] sanity_check_paths = { 'files': [ @@ -63,7 +59,7 @@ sanity_check_paths = { 'lib/libcasa_mirlib.%s' % SHLIB_EXT, 'lib/libcasa_ms.%s' % SHLIB_EXT, ], - 'dirs': ['bin', 'include/%(name)s'], + 'dirs': ['bin', 'include/%(name)s', 'data/ephemerides', 'data/geodetic'], } sanity_check_commands = [('measuresdata', '')] From 3756e1f068831ed5547c9abda84d796199702281 Mon Sep 17 00:00:00 2001 From: casparl Date: Tue, 28 Jan 2025 23:17:18 +0100 Subject: [PATCH 4/5] Fix version of the measures data for this version --- easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb index 18e8fa8228b..96f9d90cbd7 100644 --- a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2023b.eb @@ -7,6 +7,8 @@ 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'} @@ -26,7 +28,7 @@ sources = [ patches = ['casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch'] checksums = [ {'v3.5.0.tar.gz': '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91'}, - {'WSRT_Measures.ztar': '73cb1c9b969336bf30d66f306a530f7d5af8c6b30ff63868d4c7055ac769a1f6'}, + {'WSRT_Measures_20250128-160001.ztar': '5835e3f5458d8f88fd057044a891d26a5cbfdec9a865967b1189d4fd52140c80'}, {'casacore-3.5.0-add-C-style-header-for-GCC-13.1.patch': '7b35d21cd654a7a215d604310f5372319ad21b6261f4a7ae038912b97ef22983'}, ] From c0c269e4282e3474b3718e195409b34d8cf46e41 Mon Sep 17 00:00:00 2001 From: casparl Date: Tue, 28 Jan 2025 23:18:14 +0100 Subject: [PATCH 5/5] Fix version of the measures data for this version --- easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb index 92ab7b49200..bde1bec186f 100644 --- a/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb @@ -25,7 +25,7 @@ sources = [ ] checksums = [ {'v3.5.0.tar.gz': '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91'}, - {'WSRT_Measures.ztar': '73cb1c9b969336bf30d66f306a530f7d5af8c6b30ff63868d4c7055ac769a1f6'}, + {'WSRT_Measures_20250128-160001.ztar': '5835e3f5458d8f88fd057044a891d26a5cbfdec9a865967b1189d4fd52140c80'}, ] builddependencies = [