perlPackages.NetAsyncWebSocket: 0.13 -> 0.14 (#352432)
[NixPkgs.git] / pkgs / development / tools / simavr / default.nix
blob9a8dc3ef60e71c82cf36bec9dbae31b08fca76ff
2   lib,
3   stdenv,
4   makeSetupHook,
5   fetchFromGitHub,
6   libelf,
7   which,
8   pkg-config,
9   libglut,
10   avrgcc,
11   avrlibc,
12   libGLU,
13   libGL,
14   GLUT,
17 let
18   setupHookDarwin = makeSetupHook {
19     name = "darwin-avr-gcc-hook";
20     substitutions = {
21       darwinSuffixSalt = stdenv.cc.suffixSalt;
22       avrSuffixSalt = avrgcc.suffixSalt;
23     };
24   } ./setup-hook-darwin.sh;
26 stdenv.mkDerivation rec {
27   pname = "simavr";
28   version = "1.7";
30   src = fetchFromGitHub {
31     owner = "buserror";
32     repo = "simavr";
33     rev = "v${version}";
34     sha256 = "0njz03lkw5374x1lxrq08irz4b86lzj2hibx46ssp7zv712pq55q";
35   };
37   makeFlags = [
38     "DESTDIR=$(out)"
39     "PREFIX="
40     "AVR_ROOT=${avrlibc}/avr"
41     "SIMAVR_VERSION=${version}"
42     "AVR=avr-"
43   ];
45   nativeBuildInputs = [
46     which
47     pkg-config
48     avrgcc
49   ] ++ lib.optional stdenv.hostPlatform.isDarwin setupHookDarwin;
50   buildInputs = [
51     libelf
52     libglut
53     libGLU
54     libGL
55   ] ++ lib.optional stdenv.hostPlatform.isDarwin GLUT;
57   # remove forbidden references to $TMPDIR
58   preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
59     patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$out"/bin/*
60   '';
62   doCheck = true;
63   checkTarget = "-C tests run_tests";
65   meta = with lib; {
66     description = "Lean and mean Atmel AVR simulator";
67     mainProgram = "simavr";
68     homepage = "https://github.com/buserror/simavr";
69     license = licenses.gpl3;
70     platforms = platforms.unix;
71     maintainers = with maintainers; [ goodrone ];
72   };