duplicity 0.8.18 build failure on darwin_arm64 (lp:#1912084)

[Original report](https://bugs.launchpad.net/bugs/1912084) created by **Rui Chen (chenrui333)**
```
👋 trying to build the latest release, but run into some build issue. The
error log is as below:


<details>
<summary>build failure</summary>

```
    Preparing wheel metadata: started
    Running command
/opt/homebrew/Cellar/duplicity/0.8.18/libexec/bin/python3.9
/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel
/private/tmp/tmpi8zpbk2y
    Traceback (most recent call last):
      File
"/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/pep517/_in_process.py", line 280, in <module>
        main()
      File
"/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/pep517/_in_process.py", line 263, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File
"/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/pep517/_in_process.py", line 133, in
prepare_metadata_for_build_wheel
        return hook(metadata_directory, config_settings)
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/setuptools/build_meta.py", line 161, in
prepare_metadata_for_build_wheel
        self.run_setup()
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/setuptools/build_meta.py", line 145, in run_setup
        exec(compile(code, __file__, 'exec'), locals())
      File "setup.py", line 46, in <module>
        setup(
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File
"/opt/homebrew/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/core.py",
line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/setuptools/dist.py", line 423, in __init__
        _Distribution.__init__(self, {
      File
"/opt/homebrew/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/dist.py",
line 292, in __init__
        self.finalize_options()
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/setuptools/dist.py", line 695, in finalize_options
        ep(self)
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/setuptools/dist.py", line 702, in _finalize_setup_keywords
        ep.load()(self, ep.name, value)
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/cffi/setuptools_ext.py", line 219, in cffi_modules
        add_cffi_module(dist, cffi_module)
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/cffi/setuptools_ext.py", line 49, in add_cffi_module
        execfile(build_file_name, mod_vars)
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/cffi/setuptools_ext.py", line 25, in execfile
        exec(code, glob, glob)
      File "src/build_bcrypt.py", line 21, in <module>
        ffi = FFI()
      File "/private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/cffi/api.py", line 48, in __init__
        import _cffi_backend as backend
    ImportError: dlopen(/private/tmp/pip-build-env-
zgnyk0yt/overlay/lib/python3.9/site-
packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found:
_ffi_prep_closure
      Referenced from: /private/tmp/pip-build-env-
zgnyk0yt/overlay/lib/python3.9/site-
packages/_cffi_backend.cpython-39-darwin.so
      Expected in: flat namespace
     in /private/tmp/pip-build-env-zgnyk0yt/overlay/lib/python3.9/site-
packages/_cffi_backend.cpython-39-darwin.so
    Preparing wheel metadata: finished with status 'error'
ERROR: Command errored out with exit status 1:
/opt/homebrew/Cellar/duplicity/0.8.18/libexec/bin/python3.9
/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel
/private/tmp/tmpi8zpbk2y Check the logs for full command output.
Exception information:
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/cli/base_command.py", line 224, in _main
    status = self.run(options, args)
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/cli/req_command.py", line 180, in wrapper
    return func(self, options, args)
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/commands/install.py", line 320, in run
    requirement_set = resolver.resolve(
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/resolution/resolvelib/resolver.py", line 121, in
resolve
    self._result = resolver.resolve(
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/resolvelib/resolvers.py", line 445, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/resolvelib/resolvers.py", line 310, in resolve
    name, crit = self._merge_into_criterion(r, parent=None)
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/resolvelib/resolvers.py", line 169, in
_merge_into_criterion
    name = self._p.identify(requirement)
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/resolution/resolvelib/provider.py", line 60, in
identify
    return dependency.name
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/resolution/resolvelib/requirements.py", line 41, in
name
    return self.candidate.name
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/resolution/resolvelib/candidates.py", line 188, in
name
    return self.project_name
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/resolution/resolvelib/candidates.py", line 182, in
project_name
    self._name = canonicalize_name(self.dist.project_name)
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/resolution/resolvelib/candidates.py", line 239, in
dist
    self._prepare()
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/resolution/resolvelib/candidates.py", line 226, in
_prepare
    dist = self._prepare_distribution()
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/resolution/resolvelib/candidates.py", line 318, in
_prepare_distribution
    return self._factory.preparer.prepare_linked_requirement(
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/operations/prepare.py", line 480, in
prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/operations/prepare.py", line 523, in
_prepare_linked_requirement
    dist = _get_prepared_distribution(
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/operations/prepare.py", line 88, in
_get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(finder, build_isolation)
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/distributions/sdist.py", line 41, in
prepare_distribution_metadata
    self.req.prepare_metadata()
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/req/req_install.py", line 555, in prepare_metadata
    self.metadata_directory = self._generate_metadata()
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/req/req_install.py", line 540, in _generate_metadata
    return generate_metadata(
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/operations/build/metadata.py", line 34, in
generate_metadata
    distinfo_dir = backend.prepare_metadata_for_build_wheel(
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/pep517/wrappers.py", line 193, in
prepare_metadata_for_build_wheel
    return self._call_hook('prepare_metadata_for_build_wheel', {
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/pep517/wrappers.py", line 274, in _call_hook
    self._subprocess_runner(
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/utils/subprocess.py", line 271, in runner
    call_subprocess(
  File "/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_internal/utils/subprocess.py", line 240, in call_subprocess
    raise InstallationError(exc_msg)
pip._internal.exceptions.InstallationError: Command errored out with exit
status 1: /opt/homebrew/Cellar/duplicity/0.8.18/libexec/bin/python3.9
/opt/homebrew/Cellar/duplicity/0.8.18/libexec/lib/python3.9/site-
packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel
/private/tmp/tmpi8zpbk2y Check the logs for full command output.
Removed file:///private/tmp/duplicity--
bcrypt-20210112-91108-1ghubc0/bcrypt-3.2.0 from build tracker
'/private/tmp/pip-req-tracker-xyw0nei5'
Removed build tracker: '/private/tmp/pip-req-tracker-xyw0nei5'
```

</details>


Full build log is in here, https://github.com/Homebrew/homebrew-
core/runs/1689770722
relates to https://github.com/Homebrew/homebrew-core/pull/68653
```

Story points: 6.0