diff --git a/bob/devtools/data/conda_build_config.yaml b/bob/devtools/data/conda_build_config.yaml
index 95f969bc21c128602ccd54aecc1391ab6e1f7afb..55436e8e28a2c555a21454560ef385f0072ea04f 100644
--- a/bob/devtools/data/conda_build_config.yaml
+++ b/bob/devtools/data/conda_build_config.yaml
@@ -1,70 +1,283 @@
+# This differs from target_platform in that it determines what subdir the compiler
+#    will target, not what subdir the compiler package will be itself.
+#    For example, we need a win-64 vs2008_win-32 package, so that we compile win-32
+#    code on win-64 miniconda.
+cross_compiler_target_platform:  # [win]
+  - win-64                     # [win]
 c_compiler:
+  - gcc                        # [linux]
   - clang                      # [osx]
+  - vs2017                     # [win]
+c_compiler_version:            # [unix]
+  - 11                         # [osx]
+  - 9                          # [linux]
 cxx_compiler:
+  - gxx                        # [linux]
   - clangxx                    # [osx]
-fortran_compiler_version:
-# matrix on linux, because the ABI breaks at GCC 8
-  - 7.3.0                      # [linux]
-  - 8.2.0                      # [linux]
+  - vs2017                     # [win]
+cxx_compiler_version:          # [unix]
+  - 11                         # [osx]
+  - 9                          # [linux]
+llvm_openmp:                   # [osx]
+  - 11                         # [osx]
+fortran_compiler:              # [unix or win64]
+  - gfortran                   # [linux64 or (osx and x86_64)]
+  - gfortran                   # [aarch64 or ppc64le or armv7l or s390x]
+  - flang                      # [win64]
+fortran_compiler_version:      # [unix or win64]
+  - 11                         # [osx and arm64]
+  - 9                          # [osx and x86_64]
+  - 9                          # [linux]
+  - 5                          # [win64]
+m2w64_c_compiler:              # [win]
+  - m2w64-toolchain            # [win]
+m2w64_cxx_compiler:            # [win]
+  - m2w64-toolchain            # [win]
+m2w64_fortran_compiler:        # [win]
+  - m2w64-toolchain            # [win]
+CMAKE_GENERATOR:               # [win]
+  - NMake Makefiles            # [win]
+
+cuda_compiler:                 # [linux64]
+  - nvcc                       # [linux64]
+cuda_compiler_version:
+  - None
+  - 10.2                       # [linux64]
+cudnn:
+  - undefined
+  - 7                          # [linux64]
+
+_libgcc_mutex:
+  - 0.1 conda_forge
+#
+# Go Compiler Options
+#
+
+# The basic go-compiler with CGO disabled,
+# It generates fat binaries without libc dependencies
+# The activation scripts will set your CC,CXX and related flags
+# to invalid values.
+go_compiler:
+  - go-nocgo
+# The go compiler build with CGO enabled.
+# It can generate fat binaries that depend on conda's libc.
+# You should use this compiler if the underlying
+# program needs to link against other C libraries, in which
+# case make sure to add  'c,cpp,fortran_compiler' for unix
+# and the m2w64 equivalent for windows.
+cgo_compiler:
+  - go-cgo
+# The following are helpful variables to simplify go meta.yaml files.
+target_goos:
+  - linux                      # [linux]
+  - darwin                     # [osx]
+  - windows                    # [win]
+target_goarch:
+  - amd64                      # [x86_64]
+target_goexe:
+  -                            # [unix]
+  - .exe                       # [win]
+target_gobin:
+  - '${PREFIX}/bin/'           # [unix]
+  - '%PREFIX%\bin\'            # [win]
+
+# Rust Compiler Options
 rust_compiler:
   - rust
 rust_compiler_version:
   - 1.40.0
 
-c_compiler_version:        # [linux or osx]
-  - 7.3.0                  # [linux]
-  - 10                     # [osx]
-cxx_compiler_version:      # [linux or osx]
-  - 7.3.0                  # [linux]
-  - 10                     # [osx]
-clang_variant:
-  - clang
-
-macos_min_version:
-  - 10.9
-macos_machine:
-  - x86_64-apple-darwin13.4.0
-MACOSX_DEPLOYMENT_TARGET:
-  - 10.9
-CONDA_BUILD_SYSROOT:            # [osx]
-  - /opt/MacOSX10.10.sdk        # [osx]
-# This helps CMAKE find the sysroot. See
-# https://cmake.org/cmake/help/v3.11/variable/CMAKE_OSX_SYSROOT.html
-SDKROOT:                        # [osx]
-  - /opt/MacOSX10.10.sdk        # [osx]
-# makes autotools verbose
+macos_machine:                 # [osx]
+  - x86_64-apple-darwin13.4.0  # [osx and x86_64]
+  - arm64-apple-darwin20.0.0   # [osx and arm64]
+MACOSX_DEPLOYMENT_TARGET:      # [osx]
+  - 11.0                       # [osx and arm64]
+  - 10.9                       # [osx and x86_64]
+target_platform:               # [win]
+  - win-64                     # [win]
 VERBOSE_AT:
   - V=1
 # makes cmake verbose
 VERBOSE_CM:
   - VERBOSE=1
 
-# the blas implementations that we build against
-blas_impl:
-  - mkl
-
-pin_run_as_build:
-  libboost:
-    max_pin: x.x.x
-  py_boost:
-    max_pin: x.x.x
-  boost:
-    max_pin: x.x.x
+# dual build configuration
+channel_sources:
+  - conda-forge,defaults                        # [not (aarch64 or armv7l or (osx and arm64) or s390x)]
+  - conda-forge                                 # [osx and arm64]
+  - conda-forge                                 # [aarch64]
+  - conda-forge,c4armv7l,defaults               # [armv7l]
+  - https://conda-web.anaconda.org/conda-forge  # [s390x]
 
 ## the dependencies that we build against multiple versions
 python:
-  - 3.7
-  - 3.8
+  # part of a zip_keys: python, python_impl, numpy
+  - 3.8.* *_cpython
+python_impl:
+  # part of a zip_keys: python, python_impl, numpy
+  - cpython
 
 zip_keys:
-  -                             # [win]
-    - vc                        # [win]
-    - c_compiler                # [win]
-    - cxx_compiler              # [win]
-    - fortran_compiler_version  # [win]
-    - python                    # [win]
-    - nodejs                    # [win]
-    - geos                      # [win]
+  -                             # [unix]
+    - c_compiler_version        # [unix]
+    - cxx_compiler_version      # [unix]
+    - fortran_compiler_version  # [unix]
+  -
+    - python
+    - numpy
+    - python_impl
+  -                             # [linux64]
+    - cudnn                     # [linux64]
+    - cuda_compiler_version     # [linux64]
+    - cdt_name                  # [linux64]
+    - docker_image              # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
+
+
+# TODO: remove these when run_exports are added to the packages.
+pin_run_as_build:
+  arpack:
+    max_pin: x.x.x
+  boost:
+    max_pin: x.x.x
+  boost-cpp:
+    max_pin: x.x.x
+  bzip2:
+    max_pin: x
+  cairo:
+    max_pin: x.x
+  curl:
+    max_pin: x
+  dbus:
+    max_pin: x
+  fftw:
+    max_pin: x
+  flann:
+    max_pin: x.x.x
+  fontconfig:
+    max_pin: x
+  freetype:
+    max_pin: x
+  gdal:
+    max_pin: x.x
+  geotiff:
+    max_pin: x.x.x
+  glew:
+    max_pin: x.x
+  glpk:
+    max_pin: x.x
+  gmp:
+    max_pin: x
+  graphviz:
+    max_pin: x
+  harfbuzz:
+    max_pin: x
+  hdf4:
+    max_pin: x.x
+  isl:
+    max_pin: x.x
+  jasper:
+    max_pin: x
+  jpeg:
+    max_pin: x
+  libjpeg_turbo:
+    max_pin: x
+  json-c:
+    max_pin: x.x
+  jsoncpp:
+    max_pin: x.x.x
+  kealib:
+    max_pin: x.x
+  krb5:
+    max_pin: x.x
+  libblitz:
+    max_pin: x.x
+  libcurl:
+    max_pin: x
+  libevent:
+    max_pin: x.x.x
+  libffi:
+    max_pin: x.x
+  libgdal:
+    max_pin: x.x
+  libiconv:
+    max_pin: x.x
+  libkml:
+    max_pin: x.x
+  libpng:
+    max_pin: x.x
+  librsvg:
+    max_pin: x
+  libsvm:
+    max_pin: x.x
+  libtiff:
+    max_pin: x
+  libxml2:
+    max_pin: x.x
+  libuuid:
+    max_pin: x
+  lz4-c:
+    max_pin: x.x.x
+  lzo:
+    max_pin: x
+  metis:
+    max_pin: x.x
+  mpfr:
+    max_pin: x
+  ncurses:
+    max_pin: x.x
+  netcdf-cxx4:
+    max_pin: x.x
+  netcdf-fortran:
+    max_pin: x.x
+  nettle:
+    max_pin: x.x
+  nlopt:
+    max_pin: x.x.x
+  nss:
+    max_pin: x
+  nspr:
+    max_pin: x
+  occt:
+    max_pin: x.x
+  openturns:
+    max_pin: x.x
+  openjpeg:
+    max_pin: x.x
+  pango:
+    max_pin: x.x
+  perl:
+    max_pin: x.x.x
+  poppler:
+    max_pin: x.x
+  qt:
+    max_pin: x.x
+  qtkeychain:
+    max_pin: x.x
+  readline:
+    max_pin: x
+  r-base:
+    max_pin: x.x
+    min_pin: x.x
+  sox:
+    max_pin: x.x.x
+  spdlog:
+    max_pin: x.x
+  sqlite:
+    max_pin: x
+  tk:
+    max_pin: x.x
+  tiledb:
+    max_pin: x.x
+  vlfeat:
+    max_pin: x.x.x
+  vtk:
+    max_pin: x.x.x
+  xz:
+    max_pin: x.x
+  zeromq:
+    max_pin: x.x  # [not win]
+  zlib:
+    max_pin: x.x
 
 
 # Here is the version of dependencies are used when building packages (build
@@ -100,7 +313,7 @@ package_names_map:
 
 
 boost:
-  - 1.73.0
+  - 1.74.0
 click:
   - 8.0.1
 click_plugins:
@@ -122,7 +335,7 @@ docker_py:
 docopt:
   - 0.6.2
 ffmpeg:
-  - 4.2.2
+  - 4.3
 font_ttf_dejavu_sans_mono:
   - 2.37
 freetype:
@@ -130,7 +343,7 @@ freetype:
 giflib:
   - 5.2.1
 graphviz:
-  - 2.40.1
+  - 2.47
 h5py:
   - 2.10.0
 hdf5:
@@ -159,9 +372,11 @@ nose:
   - 1.3.7
 numba:
   - 0.53.1
-# we build against numpy 1.17 but test against newer versions.
+# we build against numpy 1.18 but test against newer versions.
 numpy:
-  - 1.17
+  # part of a zip_keys: python, python_impl, numpy
+  - 1.18   # [not (osx and arm64)]
+  - 1.19   # [osx and arm64]
 opencv:
   - 4.5.0
 pandas: