Packages the distutils stdlib module as a standalone package,
```
377K distutils.data
221K distutils.data.br
19K distutils.js
```
to reduce the minimal pyodide size.

Part of #1542 

This also,
 - adds documentation on what's supported or not in the stdlib
 - makes a few changes to `pyodide_build/buildall.py` to be able to add such stdlib packages as a dependency in other packages (which didn't work before). For instance, until there is a release with https://github.com/pypa/packaging/pull/396 micropip has a dependency on distutils.
Unvendor distutils. Packages the distutils stdlib module as a standalone package,
```
377K distutils.data
221K distutils.data.br
19K distutils.js
```
to reduce the minimal pyodide size.

Part of #1542 

This also,
 - adds documentation on what's supported or not in the stdlib
 - makes a few changes to `pyodide_build/buildall.py` to be able to add such stdlib packages as a dependency in other packages (which didn't work before). For instance, until there is a release with https://github.com/pypa/packaging/pull/396 micropip has a dependency on distutils.
package:
  name: scikit-learn
  version: 0.22.2

source:
  url: https://github.com/scikit-learn/scikit-learn/archive/0.22.2.tar.gz
  sha256: 54ae27be30ef26718c9e517c4c8f23b6af26c66e52cf16d38799ba4262d4fd3b

  patches:
    - patches/disable-openmp.patch

build:
  cflags: -Wno-implicit-function-declaration

requirements:
  run:
    - numpy
    - scipy
    - joblib

test:
  imports:
    - sklearn
    - sklearn.calibration
    - sklearn.cluster
    - sklearn.compose
    - sklearn.covariance
    - sklearn.cross_decomposition
    - sklearn.datasets
    - sklearn.decomposition
    - sklearn.discriminant_analysis
    - sklearn.dummy
    - sklearn.ensemble
    - sklearn.exceptions
    - sklearn.externals
    - sklearn.feature_extraction
    - sklearn.feature_selection
    - sklearn.gaussian_process
    - sklearn.impute
    - sklearn.isotonic
    - sklearn.kernel_approximation
    - sklearn.kernel_ridge
    - sklearn.linear_model
    - sklearn.manifold
    - sklearn.metrics
    - sklearn.mixture
    - sklearn.model_selection
    - sklearn.multiclass
    - sklearn.multioutput
    - sklearn.naive_bayes
    - sklearn.neighbors
    - sklearn.neural_network
    - sklearn.pipeline
    - sklearn.preprocessing
    - sklearn.random_projection
    - sklearn.semi_supervised
    - sklearn.svm
    - sklearn.tree
    - sklearn.utils

package:
  name: scikit-learn
  version: 0.22.2

source:
  url: https://github.com/scikit-learn/scikit-learn/archive/0.22.2.tar.gz
  sha256: 54ae27be30ef26718c9e517c4c8f23b6af26c66e52cf16d38799ba4262d4fd3b

  patches:
    - patches/disable-openmp.patch

build:
  cflags: -Wno-implicit-function-declaration

requirements:
  run:
    - numpy
    - scipy
    - joblib

test:
  imports:
    - sklearn
    - sklearn.calibration
    - sklearn.cluster
    - sklearn.compose
    - sklearn.covariance
    - sklearn.cross_decomposition
    - sklearn.datasets
    - sklearn.decomposition
    - sklearn.discriminant_analysis
    - sklearn.dummy
    - sklearn.ensemble
    - sklearn.exceptions
    - sklearn.externals
    - sklearn.feature_extraction
    - sklearn.feature_selection
    - sklearn.gaussian_process
    - sklearn.impute
    - sklearn.isotonic
    - sklearn.kernel_approximation
    - sklearn.kernel_ridge
    - sklearn.linear_model
    - sklearn.manifold
    - sklearn.metrics
    - sklearn.mixture
    - sklearn.model_selection
    - sklearn.multiclass
    - sklearn.multioutput
    - sklearn.naive_bayes
    - sklearn.neighbors
    - sklearn.neural_network
    - sklearn.pipeline
    - sklearn.preprocessing
    - sklearn.random_projection
    - sklearn.semi_supervised
    - sklearn.svm
    - sklearn.tree
    - sklearn.utils
