-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmeta.yaml
101 lines (83 loc) · 3.15 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
package:
name: libdvid-cpp
{% if GIT_DESCRIBE_NUMBER|int == 0 %}
version: {{GIT_DESCRIBE_TAG}}
{% else %}
# If we're using a non-tagged revision, append '.postN' to the version
version: {{GIT_DESCRIBE_TAG}}.post{{GIT_DESCRIBE_NUMBER}}
{% endif %}
source:
path: ../
build:
number: 0
#
# You must build this recipe using 'conda build --python=X.Y --numpy=X.Y'
#
string: np{{CONDA_NPY}}py{{CONDA_PY}}_{{PKG_BUILDNUM}}_g{{GIT_FULL_HASH[:7]}}
script_env:
- SKIP_LIBDVID_TESTS
ignore_run_exports:
- libjpeg-turbo
requirements:
##
## A note about krb5:
## ------------------
## At the time of this writing, the newest version of krb5 is 1.16.2,
## but if I permit the 'build' environment to (implicitly) pull in that version,
## then something goes haywire and linker uses it when creating libdvid, despite the 'host'
## environment having an older version (due to the older 'curl').
##
## For the record, the error is:
## ImportError: /opt/conda/conda-bld/libdvid-cpp_1543299620664/_build_env/lib/./libcom_err.so.3: symbol k5_os_mutex_destroy, version krb5support_0_MIT not defined in file libkrb5support.so.0 with link time reference
##
## To avoid that, I'm explicitly pinning the version of krb5 here in 'build' and in 'host',
## but surely that will need to change at some point, once we eventually update 'curl'.
##
build:
- {{ compiler('cxx') }}
- make
- cmake >=3.21 # For FindPython3 with support for Python3_FIND_VIRTUALENV=ONLY and most recent boost variable names
#- curl 7.59.*
#- krb5 1.14.6 # See note above
host:
- python {{ python }}
- numpy {{ numpy }}
- libboost-devel {{ libboost_devel }}
- libboost-python-devel {{ libboost_python_devel }}
- jsoncpp {{ jsoncpp }}
- lz4-c {{ lz4_c }}
- zeromq {{ zeromq }}
- libdeflate
- libpng
- libjpeg-turbo 2 # Statically linked, so no runtime dependency below.
# In 7.62.0, CURL_HTTP_VERSION_2TLS became the default setting for CURLOPT_HTTP_VERSION
- curl >=7.62.0
# It seems we need to list zlib explicitly (for libpng?? for cmake??)
# even though our own implementation uses libdeflate instead.
- zlib
#- krb5 1.14.6 # See note above
{% if not SKIP_LIBDVID_TESTS is defined or SKIP_LIBDVID_TESTS == '0' %}
# These are necessary for 'make test', which is run within build.sh
- dvid
- requests
{% endif %}
run:
- python {{ python }}
# On Mac, libpng versions are not backwards compatible, unfortunately.
# See: https://github.com/conda-forge/libpng-feedstock/issues/10
# However, I think the libpng run_exports (added in conda-build v3)
# should handle this for us, so we won't specify the constraints here.
# - libpng
# In 7.62.0, CURL_HTTP_VERSION_2TLS became the default setting for CURLOPT_HTTP_VERSION
- curl >=7.62.0
#- krb5 1.14.6 # See note above
test:
requires:
- jpeg # We install libjpeg to ensure that we're not using it. See run_test.py
# Python imports
imports:
- libdvid
about:
home: http://github.com/janelia-flyem/libdvid-cpp
license: BSD (3-clause)
summary: C++ library for accessing DVID's REST API