Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / psycopg2cffi / default.nix
blobf791f953d3f0a4e5c7df05e396f9a68ed37ca79e
1 { buildPythonPackage
2 , cffi
3 , fetchFromGitHub
4 , lib
5 , postgresql
6 , postgresqlTestHook
7 , pytestCheckHook
8 , six
9 }:
11 buildPythonPackage rec {
12   pname = "psycopg2cffi";
13   version = "2.8.1";
14   format = "setuptools";
16   # NB: This is a fork.
17   # The original repo exists at https://github.com/chtd/psycopg2cffi, however
18   # this is mostly unmaintained and does not build for PyPy. Given that the
19   # whole point of this cffi alternative to psycopg2 is to use it with PyPy, I
20   # chose to use a working fork instead, which was linked in the relevant issue:
21   # https://github.com/chtd/psycopg2cffi/issues/113#issuecomment-730548574
22   #
23   # If/when these changes get merged back upstream we should revert to using the
24   # original source as opposed to the fork.
25   src = fetchFromGitHub {
26     owner = "Omegapol";
27     repo = pname;
28     rev = "c202b25cd861d5e8f0f55c329764ff1da9f020c0";
29     sha256 = "09hsnjkix1c0vlhmfvrp8pchpnz2ya4xrchyq15czj527nx2dmy2";
30   };
32   nativeBuildInputs = [ postgresql ];
34   propagatedBuildInputs = [ six cffi ];
36   nativeCheckInputs = [ postgresqlTestHook pytestCheckHook ];
38   disabledTests = [
39     # AssertionError: '{}' != []
40     "testEmptyArray"
41   ];
43   env = {
44     PGDATABASE = "psycopg2_test";
45   };
47   pythonImportsCheck = [ "psycopg2cffi" ];
49   meta = with lib; {
50     description = "An implementation of the psycopg2 module using cffi";
51     homepage = "https://pypi.org/project/psycopg2cffi/";
52     license = with licenses; [ lgpl3Plus ];
53     maintainers = with maintainers; [ lovesegfault ];
54   };