diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/python-modules/psycopg2cffi/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/python-modules/psycopg2cffi/default.nix | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/python-modules/psycopg2cffi/default.nix b/infra/libkookie/nixpkgs/pkgs/development/python-modules/psycopg2cffi/default.nix new file mode 100644 index 000000000000..71c9017380ad --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/python-modules/psycopg2cffi/default.nix @@ -0,0 +1,39 @@ +{ buildPythonPackage, cffi, fetchFromGitHub, lib, postgresql, pytestCheckHook, six }: + +buildPythonPackage rec { + pname = "psycopg2cffi"; + version = "2.8.1"; + + # NB: This is a fork. + # The original repo exists at https://github.com/chtd/psycopg2cffi, however + # this is mostly unmaintained and does not build for PyPy. Given that the + # whole point of this cffi alternative to psycopg2 is to use it with PyPy, I + # chose to use a working fork instead, which was linked in the relevant issue: + # https://github.com/chtd/psycopg2cffi/issues/113#issuecomment-730548574 + # + # If/when these changes get merged back upstream we should revert to using the + # original source as opposed to the fork. + src = fetchFromGitHub { + owner = "Omegapol"; + repo = pname; + rev = "c202b25cd861d5e8f0f55c329764ff1da9f020c0"; + sha256 = "09hsnjkix1c0vlhmfvrp8pchpnz2ya4xrchyq15czj527nx2dmy2"; + }; + + nativeBuildInputs = [ postgresql ]; + propagatedBuildInputs = [ six cffi ]; + checkInputs = [ pytestCheckHook ]; + + # NB: The tests need a postgres instance running to test against, and so we + # disable them. + doCheck = false; + + pythonImportsCheck = [ "psycopg2cffi" ]; + + meta = with lib; { + description = "An implementation of the psycopg2 module using cffi"; + homepage = "https://pypi.org/project/psycopg2cffi/"; + license = with licenses; [ lgpl3Plus ]; + maintainers = with maintainers; [ lovesegfault ]; + }; +} |