diff --git a/.gitignore b/.gitignore index fab925f..5a45cb1 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /eccodes-2.17.0-Source.tar.gz /eccodes-2.18.0-Source.tar.gz /eccodes_test_data_20200626.tar.gz +/eccodes-2.19.0-Source.tar.gz diff --git a/eccodes-32bit.patch b/eccodes-32bit.patch index f019811..8bf6d79 100644 --- a/eccodes-32bit.patch +++ b/eccodes-32bit.patch @@ -1,6 +1,6 @@ ---- 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); +--- eccodes-2.19.0-Source.unchanged/src/grib_api_prototypes.h 2020-10-15 13:21:34.000000000 +0200 ++++ eccodes-2.19.0-Source/src/grib_api_prototypes.h 2020-10-16 08:52:25.171175169 +0200 +@@ -859,8 +859,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); @@ -11,17 +11,18 @@ 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 +--- eccodes-2.19.0-Source.unchanged/src/grib_ieeefloat.c 2020-10-15 13:21:34.000000000 +0200 ++++ eccodes-2.19.0-Source/src/grib_ieeefloat.c 2020-10-16 09:01:37.712934707 +0200 +@@ -442,7 +442,7 @@ unsigned long grib_ieee_to_long(double x + * Byte swapping is actually implemented in grib_decode_unsigned_long and * 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); + DebugAssert(sizeof(double) == sizeof(long)); +@@ -450,7 +450,7 @@ unsigned long grib_ieee64_to_long(double return lval; } @@ -29,4 +30,4 @@ +double grib_long_to_ieee64(uint64_t x) { double dval; - memcpy(&dval, &x, 8); + DebugAssert(sizeof(double) == sizeof(long)); diff --git a/eccodes-soversion.patch b/eccodes-soversion.patch index defa647..cad10e0 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.19.0-Source.unchanged/fortran/CMakeLists.txt 2020-10-15 13:21:34.000000000 +0200 ++++ eccodes-2.19.0-Source/fortran/CMakeLists.txt 2020-10-16 09:07:21.570272038 +0200 +@@ -49,7 +49,8 @@ if( HAVE_FORTRAN ) + GENERATED grib_f90.f90 eccodes_f90.f90 + PUBLIC_INCLUDES $ + $ +- PRIVATE_LIBS eccodes ) ++ PRIVATE_LIBS eccodes ++ 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.19.0-Source.unchanged/src/CMakeLists.txt 2020-10-15 13:21:34.000000000 +0200 ++++ eccodes-2.19.0-Source/src/CMakeLists.txt 2020-10-16 08:52:43.447698207 +0200 +@@ -445,6 +445,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.spec b/eccodes.spec index dda1272..c53654a 100644 --- a/eccodes.spec +++ b/eccodes.spec @@ -1,6 +1,6 @@ Name: eccodes -Version: 2.18.0 -Release: 5%{?dist} +Version: 2.19.0 +Release: 1%{?dist} Summary: WMO data format decoding and encoding # force the shared libraries to have these so versions @@ -37,13 +37,10 @@ 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 # note that the requests to make the other issues public are filed here: # https://software.ecmwf.int/issues/browse/SUP-2073 @@ -93,11 +90,11 @@ Obsoletes: grib_api < %{final_grib_api_version} %endif # as explained in bugzilla #1562066 -ExcludeArch: i686 +#ExcludeArch: i686 # as explained in bugzilla #1562076 -ExcludeArch: s390x +#ExcludeArch: s390x # as explained in bugzilla #1562084 -ExcludeArch: armv7hl +#ExcludeArch: armv7hl %description ecCodes is a package developed by ECMWF which provides an application @@ -350,6 +347,9 @@ ctest3 -V %{?_smp_mflags} %doc %{_datadir}/doc/%{name}/ %changelog +* Fri Oct 16 2020 Jos de Kloe - 2.19.0-1 +- Upgrade to upstream version 2.19.0 and remove patch 1 + * Wed Aug 05 2020 Jos de Kloe - 2.18.0-5 - Adapt the spec file to use the new style cmake macros diff --git a/sources b/sources index e19b3ab..6a0df4e 100644 --- a/sources +++ b/sources @@ -8,3 +8,4 @@ SHA512 (eccodes-2.16.0-Source.tar.gz) = 6e8768824152d8782c1457cfe79daed32114d1b4 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.19.0-Source.tar.gz) = d2e63b4c478444f9f06c7322e5b61f54641c997262043864308ede07de1808ec2ee2a63c2ed8afb4e4339cf0cf93949778174b6aa3ce0859878d63fc4b9dbf83