perlPackages.NetAsyncWebSocket: 0.13 -> 0.14 (#352432)
[NixPkgs.git] / pkgs / development / python-modules / cysignals / default.nix
blob9e90eaf38f19da36d88cad702e12b11cc907740c
2   lib,
3   autoreconfHook,
4   fetchPypi,
5   buildPythonPackage,
6   cython,
7   pariSupport ? true,
8   pari, # for interfacing with the PARI/GP signal handler
10   # Reverse dependency
11   sage,
14 assert pariSupport -> pari != null;
16 buildPythonPackage rec {
17   pname = "cysignals";
18   version = "1.11.4";
19   format = "setuptools";
21   src = fetchPypi {
22     inherit pname version;
23     hash = "sha256-Dx4yHlWgf5AchqNqHkSX9v+d/nAGgdATCjjDbk6yOMM=";
24   };
26   # explicit check:
27   # build/src/cysignals/implementation.c:27:2: error: #error "cysignals must be compiled without _FORTIFY_SOURCE"
28   hardeningDisable = [ "fortify" ];
30   # known failure: https://github.com/sagemath/cysignals/blob/582dbf6a7b0f9ade0abe7a7b8720b7fb32435c3c/testgdb.py#L5
31   doCheck = false;
32   checkTarget = "check-install";
34   preCheck = ''
35     # Make sure cysignals-CSI is in PATH
36     export PATH="$out/bin:$PATH"
37   '';
39   propagatedBuildInputs =
40     [ cython ]
41     ++ lib.optionals pariSupport [
42       # When cysignals is built with pari, including cysignals into the
43       # buildInputs of another python package will cause cython to link against
44       # pari.
45       pari
46     ];
48   nativeBuildInputs = [ autoreconfHook ];
50   enableParallelBuilding = true;
52   passthru.tests = {
53     inherit sage;
54   };
56   meta = with lib; {
57     description = "Interrupt and signal handling for Cython";
58     mainProgram = "cysignals-CSI";
59     homepage = "https://github.com/sagemath/cysignals/";
60     maintainers = teams.sage.members;
61     license = licenses.lgpl3Plus;
62   };