Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
1.8 kB · 66 lines
Nix
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667{ stdenv, lib, buildPythonPackage, pythonOlder, isPyPy, fetchPypi, postgresql, openssl, sphinxHook, sphinx-better-theme, buildPackages}:
buildPythonPackage rec { pname = "psycopg2"; version = "2.9.9"; format = "setuptools";
# Extension modules don't work well with PyPy. Use psycopg2cffi instead. # c.f. https://github.com/NixOS/nixpkgs/pull/104151#issuecomment-729750892 disabled = pythonOlder "3.6" || isPyPy;
outputs = [ "out" "doc" ];
src = fetchPypi { inherit pname version; hash = "sha256-0UVL3pP7HiJBZoEWlNYA50ZDDABvuwMeoG7MLqQb8VY="; };
postPatch = '' # Preferably upstream would not depend on pg_config because config scripts are incompatible with cross-compilation, however postgresql's pc file is lacking information. # some linker flags are added but the linker ignores them because they're incompatible # https://github.com/psycopg/psycopg2/blob/89005ac5b849c6428c05660b23c5a266c96e677d/setup.py substituteInPlace setup.py \ --replace "self.pg_config_exe = self.build_ext.pg_config" 'self.pg_config_exe = "${lib.getExe' buildPackages.postgresql "pg_config"}"' '';
nativeBuildInputs = [ sphinxHook sphinx-better-theme ];
buildInputs = [ postgresql ] ++ lib.optionals stdenv.isDarwin [ openssl ];
sphinxRoot = "doc/src";
# Requires setting up a PostgreSQL database doCheck = false;
pythonImportsCheck = [ "psycopg2" ];
disallowedReferences = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ buildPackages.postgresql ];
meta = with lib; { description = "PostgreSQL database adapter for the Python programming language"; homepage = "https://www.psycopg.org"; license = with licenses; [ lgpl3Plus zpl20 ]; maintainers = with maintainers; [ ]; };}