forked from cctbx/dxtbx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dependencies.yaml
92 lines (88 loc) · 3.17 KB
/
dependencies.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
# # Conda dependencies for dxtbx on all platforms.
#
# This file is interpreted by bootstrap. it uses a HIGHLY limited subset of
# yaml and conda-build selector preprocessing. As such, the file itself is not
# YAML without at minimum preprocessing, and may need full conda-build
# templating to be parseable as yaml directly.
#
# ## Splitting Dependencies
#
# Dependencies are now split here into the categories of build, host, run, as
# per https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#requirements-section
#
# Briefly,
# - `build` is for build and development tools
# - `host` is complicated, but can broadly be considered "build-time"
# dependencies that are expected to be present on the targeted platform.
# Please see above conda-build documentation for details, but if you are
# unsure where a dependency goes, it's probably safest to put it here.
# - `run` are dependencies not used at build-time, but are required for
# running. Most pure-python packages go here.
# - `test` are dependencies only used to run tests.
#
# ## Filtering dependencies by platform and target
#
# Before use (by bootstrap OR conda), this file is passed through a
# preprocessor. This handles all lines of the form `#[expr]`, and each
# line is filtered out on a line-by-line basis if the expression
# evaluates to false.
#
# Only the last `# [expression]` is stripped and evaluated, which allows
# passing further selection expressions through for onward processing.
#
# Expression values supported:
# - Platform e.g. `osx`, `win` or `linux`
# - `bootstrap`: Whether we are targeting bootstrap.py. This allows us
# to have advanced conda-build syntax (e.g. jinja templates) while
# ignoring these when generating the bootstrap dependency list.
# - `prebuilt_cctbx`: Whether we are building cctbx. This is true for
# bootstrap with CMake and for conda-build builds.
# - Compound expressions with `and` e.g. `osx and bootstrap`. This will
# work with `not`-expressions, but nothing more complex.
#
build:
- cmake # [prebuilt_cctbx]
- ninja # [prebuilt_cctbx]
- python # [build_platform != target_platform] # [not bootstrap]
- cross-python_{{ target_platform }} # [build_platform != target_platform] # [not bootstrap]
- numpy # [build_platform != target_platform] # [not bootstrap]
- pybind11 # [build_platform != target_platform] # [not bootstrap]
- {{ compiler('cxx') }} # [not bootstrap]
- {{ stdlib('c') }} # [not bootstrap]
- cxx-compiler # [bootstrap]
- hatchling
host:
- cctbx-base # [prebuilt_cctbx and bootstrap]
- cctbx-base >=2024 # [not bootstrap]
- hdf5
- libboost-devel
- libboost-python-devel
- numpy >=1.21.5,<2 #[bootstrap]
- numpy # [not bootstrap]
- pip
- pybind11
- python
run:
- {{ pin_compatible('cctbx-base') }} # [not bootstrap]
- {{ pin_compatible('hdf5') }} # [not bootstrap]
- h5py >=3.1.0
- hdf5plugin
- matplotlib-base >=3.0.2
- mrcfile
- natsort
- {{ pin_compatible('numpy') }} # [not bootstrap]
- nxmx >=0.0.4
- orderedset
- pint
- pycbf # [prebuilt_cctbx]
- python
- python-dateutil >=2.7.0
- scipy
- tqdm
test:
- dials-data
- pip
- pytest
- pytest-mock
- pytest-nunit # [win]
- pytest-xdist