forked from mirrors/nixpkgs
platformio: fix build by pinning dependencies
Pins the packages aiofiles, click and uvicorn. Also migrates the package to pytestCheckHook.
This commit is contained in:
parent
70122271d7
commit
50c201f1aa
|
@ -1,30 +1,74 @@
|
|||
{ stdenv, lib, buildPythonApplication
|
||||
, ajsonrpc
|
||||
, bottle
|
||||
, click
|
||||
, click-completion
|
||||
, colorama
|
||||
{ stdenv, lib, python3
|
||||
, fetchFromGitHub
|
||||
, git
|
||||
, jsondiff
|
||||
, lockfile
|
||||
, marshmallow
|
||||
, pyelftools
|
||||
, pyserial
|
||||
, pytest
|
||||
, requests
|
||||
, semantic-version
|
||||
, spdx-license-list-data
|
||||
, starlette
|
||||
, tabulate
|
||||
, tox
|
||||
, uvicorn
|
||||
, wsproto
|
||||
, zeroconf
|
||||
, version, src
|
||||
}:
|
||||
|
||||
let
|
||||
args = lib.concatStringsSep " " ((map (e: "--deselect tests/${e}") [
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
aiofiles = super.aiofiles.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.6.0";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "e0281b157d3d5d59d803e3f4557dcc9a3dff28a4dd4829a9ff478adae50ca092";
|
||||
};
|
||||
});
|
||||
|
||||
click = super.click.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "7.1.2";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "06kbzd6sjfkqan3miwj9wqyddfxc2b6hi7p5s4dvqjb3gif2bdfj";
|
||||
};
|
||||
});
|
||||
|
||||
uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.13.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "encode";
|
||||
repo = "uvicorn";
|
||||
rev = version;
|
||||
sha256 = "04zgmp9z46k72ay6cz7plga6d3w3a6x41anabm7ramp7jdqf6na9";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
in
|
||||
with python.pkgs; buildPythonApplication rec {
|
||||
pname = "platformio";
|
||||
inherit version src;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ajsonrpc
|
||||
bottle
|
||||
click
|
||||
click-completion
|
||||
colorama
|
||||
git
|
||||
lockfile
|
||||
marshmallow
|
||||
pyelftools
|
||||
pyserial
|
||||
requests
|
||||
semantic-version
|
||||
starlette
|
||||
tabulate
|
||||
uvicorn
|
||||
wsproto
|
||||
zeroconf
|
||||
];
|
||||
|
||||
HOME = "/tmp";
|
||||
|
||||
checkInputs = [
|
||||
jsondiff
|
||||
pytestCheckHook
|
||||
tox
|
||||
];
|
||||
|
||||
pytestFlagsArray = (map (e: "--deselect tests/${e}") [
|
||||
"commands/test_ci.py::test_ci_boards"
|
||||
"commands/test_ci.py::test_ci_build_dir"
|
||||
"commands/test_ci.py::test_ci_keep_build_dir"
|
||||
|
@ -88,44 +132,10 @@ let
|
|||
"commands/test_update.py"
|
||||
"test_maintenance.py"
|
||||
"test_ino2cpp.py"
|
||||
]));
|
||||
|
||||
in buildPythonApplication rec {
|
||||
pname = "platformio";
|
||||
inherit version src;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ajsonrpc
|
||||
bottle
|
||||
click
|
||||
click-completion
|
||||
colorama
|
||||
git
|
||||
lockfile
|
||||
marshmallow
|
||||
pyelftools
|
||||
pyserial
|
||||
requests
|
||||
semantic-version
|
||||
starlette
|
||||
tabulate
|
||||
uvicorn
|
||||
wsproto
|
||||
zeroconf
|
||||
]) ++ [
|
||||
"tests"
|
||||
];
|
||||
|
||||
HOME = "/tmp";
|
||||
|
||||
checkInputs = [ pytest tox jsondiff ];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
py.test -v tests ${args}
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./fix-searchpath.patch
|
||||
./use-local-spdx-license-list.patch
|
||||
|
|
Loading…
Reference in a new issue