apio: init at 0.7.4

I use this package for programming a TinyFPGA BX. It will probably not work with FPGAs which are not TinyFPGA boards, without modification.
This commit is contained in:
Luflosi 2020-05-09 15:22:04 +02:00
parent f102bcee7d
commit db7aa804f5
No known key found for this signature in database
GPG key ID: 4E41E29EDCC345D0
2 changed files with 71 additions and 0 deletions

View 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 ];
};
}

View file

@ -1147,6 +1147,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 { };