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.
from textwrap import dedent

from pyodide_build._f2c_fixes import fix_f2c_clapack_calls


def test_fix_f2c_clapack_calls(tmpdir):
    code = dedent(
        """
       #include "f2c.h"

       int sgemv_(char *trans, integer *m, integer *n, real *alpha)
       {
          return 0;
       }
       """
    )

    source_file = tmpdir / "sgemv.c"
    with open(source_file, "w") as fh:
        fh.write(code)

    fix_f2c_clapack_calls(str(source_file))

    with open(source_file, "r") as fh:
        code_fixed = fh.read()

    assert code_fixed == code.replace("sgemv_", "wsgemv_")

from textwrap import dedent

from pyodide_build._f2c_fixes import fix_f2c_clapack_calls


def test_fix_f2c_clapack_calls(tmpdir):
    code = dedent(
        """
       #include "f2c.h"

       int sgemv_(char *trans, integer *m, integer *n, real *alpha)
       {
          return 0;
       }
       """
    )

    source_file = tmpdir / "sgemv.c"
    with open(source_file, "w") as fh:
        fh.write(code)

    fix_f2c_clapack_calls(str(source_file))

    with open(source_file, "r") as fh:
        code_fixed = fh.read()

    assert code_fixed == code.replace("sgemv_", "wsgemv_")
