anki-bin: 24.06.3 -> 24.11 (#360722)
[NixPkgs.git] / pkgs / development / python-modules / blis / default.nix
blob26cb315a62e04c5fe52bbf806e4dd9dbd947194b
2   lib,
3   buildPythonPackage,
4   fetchFromGitHub,
5   setuptools,
6   cython,
7   hypothesis,
8   numpy,
9   pytestCheckHook,
10   pythonOlder,
11   blis,
12   numpy_2,
13   gitUpdater,
16 buildPythonPackage rec {
17   pname = "blis";
18   version = "1.0.1";
19   pyproject = true;
21   disabled = pythonOlder "3.9";
23   src = fetchFromGitHub {
24     owner = "explosion";
25     repo = "cython-blis";
26     rev = "refs/tags/release-v${version}";
27     hash = "sha256-8JaQgTda1EBiZdSrZtKwJ8e/aDENQ+dMmTiH/t1ax5I=";
28   };
30   postPatch = ''
31     # The commit pinning numpy to version 2 doesn't have any functional changes:
32     # https://github.com/explosion/cython-blis/pull/108
33     # BLIS should thus work with numpy and numpy_2.
34     substituteInPlace pyproject.toml setup.py \
35       --replace-fail "numpy>=2.0.0,<3.0.0" numpy
37     # See https://github.com/numpy/numpy/issues/21079
38     # has no functional difference as the name is only used in log output
39     substituteInPlace blis/benchmark.py \
40       --replace-fail 'numpy.__config__.blas_ilp64_opt_info["libraries"]' '["dummy"]'
41   '';
43   preCheck = ''
44     # remove src module, so tests use the installed module instead
45     rm -rf ./blis
46   '';
48   build-system = [
49     setuptools
50     cython
51     numpy
52   ];
54   dependencies = [ numpy ];
56   nativeCheckInputs = [
57     hypothesis
58     pytestCheckHook
59   ];
61   pythonImportsCheck = [ "blis" ];
63   passthru = {
64     tests = {
65       numpy_2 = blis.overridePythonAttrs (old: {
66         numpy = numpy_2;
67       });
68     };
69     updateScript = gitUpdater {
70       rev-prefix = "release-v";
71     };
72   };
74   meta = with lib; {
75     changelog = "https://github.com/explosion/cython-blis/releases/tag/release-v${version}";
76     description = "BLAS-like linear algebra library";
77     homepage = "https://github.com/explosion/cython-blis";
78     license = licenses.bsd3;
79     maintainers = with maintainers; [ nickcao ];
80   };