pantry/projects/unidata.ucar.edu/netcdf/package.yml
Andrew aaa455a539
netcdf fix (#3515)
* ...

* compiler for test
2023-10-03 12:53:22 -04:00

76 lines
2.2 KiB
YAML

distributable:
url: https://github.com/Unidata/netcdf-c/archive/v{{version}}.tar.gz
strip-components: 1
versions:
github: Unidata/netcdf-c
dependencies:
hdfgroup.org/HDF5: '*'
sourceware.org/bzip2: '*'
curl.se: '*'
gnome.org/libxml2: '*'
zlib.net: '*'
build:
dependencies:
gnu.org/make: '*'
cmake.org: '*'
gnu.org/m4: '*'
linux:
gnu.org/gcc: '*'
script:
- run: |
cmake -S . -B build_shared $ARGS -DBUILD_SHARED_LIBS=ON
cmake --build build_shared
cmake --install build_shared
- run: |
cmake -S . -B build_static $ARGS -DBUILD_SHARED_LIBS=OFF
cmake --build build_static
cmake --install build_static
- install build_static/liblib/libnetcdf.a {{prefix}}/lib/
- run: |
sed -E -i.bak \
-e "s:{{pkgx.prefix}}:\$\{_IMPORT_PREFIX\}/../../..:g" \
-e '/^ INTERFACE_INCLUDE_DIRECTORIES/ s|/v([0-9]+)(\.[0-9]+)*[a-z]?/include|/v\1/include|g' \
-e '/^ INTERFACE_LINK_LIBRARIES/ s|/v([0-9]+)(\.[0-9]+)*[a-z]?/lib|/v\1/lib|g' \
*.cmake
rm *.cmake.bak
working-directory: ${{prefix}}/lib/cmake/netCDF
- run: |
sed -i.bak \
-e "s|$PKGX_DIR|\${PKGX_DIR}|g" \
bin/nc-config \
lib/cmake/netCDF/netCDFConfig.cmake \
lib/libnetcdf.settings
rm bin/nc-config.bak lib/cmake/netCDF/netCDFConfig.cmake.bak lib/libnetcdf.settings.bak
working-directory: ${{prefix}}
- run: |
sed -i.bak "s|$PKGX_DIR|\${pcfiledir}/../../..|g" netcdf.pc
rm netcdf.pc.bak
working-directory: ${{prefix}}/lib/pkgconfig
env:
ARGS:
- -DENABLE_TESTS=OFF
- -DENABLE_NETCDF_4=ON
- -DENABLE_DOXYGEN=OFF
- -DCMAKE_INSTALL_PREFIX={{prefix}}
- -DCMAKE_INSTALL_LIBDIR=lib
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_FIND_FRAMEWORK=LAST
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -Wno-dev
- -DBUILD_TESTING=OFF
linux:
ARGS:
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
provides:
- bin/nc-config
- bin/nccopy
- bin/ncdump
- bin/ncgen
- bin/ncgen3
test:
dependencies:
gnu.org/gcc: '*'
script:
- gcc test.c -lnetcdf -o test
- ./test | grep {{version}}
- nc-config --version | grep {{version}}