nixpkgs/pkgs/development/arduino/ino/default.nix
Pavol Rusnak cf2a67fef3
pkgs/development: stdenv.lib -> lib
this takes care of the following folders in pkgs/development:
* arduino
* chez-modules
* go-packages
* guile-modules
* idris-modules
* perl-modules
* r-modules
* ruby-modules
2021-01-17 19:11:59 +01:00

47 lines
1.3 KiB
Nix

{ stdenv, lib, fetchurl, python2Packages, picocom
, avrdude, arduino-core }:
python2Packages.buildPythonApplication rec {
name = "ino-0.3.6";
namePrefix = "";
src = fetchurl {
url = "mirror://pypi/i/ino/${name}.tar.gz";
sha256 = "0k6lzfcn55favbj0w4afrvnmwyskf7bgzg9javv2ycvskp35srwv";
};
# TODO: add avrgcclibc, it must be rebuild with C++ support
propagatedBuildInputs = with python2Packages; [
arduino-core
avrdude
picocom
configobj
jinja2
pyserial
six
];
patchPhase = ''
echo "Patching Arduino distribution path"
sed -i 's@/usr/local/share/arduino@${arduino-core}/share/arduino@g' \
ino/environment.py
sed -i -e 's@argparse@@' -e 's@ordereddict@@' \
requirements.txt
sed -i -e 's@from ordereddict@from collections@' \
ino/environment.py ino/utils.py
# Patch the upload command so it uses the correct avrdude
substituteInPlace ino/commands/upload.py \
--replace "self.e['avrdude']" "'${avrdude}/bin/avrdude'" \
--replace "'-C', self.e['avrdude.conf']," ""
'';
meta = with lib; {
description = "Command line toolkit for working with Arduino hardware";
homepage = "http://inotool.org/";
license = licenses.mit;
maintainers = with maintainers; [ antono ];
platforms = platforms.linux;
};
}