diff --git a/.gitignore b/.gitignore index 29f4bf6..cb5cc65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -/eccodes-2.18.0-Source.tar.gz /eccodes_test_data_20200626.tar.gz +/eccodes-2.23.0-Source.tar.gz diff --git a/eccodes-32bit.patch b/eccodes-32bit.patch deleted file mode 100644 index f019811..0000000 --- a/eccodes-32bit.patch +++ /dev/null @@ -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); diff --git a/eccodes-soversion.patch b/eccodes-soversion.patch index defa647..78e9b89 100644 --- a/eccodes-soversion.patch +++ b/eccodes-soversion.patch @@ -1,21 +1,20 @@ ---- 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.23.0-Source.unchanged/fortran/CMakeLists.txt 2021-08-25 11:35:41.000000000 +0200 ++++ eccodes-2.23.0-Source/fortran/CMakeLists.txt 2021-09-01 08:40:58.089840900 +0200 +@@ -49,7 +49,8 @@ if( HAVE_FORTRAN ) + GENERATED grib_f90.f90 eccodes_f90.f90 + PUBLIC_INCLUDES $ + $ +- 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 $ ) ---- 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} +--- eccodes-2.23.0-Source.unchanged/src/CMakeLists.txt 2021-08-25 11:35:41.000000000 +0200 ++++ eccodes-2.23.0-Source/src/CMakeLists.txt 2021-09-01 08:31:13.559364510 +0200 +@@ -444,6 +444,7 @@ 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 ${grib_api_extra_srcs} + SOVERSION ${ECCODES_SOVERSION} INSTALL_HEADERS_LIST diff --git a/eccodes-test-grib_to_netcdf.patch b/eccodes-test-grib_to_netcdf.patch new file mode 100644 index 0000000..eff2a26 --- /dev/null +++ b/eccodes-test-grib_to_netcdf.patch @@ -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 + diff --git a/eccodes.spec b/eccodes.spec index a959afb..dce4f59 100644 --- a/eccodes.spec +++ b/eccodes.spec @@ -1,5 +1,5 @@ Name: eccodes -Version: 2.18.0 +Version: 2.23.0 Release: 1%{?dist} Summary: WMO data format decoding and encoding @@ -8,11 +8,12 @@ Summary: WMO data format decoding and encoding %global so_version_f90 0.1 %global datapack_date 20200626 -# latest fedora-32 grib_api version is 1.27.0-7 +# latest fedora-35 grib_api version is 1.27.0-12 # 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 @@ -37,13 +38,15 @@ Source0: https://software.ecmwf.int/wiki/download/attachments/45757960/ec # 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 + # Add soversion to the shared libraries, since upstream refuses to do so # https://software.ecmwf.int/issues/browse/SUP-1809 -Patch2: eccodes-soversion.patch +Patch1: eccodes-soversion.patch + +# Disable versionNumberOfSuperblock checking, since the test expects 0 but +# on Fedora rawhide the code returns a value of 2. +# Issue reported upstream as: https://jira.ecmwf.int/browse/SUP-3497 +Patch2: eccodes-test-grib_to_netcdf.patch # note that the requests to make the other issues public are filed here: # https://software.ecmwf.int/issues/browse/SUP-2073 @@ -244,7 +247,8 @@ cd build -DCMAKE_SKIP_INSTALL_RPATH=TRUE \ -DECCODES_SOVERSION=%{so_version} \ -DECCODES_SOVERSION_F90=%{so_version_f90} \ - -DENABLE_PYTHON=OFF \ + -DCMAKE_Fortran_FLAGS="-fPIC" \ + -DENABLE_PYTHON2=OFF \ .. %make_build @@ -317,6 +321,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} \ @@ -348,6 +354,9 @@ ctest3 -V %{?_smp_mflags} %doc %{_datadir}/doc/%{name}/ %changelog +* Mon Oct 11 2021 Jos de Kloe - 2.23.0-1 +- Upgrade to upstream version 2.23.0 + * Sat Jun 27 2020 Jos de Kloe - 2.18.0-1 - Upgrade to upstream version 2.18.0 @@ -397,7 +406,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 diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 66ea79d..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = epel8 epel8-playground \ No newline at end of file diff --git a/sources b/sources index 4062163..30a5938 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (eccodes-2.18.0-Source.tar.gz) = 8daf7f2e1aed055ca6402881f5473e4ae90ba24cc779005f57f99adc7468da459c7539e64f455e2122dd83df29992fd7a6dad2700c8331c4083226e091fbb629 SHA512 (eccodes_test_data_20200626.tar.gz) = 553eb69f3664c2f847c5ee7a84066e814ef03b3148ae2c13d845891038336daca815673650f1d06efee4f4a1ddaa4326f2ddfbe81d29382e3f25608b249b8d9e +SHA512 (eccodes-2.23.0-Source.tar.gz) = df8e9f25396d91ae0adb1b1502cdb6c1473d80caf79ce3fe9318ecc63194fd1c7dc7424fccf44aabf8c06ea343d59093bb21e75f6e5466f21ce44cb514e07350