{% set name = "metis" %} {% set version = "5.1.0" %} package: name: {{ name|lower }} version: {{ version }} source: fn: {{ name }}-{{ version }}.tar.gz url: http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/{{ name }}-{{ version }}.tar.gz sha256: 76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2 patches: - vc14.patch # While Metis is a pure C library, it is built with cmake, which assumes C++ # by defaults and attempts to locate the C++ compiler. Hence the recipe has a # build dependency on {{ compiler('cxx') }}. The `ignore_run_exports` entry is # added so that the package does not depend on the C++ runtime due to the # dependency to the C++ compiler. # # Another fix to this would be to have metis' cmake specify `project(METIS C)` # instead of `project(METIS)`. build: number: 1006 binary_relocation: true ignore_run_exports: # Cf comment above - libstdcxx-ng # [linux] - libcxx # [osx] run_exports: - {{ pin_subpackage('metis', max_pin='x.x') }} requirements: build: - cmake - make - {{ compiler('c') }} - {{ compiler('cxx') }} # Cf comment above host: run: test: commands: - graphchk # [unix] - cmpfillin -h # [unix] - mpmetis -h # [unix] - gpmetis -h # [unix] - ndmetis -h # [unix] - gpmetis -h # [unix] - m2gmetis -h # [unix] - test -f $PREFIX/include/metis.h # [unix] - test -f $PREFIX/lib/libmetis.dylib # [osx] - test -f $PREFIX/lib/libmetis.so # [linux] - if not exist "%LIBRARY_LIB%\\metis.lib" exit 1 # [win] - if not exist "%LIBRARY_BIN%\\graphchk.exe" exit 1 # [win] - if not exist "%LIBRARY_BIN%\\cmpfillin.exe" exit 1 # [win] - if not exist "%LIBRARY_BIN%\\mpmetis.exe" exit 1 # [win] - if not exist "%LIBRARY_BIN%\\gpmetis.exe" exit 1 # [win] - if not exist "%LIBRARY_BIN%\\ndmetis.exe" exit 1 # [win] - if not exist "%LIBRARY_BIN%\\gpmetis.exe" exit 1 # [win] - if not exist "%LIBRARY_BIN%\\m2gmetis.exe" exit 1 # [win] - if not exist "%LIBRARY_INC%\\metis.h" exit 1 # [win] source_files: - graphs about: home: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview license: Apache-2.0 license_file: LICENSE.txt summary: 'METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering' description: | METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes developed in our lab. doc_url: http://glaros.dtc.umn.edu/gkhome/metis/metis/faq extra: recipe-maintainers: - basnijholt - SylvainCorlay