Skip to content
Snippets Groups Projects
Commit 1894fc52 authored by Alexandre Strube's avatar Alexandre Strube
Browse files

HDF5 and netCDF

parent 3ecbfeb5
Branches
No related tags found
No related merge requests found
Showing
with 444 additions and 0 deletions
easyblock = 'ConfigureMake'
name = 'GDAL'
version = '3.6.0'
homepage = 'https://www.gdal.org'
description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style
Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model
to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for
data translation and processing."""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = ['https://download.osgeo.org/gdal/%(version)s/']
sources = [SOURCELOWER_TAR_XZ]
patches = ['GDAL-3.0.0_fix-python-CC-CXX.patch']
checksums = [
'630e34141cf398c3078d7d8f08bb44e804c65bbf09807b3610dcbfbc37115cc3', # gdal-3.3.2.tar.xz
# GDAL-3.0.0_fix-python-CC-CXX.patch
'223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381',
]
builddependencies = [
('pkgconf', '1.8.0'),
]
dependencies = [
('binutils', '2.38'),
('Python', '3.10.4'),
('netCDF', '4.8.1', '-serial'),
('expat', '2.4.1'),
('GEOS', '3.11.1'),
('SQLite', '3.36'),
('libxml2', '2.9.10'),
('libpng', '1.6.37'),
('libjpeg-turbo', '2.1.1'),
('JasPer', '2.0.33'),
('LibTIFF', '4.3.0'),
('zlib', '1.2.11'),
('cURL', '7.78.0'),
('PCRE', '8.45'),
('PROJ', '8.1.0'),
('libgeotiff', '1.7.0'),
('SciPy-bundle', '2021.10', '', ('gcccoremkl', '11.2.0-2021.4.0')),
('HDF5', '1.12.1', '-serial'),
('HDF', '4.2.15'),
]
preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && "
configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ'
configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF'
configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO'
configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER'
configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python'
configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF'
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
sanity_check_paths = {
'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT],
'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages']
}
sanity_check_commands = ["python -c 'import osgeo.gdal'"]
moduleclass = 'data'
easyblock = 'ConfigureMake'
name = 'GEOS'
version = '3.11.1'
homepage = 'https://trac.osgeo.org/geos'
description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = ['https://download.osgeo.org/geos/']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['6d0eb3cfa9f92d947731cc75f1750356b3bdfc07ea020553daf6af1c768e0be2']
builddependencies = [('binutils', '2.38'),
('CMake', '3.23.1'),
]
sanity_check_paths = {
'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos_c.so', 'include/geos.h'],
'dirs': [],
}
moduleclass = 'math'
easyblock = 'CMakeMake'
name = 'googletest'
version = '1.11.0'
homepage = 'https://github.com/google/googletest'
description = "Google's framework for writing C++ tests on a variety of platforms"
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = ['https://github.com/google/googletest/archive/']
sources = ['release-%(version)s.tar.gz']
checksums = ['b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5']
builddependencies = [
('binutils', '2.38'),
('CMake', '3.23.1'),
]
# build twice, once for static, once for shared libraries
configopts = ['', ' -DBUILD_SHARED_LIBS=ON ']
sanity_check_paths = {
'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main']
for local_ext in ['a', SHLIB_EXT]],
'dirs': ['include/gmock', 'include/gtest'],
}
moduleclass = 'tools'
name = 'HDF5'
version = '1.12.2'
versionsuffix = '-serial'
homepage = 'https://portal.hdfgroup.org/display/support'
description = """HDF5 is a data model, library, and file format for storing and managing data.
It supports an unlimited variety of datatypes, and is designed for flexible
and efficient I/O and for high volume and complex data."""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}
source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('zlib', '1.2.12'),
('Szip', '2.1.1'),
]
moduleclass = 'data'
easyblock = 'ConfigureMake'
name = 'libgeotiff'
version = '1.7.1'
homepage = 'https://directory.fsf.org/wiki/Libgeotiff'
description = """Library for reading and writing coordinate system information from/to GeoTIFF files"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = ['https://download.osgeo.org/geotiff/libgeotiff']
sources = [SOURCE_TAR_GZ]
checksums = ['05ab1347aaa471fc97347d8d4269ff0c00f30fa666d956baba37948ec87e55d6']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('PROJ', '9.0.0'),
('libjpeg-turbo', '2.1.3'),
('zlib', '1.2.12'),
('SQLite', '3.38.3'),
('LibTIFF', '4.3.0'),
('cURL', '7.83.0'),
]
configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB'
configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO'
sanity_check_paths = {
'files': ['bin/listgeo', 'lib/libgeotiff.a', 'lib/libgeotiff.%s' % SHLIB_EXT],
'dirs': ['include', 'share'],
}
moduleclass = 'lib'
name = 'netCDF'
version = '4.9.0'
versionsuffix = '-serial'
homepage = 'https://www.unidata.ucar.edu/software/netcdf/'
description = """NetCDF (network Common Data Form) is a set of software libraries
and machine-independent data formats that support the creation, access, and sharing of array-oriented
scientific data."""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/Unidata/netcdf-c/archive/']
sources = ['v%(version)s.tar.gz']
patches = [
'netCDF-%(version)s_fix-lib-name.patch',
'netCDF-%(version)s_fix-linking-errors.patch',
'netCDF-%(version)s_skip-nasa-test.patch',
]
checksums = [
'9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6', # v4.9.0.tar.gz
'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a', # netCDF-4.9.0_fix-lib-name.patch
'2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15', # netCDF-4.9.0_fix-linking-errors.patch
'19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a', # netCDF-4.9.0_skip-nasa-test.patch
]
builddependencies = [
('Autotools', '20220317'),
('CMake', '3.23.1'),
('Doxygen', '1.9.4'),
]
dependencies = [
('HDF5', '1.12.2', '-serial'),
('cURL', '7.83.0'),
('Szip', '2.1.1'),
('zstd', '1.5.2'),
('bzip2', '1.0.8'),
('libxml2', '2.9.13'),
]
# make sure both static and shared libs are built
# and disable "remote" tests that access a unreliable external test server over internet
configopts = [
"-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF",
"-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON",
]
runtest = 'test'
moduleclass = 'data'
From 80a6611cfca98a5979c5ac69cba56a49af8c1e48 Mon Sep 17 00:00:00 2001
From: Yuriy Chernyshov <thegeorg@yandex-team.com>
Date: Sun, 19 Jun 2022 19:29:20 +0300
Subject: [PATCH] Fix typo in CMakeLists.txt
At the time generated dynamic library is named `libnetcdf.so.19}` which looks like a typo.
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7bf8641bec..18366d24ad 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,7 +39,7 @@ SET(NC_VERSION ${netCDF_VERSION})
SET(PACKAGE_VERSION ${VERSION})
# These values should match those in configure.ac
-SET(netCDF_LIB_VERSION 19})
+SET(netCDF_LIB_VERSION 19)
SET(netCDF_SO_VERSION 19)
# Version of the dispatch table. This must match the value in
fix "multiple definition" linking errors,
see also https://github.com/Unidata/netcdf-c/issues/2419
author: Kenneth Hoste (HPC-UGent) + Lars Viklund (Umeå University)
--- netcdf-c-4.9.0/include/netcdf_json.h.orig 2022-06-23 08:35:33.345891769 +0200
+++ netcdf-c-4.9.0/include/netcdf_json.h 2022-06-23 08:37:38.626339409 +0200
@@ -57,25 +57,25 @@
#endif
/* Parse a JSON string */
-DLLEXPORT int NCJparse(const char* text, unsigned flags, NCjson** jsonp);
+DLLEXPORT static int NCJparse(const char* text, unsigned flags, NCjson** jsonp);
/* Reclaim a JSON tree */
-DLLEXPORT extern void NCJreclaim(NCjson* json);
+DLLEXPORT static void NCJreclaim(NCjson* json);
/* Create a new JSON node of a given sort */
-DLLEXPORT extern int NCJnew(int sort, NCjson** objectp);
+DLLEXPORT static int NCJnew(int sort, NCjson** objectp);
/* Create new json object with given string content */
-DLLEXPORT extern int NCJnewstring(int sort, const char* value, NCjson** jsonp);
+DLLEXPORT static int NCJnewstring(int sort, const char* value, NCjson** jsonp);
/* Create new json object with given counted string content */
-DLLEXPORT extern int NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp);
+DLLEXPORT static int NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp);
/* Get dict key value by name */
-DLLEXPORT extern int NCJdictget(const NCjson* dict, const char* key, NCjson** valuep);
+DLLEXPORT static int NCJdictget(const NCjson* dict, const char* key, NCjson** valuep);
/* Convert one json sort to value of another type; don't use union so we can know when to reclaim sval */
-DLLEXPORT extern int NCJcvt(const NCjson* value, int outsort, struct NCJconst* output);
+DLLEXPORT static int NCJcvt(const NCjson* value, int outsort, struct NCJconst* output);
#ifndef NETCDF_JSON_H
@@ -230,7 +230,7 @@
/**************************************************/
-int
+static int
NCJparse(const char* text, unsigned flags, NCjson** jsonp)
{
int stat = NCJ_OK;
@@ -579,7 +579,7 @@
/**************************************************/
-void
+static void
NCJreclaim(NCjson* json)
{
if(json == NULL) return;
@@ -621,7 +621,7 @@
/**************************************************/
/* Build Functions */
-int
+static int
NCJnew(int sort, NCjson** objectp)
{
int stat = NCJ_OK;
@@ -651,13 +651,13 @@
return NCJTHROW(stat);
}
-int
+static int
NCJnewstring(int sort, const char* value, NCjson** jsonp)
{
return NCJTHROW(NCJnewstringn(sort,strlen(value),value,jsonp));
}
-int
+static int
NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp)
{
int stat = NCJ_OK;
@@ -679,7 +679,7 @@
return NCJTHROW(stat);
}
-int
+static int
NCJdictget(const NCjson* dict, const char* key, NCjson** valuep)
{
int i,stat = NCJ_OK;
@@ -755,7 +755,7 @@
#endif
/* Convert a JSON value to an equivalent value of a specified sort */
-int
+static int
NCJcvt(const NCjson* jvalue, int outsort, struct NCJconst* output)
{
int stat = NCJ_OK;
The NASA performance test is skipped becuase it is very sentitive to what filesystem is used, causing timeouts.
Author: micketeer@gmail.com
--- nc_test4/run_par_test.sh.in.orig 2022-08-17 11:14:21.827283219 +0200
+++ nc_test4/run_par_test.sh.in 2022-08-17 11:12:49.547459608 +0200
@@ -37,9 +37,9 @@
echo "Testing collective writes with some 0 element writes..."
@MPIEXEC@ -n 4 ./tst_parallel5
-echo
-echo "Parallel Performance Test for NASA"
-@MPIEXEC@ -n 4 ./tst_nc4perf
+#echo
+#echo "Parallel Performance Test for NASA"
+#@MPIEXEC@ -n 4 ./tst_nc4perf
echo
echo "Parallel I/O test for Collective I/O, contributed by HDF Group."
easyblock = 'CMakeMake'
name = 'nlohmann_json'
version = '3.10.5'
homepage = 'https://github.com/nlohmann/json'
description = """JSON for Modern C++"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']
checksums = ['5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4']
builddependencies = [
('binutils', '2.38'),
('CMake', '3.23.1'),
]
sanity_check_paths = {
'files': ['include/nlohmann/json.hpp'],
'dirs': ['lib64/cmake', 'lib64/pkgconfig'],
}
moduleclass = 'lib'
##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2014-2015 The Cyprus Institute
# Authors:: Thekla Loizou <t.loizou@cyi.ac.cy>
# License:: MIT/GPL
#
##
easyblock = 'CMakeMake'
name = 'PROJ'
version = '9.0.0'
homepage = 'https://proj.org'
description = """Program proj is a standard Unix filter function which converts
geographic longitude and latitude coordinates into cartesian coordinates"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}
source_urls = ['https://download.osgeo.org/proj/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['0620aa01b812de00b54d6c23e7c5cc843ae2cd129b24fabe411800302172b989']
builddependencies = [
('pkgconf', '1.8.0'),
('binutils', '2.38'),
('CMake', '3.23.1'),
('googletest', '1.11.0'),
]
dependencies = [
('SQLite', '3.38.3'),
('LibTIFF', '4.3.0'),
('cURL', '7.83.0'),
('XZ', '5.2.5'),
('nlohmann_json', '3.10.5'),
]
# build twice, once for static, once for shared libraries
configopts = ['', '-DBUILD_SHARED_LIBS=OFF']
sanity_check_paths = {
'files': ['bin/cct', 'bin/cs2cs', 'bin/geod', 'bin/gie', 'bin/proj', 'bin/projinfo',
'lib/libproj.a', 'lib/libproj.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'lib'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment