summary refs log tree commit diff
path: root/pkgs/build-support/build-setupcfg/default.nix
blob: 62dda59f1d527240e4aa6b1d0c57c97a4abeaa21 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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 []);
}