nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 buildPythonPackage,
3 fetchFromGitHub,
4 lib,
5 libffi,
6 pkg-config,
7 pycparser,
8 pytestCheckHook,
9 setuptools,
10 stdenv,
11}:
12
13buildPythonPackage rec {
14 pname = "cffi";
15 version = "2.0.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "python-cffi";
20 repo = "cffi";
21 tag = "v${version}";
22 hash = "sha256-7Mzz3KmmmE2xQru1GA4aY0DZqn6vxykWiExQvnA1bjM=";
23 };
24
25 nativeBuildInputs = [ pkg-config ];
26
27 build-system = [ setuptools ];
28
29 buildInputs = [ libffi ];
30
31 # Some dependent packages expect to have pycparser available when using cffi.
32 dependencies = [ pycparser ];
33
34 doCheck = !(stdenv.hostPlatform.isMusl || stdenv.hostPlatform.useLLVM or false);
35
36 disabledTests = [
37 # parse errror
38 "test_dont_remove_comment_in_line_directives"
39 "test_multiple_line_directives"
40 "test_commented_line_directive"
41 # exception mismatch
42 "test_unknown_name"
43 ];
44
45 nativeCheckInputs = [ pytestCheckHook ];
46
47 meta = {
48 changelog = "https://github.com/python-cffi/cffi/releases/tag/v${version}";
49 description = "Foreign Function Interface for Python calling C code";
50 downloadPage = "https://github.com/python-cffi/cffi";
51 homepage = "https://cffi.readthedocs.org/";
52 license = lib.licenses.mit0;
53 teams = [ lib.teams.python ];
54 };
55}