Skip to content

Build from PyPI source distribution fails due to missing src/cmarkgfm/cmark.cffi.h header file #84

@dbarbuzzi

Description

@dbarbuzzi

It seems the cmark.cffi.h header file is not included in the source distribution, making the latest release uninstallable by any platform where a wheel file is not provided.

To reproduce (use of uv or the specific Python version are not relevant):

uv venv --python 3.12
source .venv/bin/activate
uv pip install cmarkgfm

Related output:

  × Failed to build `cmarkgfm==2025.10.20`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)

      [stderr]
      Traceback (most recent call last):
        File "<string>", line 14, in <module>
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/build_meta.py",
      line 331, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/build_meta.py",
      line 301, in _get_build_requires
          self.run_setup()
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/build_meta.py",
      line 317, in run_setup
          exec(code, locals())
        File "<string>", line 5, in <module>
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/__init__.py", line
      115, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/_distutils/core.py",
      line 148, in setup
          _setup_distribution = dist = klass(attrs)
                                       ^^^^^^^^^^^^
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/dist.py", line 321,
      in __init__
          _Distribution.__init__(self, dist_attrs)
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/_distutils/dist.py",
      line 309, in __init__
          self.finalize_options()
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/dist.py", line 784,
      in finalize_options
          ep(self)
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/setuptools/dist.py", line 804,
      in _finalize_setup_keywords
          ep.load()(self, ep.name, value)
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/cffi/setuptools_ext.py", line
      229, in cffi_modules
          add_cffi_module(dist, cffi_module)
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/cffi/setuptools_ext.py", line
      50, in add_cffi_module
          execfile(build_file_name, mod_vars)
        File "/home/domenic/.cache/uv/builds-v0/.tmpBDQwUc/lib/python3.12/site-packages/cffi/setuptools_ext.py", line
      26, in execfile
          exec(code, glob, glob)
        File "src/cmarkgfm/build_cmark.py", line 21, in <module>
          with open(CMARK_DEF_H_PATH, encoding='utf-8') as fh:
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      FileNotFoundError: [Errno 2] No such file or directory:
      '/home/domenic/.cache/uv/sdists-v9/pypi/cmarkgfm/2025.10.20/xloRhpuZnnkJCsGB5o5pD/src/src/cmarkgfm/cmark.cffi.h'

      hint: This usually indicates a problem with the package or the build environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions