about summary refs log tree commit diff
path: root/pkgs/development/embedded/arduino/arduino-core/chrootenv.nix
blob: a97fa50aebf2c294ff3acc54e80072d725aa1291 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ lib, buildFHSEnv, arduino-core-unwrapped, withGui ? false, withTeensyduino ? false }:
let
  arduino-unwrapped = arduino-core-unwrapped.override { inherit withGui withTeensyduino; };
in
buildFHSEnv {
  name = "arduino";

  targetPkgs =
    pkgs: (with pkgs; [
      ncurses
      arduino-unwrapped
      zlib
      (python3.withPackages (p: with p; [
        pyserial
      ]))
    ]);
  multiArch = false;

  extraInstallCommands = ''
    ${lib.optionalString withGui ''
      # desktop file
      mkdir -p $out/share/applications
      cp ${arduino-core-unwrapped.src}/build/linux/dist/desktop.template $out/share/applications/arduino.desktop
      substituteInPlace $out/share/applications/arduino.desktop \
        --replace '<BINARY_LOCATION>' "$out/bin/arduino" \
        --replace '<ICON_NAME>' "$out/share/arduino/icons/128x128/apps/arduino.png"
      # icon file
      mkdir -p $out/share/arduino
      cp -r ${arduino-core-unwrapped.src}/build/shared/icons $out/share/arduino
    ''}
  '';

  runScript = "arduino";

  meta = arduino-core-unwrapped.meta;
}