Skip to content
Snippets Groups Projects
Commit d047eb40 authored by Amir MOHAMMADI's avatar Amir MOHAMMADI
Browse files

Update the dependencies

parent 5af59fa2
No related branches found
No related tags found
1 merge request!84Update the dependencies
......@@ -10,6 +10,5 @@ ssl_verify: false
quiet: true
channels:
- https://www.idiap.ch/software/bob/conda/label/beta
- https://www.idiap.ch/software/bob/conda/label/stable
- https://www.idiap.ch/software/bob/conda
- defaults
......@@ -95,38 +95,25 @@ def which(env, program):
def get_rendered_recipe(args):
with tempfile.TemporaryDirectory(dir=args.recipe, suffix='.tmp') as d:
print('$ mkdir -p %s' % (d,))
# writes a temporary recipe without bob-devel
orig = os.path.join(args.recipe, 'meta.yaml')
contents = open(orig).read()
result = re.search(r'requirements:\s*\n.+host:\s*\n', contents, re.DOTALL)
contents = contents[:result.end()] + \
' - bob-devel {{ bob_devel }}.*\n' + \
contents[result.end():]
destfile = os.path.join(d, 'meta.yaml')
print('$ cp %s -> %s' % (orig, destfile))
print('$ edit %s # add bob-devel to host section' % (destfile,))
with open(destfile, 'wt') as f:
f.write(contents)
cmd = [
args.conda, 'render',
'--variant-config-files', args.config,
'--python', args.python, d
]
print(('$ CONDARC=%s ' % args.condarc) + ' '.join(cmd))
output = subprocess.check_output(cmd, env=args.env)
print('$ rm -rf %s' % (d,))
return yaml.load(output)
cmd = [
args.conda, 'render',
'--variant-config-files', args.config,
'--python', args.python, args.recipe
]
print(('$ CONDARC=%s ' % args.condarc) + ' '.join(cmd))
output = subprocess.check_output(cmd, env=args.env)
return yaml.load(output)
def remove_pins(deps):
return [l.split()[0] for l in deps]
def parse_dependencies(args):
recipe = get_rendered_recipe(args)
return recipe['requirements'].get('host', []) + \
recipe['requirements'].get('build', []) + \
return remove_pins(recipe['requirements'].get('build', [])) + \
remove_pins(recipe['requirements'].get('host', [])) + \
recipe['requirements'].get('run', []) + \
recipe.get('test', {}).get('requires', []) + \
['bob.buildout', 'mr.developer', 'ipdb'] # packages required for local dev
......@@ -148,8 +135,6 @@ def conda_create(args, packages):
specs = []
for k in packages:
k = ' '.join(k.split()[:2]) # remove eventual build string
if not k.startswith('bob'):
k = k.split()[0] # get whatever is compatible for those
if any(elem in k for elem in '><|'):
specs.append(k.replace(' ', ''))
else:
......@@ -168,7 +153,7 @@ def conda_create(args, packages):
raise RuntimeError('environment `%s\' exists in `%s\' - use '
'--overwrite to overwrite' % (args.name, envdir))
cmd = [args.conda, 'create', '--yes', '--name', args.name] + specs
cmd = [args.conda, 'create', '--yes', '--name', args.name] + sorted(specs)
print(('$ CONDARC=%s ' % args.condarc) + ' '.join(cmd))
status = subprocess.call(cmd, env=args.env)
......
......@@ -38,117 +38,100 @@ zip_keys:
- fortran_compiler_version # [win]
- python # [win]
# Here we list the **minimum** version of our dependencies that we support.
# We keep a list of **all of them** here to make sure everything goes as
# expected in our conda build process.
# Ideally we want to build and test against older versions of dependencies.
# Most of the pin numbers come from the anaconda package.
# Here is the version of dependencies are used when building packages (build
# and host requirements). We keep a list of **all of them** here to make sure
# everything goes as expected in our conda build process. For the version of
# packages that are used for testing packages, see the recipe of bob-devel.
# The version here do not necessarily match the versions in bob-devel.
# This version of bob-devel will be used at test time of packages:
bob_devel:
- 2018.04.04
- 2018.04.06
## The build time only dependencies.
## Updaing these to the latest version all the time is OK.
# The build time only dependencies (build requirements).
# Updating these to the latest version all the time is OK and a good idea.
# These versions should match the versions inside bob-devel as well (if they
# overlap) so update them in both places.
cmake:
- 3.9.4
coverage:
- 4.4.2
pkg_config:
- 0.29.2
cython:
- 0.28.1
## The dependencies that we link against
# The dependencies that we link against (host requirements).
# Ideally we want to build against the oldest possible version of packages when
# we are linking against them. It is best to keep this in sync with:
# https://github.com/AnacondaRecipes/aggregate/blob/master/conda_build_config.yaml
numpy:
- 1.13.3
hdf5:
- 1.10 # [not ppc64le]
freetype:
- 2.8
jpeg:
- 9b
libpng:
- 1.6.32
libtiff:
- 4.0.9
mkl:
- 2018.0.0
sqlite:
- 3.20.1
xz:
- 5.2.3
zlib:
- 1.2.11
# non-anaconda
- 1.9 # [unix]
- 1.11 # [win]
boost:
- 1.65.1
cyvlfeat:
- 0.4.6
ffmpeg:
- 3.4
fftw:
- 3.3.7
freetype:
- 2.8
giflib:
- 5.1.4
hdf5:
- 1.10
jpeg:
- 9b
libblitz:
- 1.0.1
libmatio:
- 1.5.11
libogg:
- 1.3.2
libpng:
- 1.6.32
libsvm:
- 3.22
libtiff:
- 4.0.9
mkl:
- 2018.0.0
openfst:
- 1.6.1
speexdsp:
- 1.2rc3
speex:
- 1.2.0
sox:
- 14.4.2
speex:
- 1.2.0
speexdsp:
- 1.2rc3
sqlite:
- 3.20.1
vlfeat:
- 0.9.21
xz:
- 5.2.3
zlib:
- 1.2.11
## The dependencies that are needed for runtime only
# anaconda
click:
- 6.7
curl:
- 7.55.1
cython:
- 0.26.1
matplotlib:
- 2.1.0
nose:
- 1.3.7
pillow:
- 4.2.1
scipy:
- 0.19
setuptools:
- 38.4.0
six:
- 1.11.0
sphinx:
- 1.6.3
sqlalchemy:
- 1.1.13
# non-anaconda
# The dependencies that are needed for runtime only (run requirements).
# These versions **should** match the versions inside bob-devel recipe.
caffe:
- 1.0
click:
- 6.7
click_plugins:
- 1.0.3
coverage:
- 4.5.1
dlib:
- 19.7
docopt:
- 0.6.2
ipdb:
- 0.10.2
jinja2:
- 2.10
kaldi:
- r7271.1a4dbf6
keras:
- 2.1.2
madmom:
- 0.15.1
matplotlib:
- 2.2.2
menpo:
- 0.8.1
menpofit:
......@@ -157,8 +140,12 @@ mne:
- 0.15.2
mr_developer:
- 1.38
nose:
- 1.3.7
opencv:
- 3.3.1
pillow:
- 4.3.0
pyedflib:
- 0.1.11
pyyaml:
......@@ -167,14 +154,22 @@ schema:
- 0.6.7
scikit_image:
- 0.13.1
scipy:
- 1.0.1
setuptools:
- 39.0.1
six:
- 1.11.0
sphinx:
- 1.7.2
sphinx_rtd_theme:
- 0.2.4
tensorflow:
- 1.4.1
sqlalchemy:
- 1.2.6
tabulate:
- 0.8.2
virtualenv:
- 15.1.0
tensorflow:
- 1.5.0
zc_buildout:
- 2.11.2
zc_recipe_egg:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment