# Build a python package from info made available by setupcfg2nix. # # * src: The source of the package. # * info: The package information generated by setupcfg2nix. # * meta: Standard nixpkgs metadata. # * application: Whether this package is a python library or an # application which happens to be written in python. pythonPackages: { src, info, meta ? {}, application ? false }: let build = if application then pythonPackages.buildPythonApplication else pythonPackages.buildPythonPackage; in build { inherit (info) pname version; inherit src meta; nativeBuildInputs = map (p: pythonPackages.${p}) ( (info.setup_requires or []) ++ (info.tests_require or [])); propagatedBuildInputs = map (p: pythonPackages.${p}) (info.install_requires or []); }