Info2: << Package: eccodes Version: 2.34.1 # Recent versions require newer c++ than some still-supported OS X # have. So we use fink's g++ (and on all platforms for consistency), # since we are already using it for the fortran parts anyway. Revision: 2 Type: gcc (11) Description: Coding/encoding ECMWF files, C headers/docs Homepage: https://confluence.ecmwf.int/display/ECC/ecCodes+Home License: BSD Maintainer: None Source: https://confluence.ecmwf.int/download/attachments/45757960/eccodes-%v-Source.tar.gz Source-Checksum: SHA256(f9b8680122e3ccec26e6ed24a81f1bc50ed9f2232b431e05e573678aac4d9734) PatchFile: eccodes.patch PatchFile-MD5: 0c017d1c0a674139404d3d25fd853794 BuildDependsOnly: true BuildDepends: << cmake, gcc%type_pkg[gcc]-compiler, libjasper7, libjpeg9, libopenjp2.7 (>= 2.4.0-1), libpng16, netcdf-c19, fink-package-precedence << Depends: %N-shlibs Conflicts: grib-api Replaces: grib-api UseMaxBuildJobs: true DocFiles: AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS NOTICE README.md GCC: 4.0 CompileScript: << #!/bin/sh -ev mkdir -p build # Need -p in case TestSource was unpacked here first cd build cmake -Wno-dev \ -DCMAKE_VERBOSE_MAKEFILE=on \ -DCMAKE_C_FLAGS:STRING=-MD \ -DCMAKE_CXX_FLAGS:STRING=-MD \ -DCMAKE_INSTALL_PREFIX=%p \ -DCMAKE_PREFIX_PATH=%p \ -DCMAKE_INSTALL_NAME_DIR=%p/lib \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=%p/bin/g++-fsf-%type_pkg[gcc] \ -DCMAKE_Fortran_COMPILER=%p/bin/gfortran-fsf-%type_pkg[gcc] \ -DENABLE_FORTRAN=on \ -DENABLE_NETCDF=on \ -DENABLE_AEC=off \ -DENABLE_PNG=on \ -DENABLE_PYTHON=off \ -DOPENJPEG_INCLUDE_DIR=%p/include/openjpeg-2.4 \ -DOPENJPEG_LIBRARY=%p/lib/libopenjp2.7.dylib \ -DZLIB_INCLUDE_DIR=`xcrun --sdk macosx --show-sdk-path`/usr/include \ -DCMAKE_MACOSX_RPATH=off \ -DCMAKE_OSX_DEPLOYMENT_TARGET= \ -DCMAKE_OSX_SYSROOT:string=`xcrun --sdk macosx --show-sdk-path` \ .. make cd .. fink-package-precedence --depfile-ext='\.d' . << InfoTest: << TestSource: https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz TestSource-Checksum: SHA256(43696e9acd98cbd60114c1da964cf258f1a157671268743d582b26c1f1ca9bfb) TestSourceExtractDir: %n-%v-Source/build TestSuiteSize: large SetLDFLAGS: -headerpad_max_install_names TestScript: << #!/bin/sh -ev cd build # In order to run with the binaries and libraries in the build directory, # change the install name and the PATH, since DYLD_LIBRARY_PATH does not work since 10.13 for lib in libeccodes.0.dylib libeccodes_f90.0.dylib; do install_name_tool -id %b/build/lib/$lib %b/build/lib/$lib done lib=libeccodes.0.dylib for bin in lib/libeccodes_f90.0.dylib bin/* tests/* examples/C/* examples/F90/*; do (file $bin | grep -q Mach-O) && install_name_tool -change %p/lib/$lib %b/build/lib/$lib $bin done lib=libeccodes_f90.0.dylib for bin in examples/F90/*; do (file $bin | grep -q Mach-O) && install_name_tool -change %p/lib/$lib %b/build/lib/$lib $bin done # Run tests ctest || exit 2 # Change things back, as far as libraries and executables that are installed are concerned for lib in libeccodes.0.dylib libeccodes_f90.0.dylib; do install_name_tool -id %p/lib/$lib %b/build/lib/$lib done lib=libeccodes.0.dylib for bin in lib/libeccodes_f90.0.dylib bin/*; do (file $bin | grep -q Mach-O) && install_name_tool -change %b/build/lib/$lib %p/lib/$lib $bin done << << InstallScript: << #!/bin/sh -ev cd build cmake -DCMAKE_INSTALL_PREFIX=%i -P cmake_install.cmake # remove build-dir details from installed files perl -ni -e 'print unless m{%b}' %i/include/eccodes_ecbuild_config.h << SplitOff: << Package: %N-shlibs Depends: << gcc%type_pkg[gcc]-shlibs, libjasper7-shlibs, libjpeg9-shlibs, libopenjp2.7-shlibs (>= 2.4.0-1), libpng16-shlibs, netcdf-c19-shlibs << Suggests: %N-bin Files: lib/libeccodes.0.dylib share/eccodes DocFiles: AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS NOTICE README.md Description: Coding/decoding ECMWF files, C library Shlibs: << %p/lib/libeccodes.0.dylib 0.0.0 %n (>= 2.4.1-1) << << SplitOff2: << Package: %N-bin Depends: << %N-shlibs (>= %v-%r), gcc%type_pkg[gcc]-shlibs, netcdf-c19-shlibs << Files: bin DocFiles: AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS NOTICE README.md Description: Coding/decoding ECMWF files, user programs Conflicts: grib-api-bin Replaces: grib-api-bin << SplitOff3: << Package: %N-fortran Depends: %N-fortran-shlibs (>= %v-%r) Conflicts: grib-api-fortran Replaces: grib-api-fortran BuildDependsOnly: true Files: include/eccodes.mod include/grib_api.mod lib/pkgconfig/eccodes_f90.pc lib/libeccodes_f90.dylib DocFiles: AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS NOTICE README.md Description: Coding/decoding ECMWF files, Fortran headers << SplitOff4: << Package: %N-fortran-shlibs Depends: << %N-shlibs (>= %v-%r), gcc%type_pkg[gcc]-shlibs << Files: lib/libeccodes_f90.0.dylib DocFiles: AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS NOTICE README.md Description: Coding/decoding ECMWF files, Fortran library Shlibs: << %p/lib/libeccodes_f90.0.dylib 0.0.0 %n (>= 2.4.1-1) << << DescDetail: << ecCodes is a package developed by ECMWF which provides an application programming interface and a set of tools for decoding and encoding messages in the following formats: - WMO FM-92 GRIB edition 1 and edition 2 - WMO FM-94 BUFR edition 3 and edition 4 - WMO GTS abbreviated header (only decoding). A useful set of command line tools provide quick access to the messages. C, Fortran 90 and Python interfaces provide access to the main ecCodes functionality. ecCodes is an evolution of GRIB-API. It is designed to provide the user with a simple set of functions to access data from several formats with a key/value approach. For GRIB encoding and decoding, the GRIB-API functionality is provided fully in ecCodes with only minor interface and behaviour changes. Interfaces for C, Fortran 90 and Python are all maintained as in GRIB-API. However, the GRIB-API Fortran 77 interface is no longer available. << DescPackaging: << For the time being, did not include Python interface. Split off Fortran interface to avoid that users of the C library would need to install gcc?-shlib as well. While the CMake system normally searches for HDF5, no HDF5 headers or function calls are used anywhere in the code, hence a patch was introduced to no longer search for HDF5. Ignore the notice that the optional HDF5 package was not found. The packages eccodes and eccodes-fortran clash with their grib-api counterparts because they share common header files that ought to make the move to the eccodes library transparent to grib-api users. The package eccodes-bin replaces all binaries from grib-api-bin. << <<