security/py-pycryptodome: Soft dependency on devel/py-cffi

Kubilay Kocak koobs at FreeBSD.org
Tue Jul 28 02:08:49 UTC 2020


On 28/07/2020 5:43 am, John W. O'Brien wrote:
> Greetings FreeBSD Python,
> 
> I have been mulling over a thing and would like the list's perspective
> before I decide whether to take action or not.
> 
> security/py-pycryptodome will use devel/py-cffi if it is available [0]
> or ctypes otherwise [1]. This makes me just a little bit uneasy since it
> leaves the door open to certain Heisenbugs and red herrings. My question
> is whether it warrants adding devel/py-cffi to RUN_DEPENDS to ensure
> consistency behavior? If not, what about as an OPTION for those who care
> about that sort of thing?
> 
> [0]
> https://github.com/Legrandin/pycryptodome/blob/v3.9.8/lib/Crypto/Util/_raw_api.py#L71-L161
> [1]
> https://github.com/Legrandin/pycryptodome/blob/v3.9.8/lib/Crypto/Util/_raw_api.py#L163-L263
> [2] https://en.wikipedia.org/wiki/Heisenbug
> 

The Python Policy section on optional dependencies should cover this:

https://wiki.freebsd.org/Python/PortsPolicy#Optional_Dependencies

tldr;

For either at build or run-time optional dependencies (where the pattern 
is, check if dep exists, use some code path if true, else use another 
code path), add OPTIONS for them.

Re heisenbugs/etc, this is where support for running test suites in the 
port are critical, let us know in #freebsd-python on freenode IRC if you 
need help getting these hooked up


More information about the freebsd-python mailing list