commit
7c1ab35784
69
pkgs/development/tools/misc/apio/default.nix
Normal file
69
pkgs/development/tools/misc/apio/default.nix
Normal file
|
@ -0,0 +1,69 @@
|
|||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchFromGitHub
|
||||
, click
|
||||
, semantic-version
|
||||
, requests
|
||||
, colorama
|
||||
, pyserial
|
||||
, wheel
|
||||
, setuptools
|
||||
, tinyprog
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "apio";
|
||||
version = "0.7.5";
|
||||
format = "flit";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FPGAwars";
|
||||
repo = "apio";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9f0q6tELUDo6FdjPG708d7BY3O5ZiZ0FwNFzBBiLQp4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace apio/managers/scons.py --replace \
|
||||
'return "tinyprog --libusb --program"' \
|
||||
'return "${tinyprog}/bin/tinyprog --libusb --program"'
|
||||
substituteInPlace apio/util.py --replace \
|
||||
'_command = join(get_bin_dir(), "tinyprog")' \
|
||||
'_command = "${tinyprog}/bin/tinyprog"'
|
||||
|
||||
# semantic-version seems to not support version numbers like the one of tinyprog in Nixpkgs (1.0.24.dev114+gxxxxxxx).
|
||||
# See https://github.com/rbarrois/python-semanticversion/issues/47.
|
||||
# This leads to an error like "Error: Invalid version string: '1.0.24.dev114+g97f6353'"
|
||||
# when executing "apio upload" for a TinyFPGA.
|
||||
# Replace the dot with a dash to work around this problem.
|
||||
substituteInPlace apio/managers/scons.py --replace \
|
||||
'version = semantic_version.Version(pkg_version)' \
|
||||
'version = semantic_version.Version(pkg_version.replace(".dev", "-dev"))'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
click
|
||||
semantic-version
|
||||
requests
|
||||
colorama
|
||||
pyserial
|
||||
wheel
|
||||
setuptools # needs pkg_resources at runtime (technically not needed when tinyprog is also in this list because of the propagatedBuildInputs of tinyprog)
|
||||
|
||||
tinyprog # needed for upload to TinyFPGA
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pytestFlagsArray = [ "--offline" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open source ecosystem for open FPGA boards";
|
||||
homepage = "https://github.com/FPGAwars/apio";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ Luflosi ];
|
||||
};
|
||||
}
|
|
@ -1153,6 +1153,8 @@ in
|
|||
|
||||
arduino-mk = callPackage ../development/arduino/arduino-mk {};
|
||||
|
||||
apio = python3Packages.callPackage ../development/tools/misc/apio { };
|
||||
|
||||
apitrace = libsForQt514.callPackage ../applications/graphics/apitrace {};
|
||||
|
||||
argtable = callPackage ../development/libraries/argtable { };
|
||||
|
|
Loading…
Reference in a new issue