Compare commits
14 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
89b392c3f7 | ||
|
|
96505a78ad | ||
|
|
d9c099ee71 | ||
|
|
cdfb8e01cc | ||
|
|
b12b53ab4b | ||
|
|
8f1bff3caf | ||
|
|
dc5f405a24 | ||
|
|
e37933b64a | ||
|
|
a9b3d7b5ad | ||
|
|
9c3a270a4f | ||
|
|
9d279afcae | ||
|
|
82b0b3cbf1 | ||
|
|
da55441954 | ||
|
|
1b35c600b0 |
10 changed files with 334 additions and 187 deletions
15
.gitignore
vendored
15
.gitignore
vendored
|
|
@ -1,11 +1,4 @@
|
|||
/eccodes_test_data.tar.gz
|
||||
/eccodes_test_data_20181010.tar.gz
|
||||
/eccodes-2.12.0-Source.tar.gz
|
||||
/eccodes-2.12.5-Source.tar.gz
|
||||
/eccodes-2.13.0-Source.tar.gz
|
||||
/eccodes-2.14.1-Source.tar.gz
|
||||
/eccodes-2.15.0-Source.tar.gz
|
||||
/eccodes-2.16.0-Source.tar.gz
|
||||
/eccodes-2.17.0-Source.tar.gz
|
||||
/eccodes-2.18.0-Source.tar.gz
|
||||
/eccodes_test_data_20200626.tar.gz
|
||||
/eccodes-2.33.0-Source.tar.gz
|
||||
/eccodes_test_data_20231216.tar.gz
|
||||
/eccodes-2.36.0-Source.tar.gz
|
||||
/eccodes_test_data_20240217.tar.gz
|
||||
|
|
|
|||
15
README.md
15
README.md
|
|
@ -12,3 +12,18 @@ messages in the following formats:
|
|||
|
||||
For further details see:
|
||||
https://confluence.ecmwf.int/display/ECC/What+is+ecCodes
|
||||
|
||||
Note for end users:
|
||||
epel policy is to keep software versions stable for a given epel version
|
||||
unless there is a strong reason why an update is needed
|
||||
(for example security issues or malfunction).
|
||||
|
||||
Since eccodes depends on a large collection of table definitions
|
||||
that are included in the package, after some time these tables
|
||||
(holding the WMO file format definitions for GRIB and BUFR files,
|
||||
which are updated every 6 months) will become outdated, and new files
|
||||
using these formats can not be used.
|
||||
|
||||
If this is a problem for you, please raise the issue in bugzilla.
|
||||
Since this is a malfunction from user perspective this is a
|
||||
reason to update the package.
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
--- eccodes-2.18.0-Source.unchanged/src/grib_api_prototypes.h 2020-06-24 11:11:27.000000000 +0200
|
||||
+++ eccodes-2.18.0-Source/src/grib_api_prototypes.h 2020-06-27 09:23:17.543758993 +0200
|
||||
@@ -860,8 +860,8 @@ double grib_ieeefloat_error(double x);
|
||||
double grib_long_to_ieee(unsigned long x);
|
||||
int grib_nearest_smaller_ieee_float(double a, double* x);
|
||||
unsigned long grib_ieee_to_long(double x);
|
||||
-unsigned long grib_ieee64_to_long(double x);
|
||||
-double grib_long_to_ieee64(unsigned long x);
|
||||
+uint64_t grib_ieee64_to_long(double x);
|
||||
+double grib_long_to_ieee64(uint64_t x);
|
||||
int grib_ieee_decode_array(grib_context* c, unsigned char* buf, size_t nvals, int bytes, double* val);
|
||||
int grib_ieee_decode_array(grib_context* c, unsigned char* buf, size_t nvals, int bytes, double* val);
|
||||
int grib_ieee_encode_array(grib_context* c, double* val, size_t nvals, int bytes, unsigned char* buf);
|
||||
--- eccodes-2.18.0-Source.unchanged/src/grib_ieeefloat.c 2020-06-24 11:11:27.000000000 +0200
|
||||
+++ eccodes-2.18.0-Source/src/grib_ieeefloat.c 2020-06-27 09:23:17.545758944 +0200
|
||||
@@ -443,14 +443,14 @@ unsigned long grib_ieee_to_long(double x
|
||||
* grib_encode_unsigned_long.
|
||||
*/
|
||||
|
||||
-unsigned long grib_ieee64_to_long(double x)
|
||||
+uint64_t grib_ieee64_to_long(double x)
|
||||
{
|
||||
unsigned long lval;
|
||||
memcpy(&lval, &x, 8);
|
||||
return lval;
|
||||
}
|
||||
|
||||
-double grib_long_to_ieee64(unsigned long x)
|
||||
+double grib_long_to_ieee64(uint64_t x)
|
||||
{
|
||||
double dval;
|
||||
memcpy(&dval, &x, 8);
|
||||
|
|
@ -1,23 +1,23 @@
|
|||
--- eccodes-2.18.0-Source.unchanged/fortran/CMakeLists.txt 2020-06-24 11:11:27.000000000 +0200
|
||||
+++ eccodes-2.18.0-Source/fortran/CMakeLists.txt 2020-06-27 09:23:33.020376062 +0200
|
||||
@@ -45,7 +45,9 @@ if( HAVE_FORTRAN )
|
||||
ecbuild_add_library( TARGET eccodes_f90
|
||||
SOURCES grib_fortran.c grib_f90.f90 eccodes_f90.f90 grib_kinds.h
|
||||
GENERATED grib_f90.f90 eccodes_f90.f90
|
||||
- LIBS eccodes )
|
||||
+ LIBS eccodes
|
||||
+ SOVERSION ${ECCODES_SOVERSION_F90})
|
||||
+
|
||||
--- eccodes-2.35.0-Source.unchanged/fortran/CMakeLists.txt 2024-04-11 12:13:21.000000000 +0200
|
||||
+++ eccodes-2.35.0-Source/fortran/CMakeLists.txt 2024-05-04 16:18:42.732436699 +0200
|
||||
@@ -46,7 +46,8 @@ if( HAVE_FORTRAN )
|
||||
GENERATED grib_f90.f90 eccodes_f90.f90
|
||||
PUBLIC_INCLUDES $<BUILD_INTERFACE:${CMAKE_Fortran_MODULE_DIRECTORY}>
|
||||
$<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>
|
||||
- PRIVATE_LIBS eccodes ${ECCODES_PTHREADS_LIBRARIES} )
|
||||
+ PRIVATE_LIBS eccodes ${ECCODES_PTHREADS_LIBRARIES}
|
||||
+ SOVERSION ${ECCODES_SOVERSION_F90})
|
||||
|
||||
if( DEFINED ecbuild_VERSION AND NOT ${ecbuild_VERSION} VERSION_LESS 3.1 )
|
||||
# Installed module directory is not in the PUBLIC INCLUDES!
|
||||
target_include_directories( eccodes_f90 PUBLIC $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}> )
|
||||
--- eccodes-2.18.0-Source.unchanged/src/CMakeLists.txt 2020-06-24 11:11:27.000000000 +0200
|
||||
+++ eccodes-2.18.0-Source/src/CMakeLists.txt 2020-06-27 09:27:13.845630950 +0200
|
||||
@@ -442,6 +442,7 @@ ecbuild_add_library( TARGET eccodes
|
||||
GENERATED grib_api_version.c
|
||||
LIBS ${ECCODES_EXTRA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${CMATH_LIBRARIES}
|
||||
TEMPLATES ${grib_api_extra_srcs}
|
||||
+ SOVERSION ${ECCODES_SOVERSION}
|
||||
--- eccodes-2.35.0-Source.unchanged/src/CMakeLists.txt 2024-04-11 12:13:21.000000000 +0200
|
||||
+++ eccodes-2.35.0-Source/src/CMakeLists.txt 2024-05-04 16:18:42.733436675 +0200
|
||||
@@ -416,6 +416,8 @@ ecbuild_add_library( TARGET eccodes
|
||||
PRIVATE_LIBS ${ECCODES_EXTRA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${AEC_LIBRARIES} ${PNG_LIBRARIES}
|
||||
PUBLIC_LIBS ${CMATH_LIBRARIES} ${THREADS_LIBRARIES}
|
||||
TEMPLATES ${eccodes_extra_src_files}
|
||||
+ SOVERSION ${ECCODES_SOVERSION}
|
||||
+
|
||||
INSTALL_HEADERS_LIST
|
||||
grib_api.h
|
||||
eccodes.h
|
||||
|
|
|
|||
15
eccodes-test-grib_to_netcdf.patch
Normal file
15
eccodes-test-grib_to_netcdf.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
--- eccodes-2.23.0-Source.unchanged/tests/grib_to_netcdf.sh 2021-08-25 11:35:41.000000000 +0200
|
||||
+++ eccodes-2.23.0-Source/tests/grib_to_netcdf.sh 2021-09-02 10:31:33.417295119 +0200
|
||||
@@ -64,8 +64,10 @@ if [ $ECCODES_ON_WINDOWS -eq 0 ]; then
|
||||
set -e
|
||||
if [ $stat -eq 0 ]; then
|
||||
have_netcdf4=1
|
||||
- res=`${tools_dir}/grib_get -TA -p identifier,versionNumberOfSuperblock $tempNetcdf`
|
||||
- [ "$res" = "HDF5 0" ]
|
||||
+# res=`${tools_dir}/grib_get -TA -p identifier,versionNumberOfSuperblock $tempNetcdf`
|
||||
+# [ "$res" = "HDF5 0" ]
|
||||
+ res=`${tools_dir}/grib_get -TA -p identifier $tempNetcdf`
|
||||
+ [ "$res" = "HDF5" ]
|
||||
fi
|
||||
fi
|
||||
|
||||
47
eccodes-thread-init-fix.patch
Normal file
47
eccodes-thread-init-fix.patch
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
--- eccodes-2.36.0-Source.unchanged/src/accessor/grib_accessor_class_bufr_elements_table.cc 2024-06-24 12:52:58.000000000 +0200
|
||||
+++ eccodes-2.36.0-Source/src/accessor/grib_accessor_class_bufr_elements_table.cc 2024-07-23 19:38:30.211681092 +0200
|
||||
@@ -1,4 +1,3 @@
|
||||
-
|
||||
/*
|
||||
* (C) Copyright 2005- ECMWF.
|
||||
*
|
||||
@@ -28,7 +27,7 @@ static void thread_init()
|
||||
static int once = 0;
|
||||
static omp_nest_lock_t mutex1;
|
||||
|
||||
-void thread_init()
|
||||
+static void thread_init()
|
||||
{
|
||||
GRIB_OMP_CRITICAL(lock_grib_accessor_class_bufr_elements_table_c)
|
||||
{
|
||||
--- eccodes-2.36.0-Source.unchanged/src/accessor/grib_accessor_class_codetable.cc 2024-06-24 12:52:58.000000000 +0200
|
||||
+++ eccodes-2.36.0-Source/src/accessor/grib_accessor_class_codetable.cc 2024-07-23 19:38:30.248680436 +0200
|
||||
@@ -20,7 +20,7 @@ grib_accessor_class* grib_accessor_class
|
||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
-void thread_init()
|
||||
+static void thread_init()
|
||||
{
|
||||
pthread_mutexattr_t attr;
|
||||
pthread_mutexattr_init(&attr);
|
||||
@@ -32,7 +32,7 @@ void thread_init()
|
||||
static int once = 0;
|
||||
static omp_nest_lock_t mutex1;
|
||||
|
||||
-void thread_init()
|
||||
+static void thread_init()
|
||||
{
|
||||
GRIB_OMP_CRITICAL(lock_grib_accessor_class_codetable_c)
|
||||
{
|
||||
--- eccodes-2.36.0-Source.unchanged/src/accessor/grib_accessor_class_smart_table.cc 2024-06-24 12:52:58.000000000 +0200
|
||||
+++ eccodes-2.36.0-Source/src/accessor/grib_accessor_class_smart_table.cc 2024-07-23 19:38:30.248680436 +0200
|
||||
@@ -30,7 +30,7 @@ static void thread_init()
|
||||
static int once = 0;
|
||||
static omp_nest_lock_t mutex;
|
||||
|
||||
-void thread_init()
|
||||
+static void thread_init()
|
||||
{
|
||||
GRIB_OMP_CRITICAL(lock_grib_accessor_class_smart_table_c)
|
||||
{
|
||||
|
|
@ -1,56 +1,13 @@
|
|||
# use like this:
|
||||
# rpmlint --file eccodes.rpmlintrc *.rpm
|
||||
# example: addFilter ("^foo-.*regex-match-for-rpmlint-warning")
|
||||
|
||||
# these are invalid spelling warnings. GRIB and BUFR are correct, since these are
|
||||
# the names of the data files that this software handles.
|
||||
# the description itself is a 1-to-1 copy of what the (UK-based) upstream
|
||||
# writes, and I am not going to translate this to US spelling ...
|
||||
addFilter ("W: spelling-error %description -l en_US behaviour -> behavior")
|
||||
addFilter ("W: spelling-error %description -l en_US grib ->")
|
||||
addFilter ("W: spelling-error %description -l en_US bufr ->")
|
||||
# Disable warning on duplicate files.
|
||||
# This package uses a huge number (1990 cases at the time of wrinting)
|
||||
# duplicates in the tables definitions, and patching this is totally
|
||||
# out of scope for my limited time.
|
||||
addFilter(r" W: files-duplicate ")
|
||||
addFilter(r" E: files-duplicated-waste ")
|
||||
|
||||
# this data file with wrong line ending has been added to the software on purpose
|
||||
# for testing purposes, so this is no mistake
|
||||
addFilter ("eccodes-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/eccodes/examples/python/flight_data.csv")
|
||||
# Disable warnings on missing man pages.
|
||||
# The tools that have --help output have been fixed by using help2man.
|
||||
# The remaining ones have no help output whatsoever and are not easy to fix.
|
||||
addFilter(r" W: no-manual-page-for-binary ")
|
||||
|
||||
# these data files are no scripts. The dataformat just has an unfortunate first line
|
||||
# starting with #! so it resembles a shebang line.
|
||||
# see also comment #3 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950
|
||||
addFilter ("^eccodes-data.noarch: E: wrong-script-interpreter /usr/share/eccodes/definitions/grib1/local.82.0.def")
|
||||
addFilter ("^eccodes-data.noarch: E: non-executable-script /usr/share/eccodes/definitions/grib1/local.82.0.def")
|
||||
addFilter ("^eccodes-data.noarch: E: wrong-script-interpreter /usr/share/eccodes/definitions/grib1/local.82.83.def")
|
||||
addFilter ("^eccodes-data.noarch: E: non-executable-script /usr/share/eccodes/definitions/grib1/local.82.83.def")
|
||||
|
||||
# this is a false error (its an rpmlint bug).
|
||||
# the spec file now uses %ldconfig_scriptlets in stead of the old ldconfig-postin/postun
|
||||
# see also comment #18 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950
|
||||
addFilter ("^eccodes.x86_64: E: library-without-ldconfig-postin /usr/lib64/libeccodes.so.0.1")
|
||||
addFilter ("^eccodes.x86_64: E: library-without-ldconfig-postun /usr/lib64/libeccodes.so.0.1")
|
||||
addFilter ("^eccodes.x86_64: E: library-without-ldconfig-postin /usr/lib64/libeccodes_f90.so.0.1")
|
||||
addFilter ("^eccodes.x86_64: E: library-without-ldconfig-postun /usr/lib64/libeccodes_f90.so.0.1")
|
||||
|
||||
# this is an rpmlint bug
|
||||
# see also comment #8 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950
|
||||
addFilter ("eccodes-debuginfo.x86_64: E: useless-provides debuginfo\(build-id\)")
|
||||
|
||||
# there is no full compatibility between the old grib_api and the new eccodes
|
||||
# so only obsoletes can be used bu no provides.
|
||||
# see also comment #21 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950
|
||||
addFilter ("^eccodes.x86_64: W: obsolete-not-provided grib_api")
|
||||
addFilter ("^eccodes-devel.x86_64: W: obsolete-not-provided grib_api-devel")
|
||||
addFilter ("^eccodes-devel.x86_64: W: only-non-binary-in-usr-lib")
|
||||
|
||||
# documentation is in a dedicated doc subpackage,
|
||||
# so these warnings have no merit
|
||||
addFilter ("python2-eccodes.x86_64: W: no-documentation")
|
||||
addFilter ("eccodes-debugsource.x86_64: W: no-documentation")
|
||||
addFilter ("eccodes-devel.x86_64: W: no-documentation")
|
||||
addFilter ("eccodes-data.noarch: W: no-documentation")
|
||||
|
||||
# temporary disable the man page warning, since it obscures other problems that
|
||||
# may be more important, and it has already been reported upstream
|
||||
# see also comment #3 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950
|
||||
addFilter ("eccodes.x86_64: W: no-manual-page-for-binary")
|
||||
|
||||
# addFilter ("")
|
||||
|
|
|
|||
256
eccodes.spec
256
eccodes.spec
|
|
@ -1,56 +1,74 @@
|
|||
%if 0%{?el8}
|
||||
%undefine __cmake_in_source_build
|
||||
%endif
|
||||
|
||||
Name: eccodes
|
||||
Version: 2.18.0
|
||||
Release: 2%{?dist}
|
||||
Version: 2.36.0
|
||||
Release: 1%{?dist}
|
||||
Summary: WMO data format decoding and encoding
|
||||
|
||||
# force the shared libraries to have these so versions
|
||||
%global so_version 0.1
|
||||
%global so_version_f90 0.1
|
||||
%global datapack_date 20200626
|
||||
|
||||
# latest fedora-32 grib_api version is 1.27.0-7
|
||||
# note that the test_data package provided on the ECMWF version
|
||||
# is unversioned, so use the download date to discriminate
|
||||
# between different versions.
|
||||
%global datapack_date 20240217
|
||||
|
||||
# latest fedora-38/rawhide grib_api version is 1.27.0-18
|
||||
# but this version number is to be updated as soon as we know
|
||||
# what the final release of grib_api by upstream will be.
|
||||
# latest upstream grib_api release is 1.28.0 (05-Dec-2018)
|
||||
# see https://confluence.ecmwf.int/display/GRIB/Home
|
||||
# as was written on https://confluence.ecmwf.int/display/GRIB/Home
|
||||
# (Note that this page is no longer available, 17-Oct-2020)
|
||||
%global final_grib_api_version 1.28.1-1%{?dist}
|
||||
|
||||
%ifarch i686 ppc64 s390x armv7hl
|
||||
%ifarch i686 ppc64 armv7hl
|
||||
%global obsolete_grib_api 0
|
||||
%else
|
||||
%global obsolete_grib_api 1
|
||||
%endif
|
||||
|
||||
# license remarks:
|
||||
# Most of eccodes is licensed ASL 2.0 but a special case must be noted.
|
||||
# Most of eccodes is licensed ASL 2.0 (which is identical to the SPDX
|
||||
# identifier Apache-2.0) but a special case must be noted.
|
||||
# These 2 files:
|
||||
# src/grib_yacc.c
|
||||
# src/grib_yacc.h
|
||||
# contain a special exception clause that allows them to be
|
||||
# relicensed if they are included in a larger project
|
||||
|
||||
License: ASL 2.0
|
||||
License: Apache-2.0
|
||||
|
||||
URL: https://confluence.ecmwf.int/display/ECC/ecCodes+Home
|
||||
Source0: https://confluence.ecmwf.int/download/attachments/45757960/eccodes-%{version}-Source.tar.gz
|
||||
|
||||
URL: https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home
|
||||
Source0: https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-%{version}-Source.tar.gz
|
||||
# note: this data package is unversioned upstream but still it is updated
|
||||
# now and then so rename the datapack using the download date
|
||||
# to make it versioned in fedora
|
||||
Source1: http://download.ecmwf.org/test-data/eccodes/eccodes_test_data.tar.gz#/eccodes_test_data_%{datapack_date}.tar.gz
|
||||
# Support 32-bit
|
||||
# https://software.ecmwf.int/issues/browse/SUP-1813
|
||||
# (unfortunately this issue is not public)
|
||||
Patch1: eccodes-32bit.patch
|
||||
Source1: https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz#/eccodes_test_data_%{datapack_date}.tar.gz
|
||||
|
||||
# a custom script to create man pages
|
||||
Source2: eccodes_create_man_pages.sh
|
||||
|
||||
# Add soversion to the shared libraries, since upstream refuses to do so
|
||||
# https://software.ecmwf.int/issues/browse/SUP-1809
|
||||
Patch2: eccodes-soversion.patch
|
||||
# https://jira.ecmwf.int/browse/SUP-1809
|
||||
Patch1: eccodes-soversion.patch
|
||||
|
||||
# Add a patch to solve the multiple definition of thread_init()
|
||||
# that was introduced in eccodes v2.36.0
|
||||
# This patch was provided upstream on 22-Jul-2024, see this github commit:
|
||||
# https://github.com/ecmwf/eccodes/commit/809fb997282dd97058862261b1a36647f919f3b2
|
||||
Patch2: eccodes-thread-init-fix.patch
|
||||
|
||||
|
||||
# note that the requests to make the other issues public are filed here:
|
||||
# https://software.ecmwf.int/issues/browse/SUP-2073
|
||||
# https://jira.ecmwf.int/browse/SUP-2073
|
||||
# (and again, unfortunately this issue is not public)
|
||||
|
||||
BuildRequires: cmake3
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-gfortran
|
||||
BuildRequires: /usr/bin/git
|
||||
BuildRequires: jasper-devel
|
||||
|
|
@ -58,14 +76,18 @@ BuildRequires: libjpeg-devel
|
|||
BuildRequires: libpng-devel
|
||||
BuildRequires: netcdf-devel
|
||||
BuildRequires: openjpeg2-devel
|
||||
BuildRequires: libaec-devel
|
||||
|
||||
# For tests
|
||||
BuildRequires: perl(Getopt::Long)
|
||||
BuildRequires: perl(Test::More)
|
||||
BuildRequires: perl(File::Compare)
|
||||
|
||||
# the data is needed by the library and all tools provided in the main package
|
||||
# the other way around, the data package could be installed without
|
||||
# For creation of man pages
|
||||
BuildRequires: help2man
|
||||
|
||||
# The data is needed by the library and all tools provided in the main package.
|
||||
# The other way around, the data package could be installed without
|
||||
# installing the base package. It will probably be pretty useless,
|
||||
# unless a user wishes to read and study all these grib and bufr
|
||||
# file format definitions.
|
||||
|
|
@ -94,10 +116,6 @@ Obsoletes: grib_api < %{final_grib_api_version}
|
|||
|
||||
# as explained in bugzilla #1562066
|
||||
ExcludeArch: i686
|
||||
# as explained in bugzilla #1562076
|
||||
ExcludeArch: s390x
|
||||
# as explained in bugzilla #1562084
|
||||
ExcludeArch: armv7hl
|
||||
|
||||
%description
|
||||
ecCodes is a package developed by ECMWF which provides an application
|
||||
|
|
@ -176,24 +194,15 @@ in C, and Fortran 90.
|
|||
%autosetup -n %{name}-%{version}-Source -p1
|
||||
|
||||
# unpack the test data below build
|
||||
mkdir build
|
||||
cd build
|
||||
mkdir -p %{_vpath_builddir}
|
||||
pushd %{_vpath_builddir}
|
||||
tar xf %SOURCE1
|
||||
|
||||
# remove executable permissions from c files
|
||||
cd ..
|
||||
chmod 644 tigge/*.c
|
||||
chmod 644 tools/*.c
|
||||
|
||||
# remove executable permissions from the authors and license file
|
||||
chmod 644 AUTHORS LICENSE
|
||||
popd
|
||||
|
||||
%build
|
||||
cd build
|
||||
|
||||
#-- The following features are disabled by default and not switched on:
|
||||
#
|
||||
# * AEC , support for Adaptive Entropy Coding
|
||||
# * MEMFS , Memory based access to definitions/samples
|
||||
# * MEMORY_MANAGEMENT , enable memory management
|
||||
# * ALIGN_MEMORY , enable memory alignment
|
||||
|
|
@ -213,25 +222,16 @@ cd build
|
|||
# * ENABLE_NETCDF
|
||||
# NetCDF is only needed to create the grib_to_netcdf convert tool
|
||||
#
|
||||
# * ENABLE_PYTHON has value AUTO as default, so if python2 is available
|
||||
# during a package build it will build an interface for it.
|
||||
# To make sure it does not do so, explicitely switch it off.
|
||||
# Python3 support has been moved to an additional project now,
|
||||
# so python handling has been removed completely from this spec file.
|
||||
#
|
||||
#-- Also add an explicit option to not use rpath
|
||||
#
|
||||
# Note: -DINSTALL_LIB_DIR=%%{_lib} is needed because otherwise
|
||||
# the library so files get installed in /usr/lib in stead
|
||||
# of /usr/lib64 on x86_64.
|
||||
|
||||
# Build with -fallow-argument-mismatch for gcc 10 compatibility
|
||||
# otherwise the fortran interface fails to compile
|
||||
# (thanks for the hint Orion)
|
||||
# Reported upstream at https://jira.ecmwf.int/browse/SUP-3081
|
||||
# note that setting FCFLAGS is not sufficient, i.e. this doesn't work:
|
||||
# export FCFLAGS="%%{build_fflags} -fallow-argument-mismatch"
|
||||
# defining the -DCMAKE_Fortran_FLAGS for camke is required to let it compile.
|
||||
# added -DCMAKE_Fortran_FLAGS="-fPIC"
|
||||
# because the koji build crashes with the error that it needs this setting
|
||||
# when I try to build for armv7hl (other archs do not complain ......)
|
||||
# I have no idea what causes this difference in behaviour.
|
||||
|
||||
%cmake3 -DINSTALL_LIB_DIR=%{_lib} \
|
||||
-DENABLE_ECCODES_OMP_THREADS=ON \
|
||||
|
|
@ -243,20 +243,20 @@ cd build
|
|||
-DCMAKE_SKIP_INSTALL_RPATH=TRUE \
|
||||
-DECCODES_SOVERSION=%{so_version} \
|
||||
-DECCODES_SOVERSION_F90=%{so_version_f90} \
|
||||
-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch" \
|
||||
-DENABLE_PYTHON=OFF \
|
||||
..
|
||||
-DCMAKE_Fortran_FLAGS="-fPIC"
|
||||
|
||||
%make_build
|
||||
# note the final '..' is no longer needed to the cmake3 call.
|
||||
# this is now hidden in the %%cmake3 macro
|
||||
|
||||
%cmake_build
|
||||
|
||||
# copy some include files to the build dir
|
||||
# that are otherwise not found when creating the debugsource subpackage
|
||||
cd ..
|
||||
cp fortran/eccodes_constants.h build/fortran/
|
||||
cp fortran/grib_api_constants.h build/fortran/
|
||||
# that are otherwise not found when creating the debugsource sub-package
|
||||
cp fortran/eccodes_constants.h %{_vpath_builddir}/fortran/
|
||||
cp fortran/grib_api_constants.h %{_vpath_builddir}/fortran/
|
||||
|
||||
%install
|
||||
%make_install -C build
|
||||
%cmake_install
|
||||
mkdir -p %{buildroot}%{_fmoddir}
|
||||
mv %{buildroot}%{_includedir}/*.mod %{buildroot}%{_fmoddir}/
|
||||
|
||||
|
|
@ -269,8 +269,6 @@ rm %{buildroot}%{_datadir}/%{name}/definitions/installDefinitions.sh
|
|||
# copy the html documentation to the install directory
|
||||
mkdir -p %{buildroot}%{_datadir}/doc/%{name}/
|
||||
cp -r html %{buildroot}%{_datadir}/doc/%{name}/
|
||||
# and remove an unneeded Makefile from the html directory
|
||||
rm %{buildroot}%{_datadir}/doc/%{name}/html/Makefile.am
|
||||
|
||||
# copy the example scripts/programs to the install directory
|
||||
# but dont copy the shell scripts and Makefiles, since these
|
||||
|
|
@ -284,6 +282,21 @@ cp examples/C/*.c %{buildroot}%{_datadir}/doc/%{name}/examples/C
|
|||
mkdir -p %{buildroot}%{_datadir}/doc/%{name}/examples/F90
|
||||
cp examples/F90/*.f90 %{buildroot}%{_datadir}/doc/%{name}/examples/F90
|
||||
|
||||
# create man pages for the tools that support the --help option
|
||||
# since upstream does not provide them.
|
||||
# Source2 points to the script eccodes_create_man_pages.sh
|
||||
# used to generate the man pages.
|
||||
LD_LIBRARY_PATH=%{buildroot}/%{_libdir} \
|
||||
%{SOURCE2} %{_vpath_builddir}/bin \
|
||||
%{_vpath_builddir}/man
|
||||
|
||||
# copy the created man pages to the install directory
|
||||
mkdir -p %{buildroot}%{_datadir}/man/man1
|
||||
cp %{_vpath_builddir}/man/*.1 %{buildroot}%{_datadir}/man/man1
|
||||
|
||||
# Fix permissions
|
||||
chmod 644 AUTHORS LICENSE
|
||||
|
||||
# also not needed for x86_64
|
||||
# maybe they fixed it for all archs?
|
||||
#%%ifarch i686 armv7hl
|
||||
|
|
@ -307,7 +320,7 @@ sed -i 's|^libs=.*$|libs=-L${libdir} -leccodes_f90 -leccodes|g' %{buildroot}/%{_
|
|||
%ldconfig_scriptlets
|
||||
|
||||
%check
|
||||
cd build
|
||||
cd %{_vpath_builddir}
|
||||
|
||||
# notes:
|
||||
# * the LD_LIBRARY_PATH setting is required to let the tests
|
||||
|
|
@ -317,6 +330,8 @@ cd build
|
|||
# 'eccodes_t_bufr_dump_(de|en)code_C' tests run.
|
||||
# These tests compile on the fly generated C code, and
|
||||
# without this setting the loader does not find the libraries.
|
||||
# * this is a 'non-standard' use of ctest3 so it does currently not
|
||||
# work with the %%ctest macro.
|
||||
|
||||
LD_LIBRARY_PATH=%{buildroot}/%{_libdir} \
|
||||
LIBRARY_PATH=%{buildroot}/%{_libdir} \
|
||||
|
|
@ -327,6 +342,7 @@ ctest3 -V %{?_smp_mflags}
|
|||
%doc README.md ChangeLog AUTHORS NEWS NOTICE
|
||||
%{_bindir}/*
|
||||
%{_libdir}/*.so.*
|
||||
%{_mandir}/man1/*.1*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/*
|
||||
|
|
@ -348,6 +364,120 @@ ctest3 -V %{?_smp_mflags}
|
|||
%doc %{_datadir}/doc/%{name}/
|
||||
|
||||
%changelog
|
||||
* Sun Sep 01 2024 Jos de Kloe <josdekloe@gmail.com> - 2.36.0-1
|
||||
- Update to 2.36.0
|
||||
|
||||
* Sun Dec 17 2023 Orion Poplawski <orion@nwra.com> - 2.33.0-1
|
||||
- Update to 2.33.0
|
||||
|
||||
* Sun Nov 26 2023 Jos de Kloe <josdekloe@gmail.com> - 2.32.1-2
|
||||
- rebuild after so name jump of libjasper
|
||||
|
||||
* Thu Nov 02 2023 Jos de Kloe <josdekloe@gmail.com> - 2.32.1-1
|
||||
- Upgrade to upstream version 2.32.1 and add updated test_data package
|
||||
|
||||
* Thu Jul 27 2023 Jos de Kloe <josdekloe@gmail.com> - 2.31.0-1
|
||||
- Upgrade to upstream version 2.31.0
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.30.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sun Apr 16 2023 Jos de Kloe <josdekloe@gmail.com> - 2.30.0-1
|
||||
- Upgrade to upstream version 2.30.0
|
||||
|
||||
* Sun Mar 26 2023 Jos de Kloe <josdekloe@gmail.com> - 2.29.0-1
|
||||
- Upgrade to upstream version 2.29.0
|
||||
Note that the source code now uses g++ in stead of gcc for compilation.
|
||||
|
||||
* Sun Feb 12 2023 Jos de Kloe <josdekloe@gmail.com> - 2.28.0-1
|
||||
- Upgrade to upstream version 2.28.0
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.27.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Dec 10 2022 Jos de Kloe <josdekloe@gmail.com> - 2.27.1-1
|
||||
- Upgrade to upstream version 2.27.1 and SPDX migration
|
||||
|
||||
* Wed Sep 14 2022 Jos de Kloe <josdekloe@gmail.com> - 2.27.0-2
|
||||
- fix problem with use of _sourcedir
|
||||
|
||||
* Mon Aug 29 2022 Jos de Kloe <josdekloe@gmail.com> - 2.27.0-1
|
||||
- Upgrade to upstream version 2.27.0
|
||||
- Added generation of man pages for tools that support the --help option
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.26.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Thu May 26 2022 Jos de Kloe <josdekloe@gmail.com> - 2.26.0-1
|
||||
- Upgrade to upstream version 2.26.0
|
||||
|
||||
* Fri May 20 2022 Sandro Mani <manisandro@gmail.com> - 2.25.0-2
|
||||
- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0
|
||||
|
||||
* Sun Mar 06 2022 Jos de Kloe <josdekloe@gmail.com> - 2.25.0-1
|
||||
- Upgrade to upstream version 2.25.0
|
||||
- Add new BR libaec-devel
|
||||
|
||||
* Mon Feb 14 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.24.0-4
|
||||
- jasper3: use wrapper entry point for jpeg2000 decoder
|
||||
|
||||
* Sun Feb 13 2022 Josef Ridky <jridky@redhat.com> - 2.24.0-3
|
||||
- Rebuilt for libjasper.so.6
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Dec 09 2021 Jos de Kloe <josdekloe@gmail.com> - 2.24.0-1
|
||||
- Upgrade to upstream version 2.24.0
|
||||
- Remove no longer needed patch2 (grib_to_netcdf test fix)
|
||||
|
||||
* Wed Dec 1 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.23.0-2
|
||||
- Patch grib_api_internal.h for big endian test suite issue (upstream bug SUP-2410)
|
||||
|
||||
* Thu Sep 02 2021 Jos de Kloe <josdekloe@gmail.com> - 2.23.0-1
|
||||
- Upgrade to upstream version 2.23.0
|
||||
|
||||
* Wed Aug 11 2021 Orion Poplawski <orion@nwra.com> - 2.22.1-4
|
||||
- Rebuild for netcdf 4.8.0
|
||||
|
||||
* Tue Aug 10 2021 Orion Poplawski <orion@nwra.com> - 2.22.1-3
|
||||
- Rebuild for netcdf 4.8.0
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.22.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Sat Jun 19 2021 Jos de Kloe <josdekloe@gmail.com> - 2.22.1-1
|
||||
- Upgrade to upstream version 2.22.1
|
||||
|
||||
* Mon May 24 2021 Jos de Kloe <josdekloe@gmail.com> - 2.22.0-1
|
||||
- Upgrade to upstream version 2.22.0
|
||||
|
||||
* Sun Mar 28 2021 Jos de Kloe <josdekloe@gmail.com> - 2.21.0-1
|
||||
- Upgrade to upstream version 2.21.0
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.20.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sat Jan 23 2021 Jos de Kloe <josdekloe@gmail.com> - 2.20.0-1
|
||||
- Upgrade to upstream version 2.20.0
|
||||
|
||||
* Fri Nov 13 2020 Jos de Kloe <josdekloe@gmail.com> - 2.19.1-1
|
||||
- Upgrade to upstream version 2.19.1
|
||||
|
||||
* Sat Oct 17 2020 Jos de Kloe <josdekloe@gmail.com> - 2.19.0-1
|
||||
- Upgrade to upstream version 2.19.0 and remove patch 1
|
||||
- Add -fpic to the fortran flags (needed for compiling on armv7hl)
|
||||
|
||||
* Wed Aug 05 2020 Jos de Kloe <josdekloe@gmail.com> - 2.18.0-5
|
||||
- Adapt the spec file to use the new style cmake macros
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.0-4
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sat Jun 27 2020 Jos de Kloe <josdekloe@gmail.com> - 2.18.0-2
|
||||
- Rebuild after fixing mistake in ExcludeArch statements
|
||||
|
||||
|
|
@ -439,7 +569,7 @@ ctest3 -V %{?_smp_mflags}
|
|||
- Implement so version because upstream refuses to do so
|
||||
- Add fix for test failure 184 and ldconfig_scriptlets
|
||||
and move unversioned so file to devel package
|
||||
as suggested by Robert-André Mauchin
|
||||
as suggested by Robert-Andre Mauchin
|
||||
- Add a documentation and a data sub-package
|
||||
- Change the license and add a note explaining why this was done
|
||||
|
||||
|
|
|
|||
28
eccodes_create_man_pages.sh
Executable file
28
eccodes_create_man_pages.sh
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/sh
|
||||
|
||||
# a simple script to create man pages for tools
|
||||
# provided in the bin dir after installation of eccodes.
|
||||
#
|
||||
# Written by: J. de Kloe, 2022.
|
||||
|
||||
BINDIR=$1
|
||||
DESTDIR=$2
|
||||
|
||||
if [ ! -e "$DESTDIR" ] ; then
|
||||
mkdir -p "$DESTDIR"
|
||||
fi
|
||||
|
||||
for TOOL in "$BINDIR"/*
|
||||
do
|
||||
BASENAME=$(basename "$TOOL")
|
||||
help2man --no-info --output="${DESTDIR}/${BASENAME}.1" "${TOOL}"
|
||||
done
|
||||
|
||||
# currently (29-Aug-2022) help2man fails on these 5 tools:
|
||||
# help2man: can't get `--help' info from ../bin/bufr_count
|
||||
# help2man: can't get `--help' info from ../bin/codes_count
|
||||
# help2man: can't get `--help' info from ../bin/grib2ppm
|
||||
# help2man: can't get `--help' info from ../bin/grib_count
|
||||
# help2man: can't get `--help' info from ../bin/gts_count
|
||||
|
||||
echo "done"
|
||||
14
sources
14
sources
|
|
@ -1,10 +1,4 @@
|
|||
SHA512 (eccodes_test_data_20181010.tar.gz) = 24c24ec9e01d230cf542abe5c131f05b8e627dd9d170c666628bb5fd8f7b1a6aa11a35456b8d742c59f54c6aabac78658efd68b0c50779d466aba3d35b4a0231
|
||||
SHA512 (eccodes-2.12.0-Source.tar.gz) = 3dc876bde2a6c81a43bcc64ecb12969f28eae3cfbc8fed7da7797fc722dc8b446ac7be5178f55b7d395653e0718437b842296a7d4d11b372b8692404c76aa4ad
|
||||
SHA512 (eccodes-2.12.5-Source.tar.gz) = ab1267dffdb3d0dbcdd65f23db2d77bc7bd8f3241083374c75bc62ebf70b7d29d8af9f657d6da05a47e363151c8d995adfadca7bbf95ebb24a27303d80f081a4
|
||||
SHA512 (eccodes-2.13.0-Source.tar.gz) = bbde1b7092caad20772b21cd06040938f99e763f77a6622820e3cc2fba5c0765178822be4b3c33b41a927757da85f311c0c4f057500ca58d257dde304e7eeca3
|
||||
SHA512 (eccodes-2.14.1-Source.tar.gz) = 864b530642884baa0c3c56eee646a61af7d659e711c7ed4d08a5cc2d68812ecb96b8efabf40c4c9d5dcb3a0edeb1caddffea2ec3438571d3e90dc9cca1dabebe
|
||||
SHA512 (eccodes-2.15.0-Source.tar.gz) = 1d906c5889773b4b6c5e9a967c2e20afb4ecc3ce8f4d496ad7b89417eec8783da9a0c8a9c14796f0c9c24b1f156b9d65408bb9a02a5e0c988a45478350aeae65
|
||||
SHA512 (eccodes-2.16.0-Source.tar.gz) = 6e8768824152d8782c1457cfe79daed32114d1b4694d2843bd02a8aa63c42ccc435b53f7db6942239b3e56999fbaaba4ecef345d39fc5c5f7a5d20ceecf4422a
|
||||
SHA512 (eccodes-2.17.0-Source.tar.gz) = 362c6ae23c23326a3a969c6ba109bdf96ba449cba899030a69efb03e53870f6c90e3f6dbf9d0d2f94febf3a661e607390e8b16d58e64066c4fa941af554ebee7
|
||||
SHA512 (eccodes-2.18.0-Source.tar.gz) = 8daf7f2e1aed055ca6402881f5473e4ae90ba24cc779005f57f99adc7468da459c7539e64f455e2122dd83df29992fd7a6dad2700c8331c4083226e091fbb629
|
||||
SHA512 (eccodes_test_data_20200626.tar.gz) = 553eb69f3664c2f847c5ee7a84066e814ef03b3148ae2c13d845891038336daca815673650f1d06efee4f4a1ddaa4326f2ddfbe81d29382e3f25608b249b8d9e
|
||||
SHA512 (eccodes-2.33.0-Source.tar.gz) = 4afc2a9e59da54093eb318a1447904faac7371df980a57ce21e04ef98d1d7e02f10ef363a497d29f086b1f17a86ba4e46bf14898cd227eae8bbe0297c62b4183
|
||||
SHA512 (eccodes_test_data_20231216.tar.gz) = 86767a308841849c7ece006e9f6c68123dc07d8640b038e25529b91ab495d3f10ad5356e9100ef238de6756c67917be13a676f4ab0708fb381021c746e00183e
|
||||
SHA512 (eccodes-2.36.0-Source.tar.gz) = c18df75593af6461dfa64d717ec5a6af9492bc5a851b87f13ca759343abfbf21ec6e3e5978654f95641e86429b9b105bceb9414f8d925275d2a1b305441905d0
|
||||
SHA512 (eccodes_test_data_20240217.tar.gz) = c495a71f18ea01aa480b0920fbfce8d370574d412c95eb04823d0d4544fed0e2dba8e98d63e2be0a3c33a127840e7262d391373fab9304a773e9764457ade5a7
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue