-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmeta.yaml
117 lines (110 loc) · 3.3 KB
/
meta.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{% set version = "7.2.1" %}
package:
name: heyoka
version: {{ version }}
source:
url: https://github.com/bluescarni/heyoka/archive/v{{ version }}.tar.gz
sha256: b2a61cbe3892e92626bf0746e2da50a9e33800ebeb6452f97adeb9a6d1b74e28
build:
number: 1
ignore_run_exports_from:
# NOTE: on most platforms, except
# PPC64, we are forcing static linking
# to LLVM in a desperate attempt to hide
# LLVM symbols so that heyoka can coexist
# (maybe) with other libraries linking to
# different LLVM versions. On the other hand,
# the conda packages for llvm/llvmdev inject
# (on some platforms at least) a run_export()
# dependency under the assumption
# that dynamic linking is being used. We want to
# avoid that, as the whole point is to hide
# the presence of LLVM as much as possible.
- llvmdev # [not ppc64le]
- llvm # [not ppc64le]
requirements:
build:
- {{ compiler('c') }}
- {{ stdlib('c') }}
- {{ compiler('cxx') }}
- cmake >=3.18.0
- ninja # [unix]
- make # [unix]
outputs:
- name: heyoka
requirements:
host:
- llvmdev
- llvm
- libboost-devel
# NOTE: this one is needed only
# on some platforms and LLVM versions.
# Just leave it everywhere even if
# it will result in some overlinking.
- zstd
- fmt
- spdlog
- tbb-devel
- sleef
- gmp
- mpfr
- xtensor # [not osx]
- xtensor-blas # [not osx]
- blas # [not osx]
- blas-devel # [not osx]
- mppp
- zlib # [not ppc64le]
build:
run_exports:
# SO name changes at minor rev bumps.
- {{ pin_subpackage('heyoka', max_pin='x.x') }}
files:
- lib/libheyoka*{{ SHLIB_EXT }} # [not win]
- lib/libheyoka.so.* # [linux]
- lib/libheyoka.*.dylib # [osx]
- Library/bin/heyoka.dll # [win]
- include/heyoka # [not win]
- lib/cmake/heyoka # [not win]
- Library/include/heyoka # [win]
- Library/lib/heyoka.lib # [win]
- Library/lib/cmake/heyoka # [win]
test:
commands:
- test -f $PREFIX/include/heyoka/heyoka.hpp # [unix]
- if not exist %PREFIX%\\Library\\include\\heyoka\\heyoka.hpp exit 1 # [win]
- name: heyoka-llvm-{{ llvmdev }}
requirements:
host:
- llvmdev
- llvm
- libboost-devel
- zstd
- fmt
- spdlog
- tbb-devel
- sleef
- gmp
- mpfr
- xtensor # [not osx]
- xtensor-blas # [not osx]
- blas # [not osx]
- blas-devel # [not osx]
- mppp
- zlib # [not ppc64le]
- {{ pin_subpackage('heyoka', exact=True) }}
run:
- {{ pin_subpackage('heyoka', exact=True) }}
build:
run_exports:
- {{ pin_subpackage('heyoka', exact=True) }}
test:
commands:
- test true # [unix]
about:
home: https://bluescarni.github.io/heyoka/
license: MPL-2.0
license_file: COPYING
summary: A C++ library for ODE integration via Taylor's method, based on LLVM
extra:
recipe-maintainers:
- bluescarni