Merge branch 'setupcfg2nix'
This commit is contained in:
commit
216b32f339
|
@ -0,0 +1,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 []);
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ buildSetupcfg, fetchFromGitHub, lib }:
|
||||||
|
|
||||||
|
buildSetupcfg rec {
|
||||||
|
info = import ./info.nix;
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "target";
|
||||||
|
repo = "setupcfg2nix";
|
||||||
|
rev = info.version;
|
||||||
|
sha256 = "1zn9njpzwhwikrirgjlyz6ys3xr8gq61ry8blmnpscqvhsdhxcs6";
|
||||||
|
};
|
||||||
|
application = true;
|
||||||
|
meta = {
|
||||||
|
description = "Generate nix expressions from setup.cfg for a python package.";
|
||||||
|
homepage = https://github.com/target/setupcfg2nix;
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
platforms = lib.platforms.all;
|
||||||
|
maintainers = [ lib.maintainers.shlevy ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
pname = ''setupcfg2nix'';
|
||||||
|
version = ''1.1.0'';
|
||||||
|
install_requires = [
|
||||||
|
''setuptools''
|
||||||
|
];
|
||||||
|
}
|
|
@ -7230,6 +7230,8 @@ with pkgs;
|
||||||
pythonPackages = python3Packages;
|
pythonPackages = python3Packages;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
setupcfg2nix = python3Packages.callPackage ../development/tools/setupcfg2nix {};
|
||||||
|
|
||||||
# These pyside tools do not provide any Python modules and are meant to be here.
|
# These pyside tools do not provide any Python modules and are meant to be here.
|
||||||
# See ../development/python-modules/pyside/default.nix for details.
|
# See ../development/python-modules/pyside/default.nix for details.
|
||||||
pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { };
|
pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { };
|
||||||
|
|
|
@ -66,6 +66,9 @@ let
|
||||||
toPythonModule = x: x; # Application does not provide modules.
|
toPythonModule = x: x; # Application does not provide modules.
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
# See build-setupcfg/default.nix for documentation.
|
||||||
|
buildSetupcfg = import ../build-support/build-setupcfg self;
|
||||||
|
|
||||||
graphiteVersion = "1.0.2";
|
graphiteVersion = "1.0.2";
|
||||||
|
|
||||||
fetchPypi = makeOverridable( {format ? "setuptools", ... } @attrs:
|
fetchPypi = makeOverridable( {format ? "setuptools", ... } @attrs:
|
||||||
|
@ -133,6 +136,7 @@ in {
|
||||||
inherit fetchPypi callPackage;
|
inherit fetchPypi callPackage;
|
||||||
inherit hasPythonModule requiredPythonModules makePythonPath disabledIf;
|
inherit hasPythonModule requiredPythonModules makePythonPath disabledIf;
|
||||||
inherit toPythonModule toPythonApplication;
|
inherit toPythonModule toPythonApplication;
|
||||||
|
inherit buildSetupcfg;
|
||||||
|
|
||||||
# helpers
|
# helpers
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue