1{
2 lib,
3 buildPythonPackage,
4 fetchpatch,
5 fetchPypi,
6 pythonAtLeast,
7}:
8
9buildPythonPackage rec {
10 pname = "fn";
11 version = "0.4.3";
12 format = "setuptools";
13
14 # Python 3.11 changed the API of the `inspect` module and fn was never
15 # updated to adapt; last commit was in 2014.
16 disabled = pythonAtLeast "3.11";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "1nmsjmn8jb4gp22ksx0j0hhdf4y0zm8rjykyy2i6flzimg6q1kgq";
21 };
22
23 patches = [
24 (fetchpatch {
25 url = "https://github.com/kachayev/fn.py/commit/a54fc0bd8aeae277de2db726131d249ce607c0c2.patch";
26 hash = "sha256-I0ZISOgVibsc1k7gwSfeW6qV9PspQqdaHlRLr/IusQ8=";
27 excludes = [ "fn/monad.py" ];
28 })
29 ];
30
31 meta = with lib; {
32 description = ''
33 Functional programming in Python: implementation of missing
34 features to enjoy FP
35 '';
36 homepage = "https://github.com/kachayev/fn.py";
37 license = licenses.asl20;
38 };
39}