tych0 / xcffib

A drop-in replacement for xpyb based on cffi
Apache License 2.0
93 stars 26 forks source link

`cffi` dependency on PyPy makes the package uninstallable #166

Closed mgorny closed 3 months ago

mgorny commented 3 months ago

The setup.py file creates an explicit dependency on the "builtin" version of cffi on PyPy:

https://github.com/tych0/xcffib/blob/93b8830802a8ee0d5c643eaa58ca6c7ab2c118af/setup.py#L49

However, this causes pip to actually attempt fetching and installing this cffi version, and this fails, at least with PyPy3.10 7.3.15:

$ pip install xcffib
Collecting xcffib
  Downloading xcffib-1.5.0.tar.gz (89 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.5/89.5 kB 703.6 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install backend dependencies did not run successfully.
  │ exit code: 1
  ╰─> [5 lines of output]
      Collecting wheel
        Downloading wheel-0.43.0-py3-none-any.whl.metadata (2.2 kB)
      ERROR: Ignored the following yanked versions: 1.0.2.post2
      ERROR: Could not find a version that satisfies the requirement cffi==1.17.0.dev0 (from versions: 0.1, 0.2, 0.2.1, 0.3, 0.4, 0.4.1, 0.4.2, 0.5, 0.6, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.8.5, 0.8.6, 0.9.0, 0.9.1, 0.9.2, 1.0.0, 1.0.1, 1.0.3, 1.1.0, 1.1.1, 1.1.2, 1.2.0.post1, 1.2.1, 1.3.0, 1.3.1, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.2, 1.8.3, 1.9.0, 1.9.1, 1.10.0, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.11.4, 1.11.5, 1.12.0, 1.12.1, 1.12.2, 1.12.3, 1.13.0, 1.13.1, 1.13.2, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0rc1, 1.15.0rc2, 1.15.0, 1.15.1, 1.16.0rc1, 1.16.0rc2, 1.16.0, 1.17.0rc1)
      ERROR: No matching distribution found for cffi==1.17.0.dev0
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

I'll submit a PR in a minute.