Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchFromGitHub, cmake, bison, flex, libusb-compat-0_1, libelf
2, libftdi1, readline
3# documentation building is broken on darwin
4, docSupport ? (!stdenv.isDarwin), texlive, texinfo, texi2html, unixtools }:
5
6stdenv.mkDerivation rec {
7 pname = "avrdude";
8 version = "7.1";
9
10 src = fetchFromGitHub {
11 owner = "avrdudes";
12 repo = pname;
13 rev = "v${version}";
14 sha256 = "sha256-pGjOefWnf11kG/zFGwYGet1OjAhKsULNGgh6vqvIQ7c=";
15 };
16
17 nativeBuildInputs = [ cmake bison flex ] ++ lib.optionals docSupport [
18 unixtools.more
19 texlive.combined.scheme-medium
20 texinfo
21 texi2html
22 ];
23
24 buildInputs = [ libusb-compat-0_1 libelf libftdi1 readline ];
25
26 cmakeFlags = lib.optionals docSupport [
27 "-DBUILD_DOC=ON"
28 ];
29
30 meta = with lib; {
31 description = "Command-line tool for programming Atmel AVR microcontrollers";
32 longDescription = ''
33 AVRDUDE (AVR Downloader/UploaDEr) is an utility to
34 download/upload/manipulate the ROM and EEPROM contents of AVR
35 microcontrollers using the in-system programming technique (ISP).
36 '';
37 homepage = "https://www.nongnu.org/avrdude/";
38 license = licenses.gpl2Plus;
39 platforms = with platforms; linux ++ darwin;
40 maintainers = [ maintainers.bjornfor ];
41 };
42}