nixpkgs/pkgs/development/python-modules/flit/default.nix
2020-12-01 14:44:11 +01:00

67 lines
1.6 KiB
Nix

{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, isPy3k
, docutils
, requests
, requests_download
, zipfile36
, pythonOlder
, pytest
, testpath
, responses
, flit-core
}:
# Flit is actually an application to build universal wheels.
# It requires Python 3 and should eventually be moved outside of
# python-packages.nix. When it will be used to build wheels,
# care should be taken that there is no mingling of PYTHONPATH.
buildPythonPackage rec {
pname = "flit";
version = "3.0.0";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "takluyver";
repo = "flit";
rev = version;
sha256 = "zk6mozS3Q9U43PQe/DxgwwsBRJ6Qwb+rSUVGXHijD+g=";
};
# Use toml instead of pytoml
# Resolves infinite recursion since packaging started using flit.
patches = [
(fetchpatch {
url = "https://github.com/takluyver/flit/commit/b81b1da55ef0f2768413669725d2874fcb0c29fb.patch";
sha256 = "11oNaYsm00/j2046V9C0idpSeG7TpY3JtLuxX3ZL/OI=";
})
];
propagatedBuildInputs = [
docutils
requests
requests_download
flit-core
] ++ lib.optionals (pythonOlder "3.6") [
zipfile36
];
checkInputs = [ pytest testpath responses ];
# Disable test that needs some ini file.
# Disable test that wants hg
checkPhase = ''
HOME=$(mktemp -d) pytest -k "not test_invalid_classifier and not test_build_sdist"
'';
meta = with lib; {
description = "A simple packaging tool for simple packages";
homepage = "https://github.com/takluyver/flit";
license = licenses.bsd3;
maintainers = [ maintainers.fridh ];
};
}