Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jul 2020 12:08:42 +1000
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        "John W. O'Brien" <john@saltant.com>, FreeBSD Python <freebsd-python@freebsd.org>
Subject:   Re: security/py-pycryptodome: Soft dependency on devel/py-cffi
Message-ID:  <852935a9-0abb-5284-f06a-f561f80fd0f5@FreeBSD.org>
In-Reply-To: <779685b4-2036-b128-da77-31a131d19951@saltant.com>
References:  <779685b4-2036-b128-da77-31a131d19951@saltant.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?852935a9-0abb-5284-f06a-f561f80fd0f5>