summary refs log tree commit diff
path: root/pkgs/development/arduino
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2020-07-11 14:10:33 +0200
committerGitHub <noreply@github.com>2020-07-11 14:10:33 +0200
commit0057be6ebcb3fa1e80cf66e2167f5a82346983b2 (patch)
tree3a6e517f1f7892634ba08693ceb25495d2a66d2a /pkgs/development/arduino
parent785b558e66995caec34b912d1d67b3dbd9f1f157 (diff)
parent5ed47f34e429a6d6f62867729b9f033e8fca12f2 (diff)
downloadnixpkgs-0057be6ebcb3fa1e80cf66e2167f5a82346983b2.tar
nixpkgs-0057be6ebcb3fa1e80cf66e2167f5a82346983b2.tar.gz
nixpkgs-0057be6ebcb3fa1e80cf66e2167f5a82346983b2.tar.bz2
nixpkgs-0057be6ebcb3fa1e80cf66e2167f5a82346983b2.tar.lz
nixpkgs-0057be6ebcb3fa1e80cf66e2167f5a82346983b2.tar.xz
nixpkgs-0057be6ebcb3fa1e80cf66e2167f5a82346983b2.tar.zst
nixpkgs-0057be6ebcb3fa1e80cf66e2167f5a82346983b2.zip
Merge pull request #92000 from f4814/platformio-udev
platformio: Add udev rules to package output
Diffstat (limited to 'pkgs/development/arduino')
-rw-r--r--pkgs/development/arduino/platformio/chrootenv.nix13
-rw-r--r--pkgs/development/arduino/platformio/core.nix1
-rw-r--r--pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch14
3 files changed, 27 insertions, 1 deletions
diff --git a/pkgs/development/arduino/platformio/chrootenv.nix b/pkgs/development/arduino/platformio/chrootenv.nix
index 01a2fb873aa..62a1d190a00 100644
--- a/pkgs/development/arduino/platformio/chrootenv.nix
+++ b/pkgs/development/arduino/platformio/chrootenv.nix
@@ -1,4 +1,4 @@
-{ lib, buildFHSUserEnv }:
+{ lib, buildFHSUserEnv, fetchFromGitHub }:
 
 let
   pio-pkgs = pkgs:
@@ -19,6 +19,14 @@ let
       platformio
     ]);
 
+  src = fetchFromGitHub {
+    owner = "platformio";
+    repo = "platformio-core";
+    rev = "v4.3.4";
+    sha256 = "0vf2j79319ypr4yrdmx84853igkb188sjfvlxgw06rlsvsm3kacq";
+  };
+
+
 in buildFHSUserEnv {
   name = "platformio";
 
@@ -34,7 +42,10 @@ in buildFHSUserEnv {
   };
 
   extraInstallCommands = ''
+    mkdir -p $out/lib/udev/rules.d
+
     ln -s $out/bin/platformio $out/bin/pio
+    ln -s ${src}/scripts/99-platformio-udev.rules $out/lib/udev/rules.d/99-platformio-udev.rules
   '';
 
   runScript = "platformio";
diff --git a/pkgs/development/arduino/platformio/core.nix b/pkgs/development/arduino/platformio/core.nix
index d83013dbbde..891d613da51 100644
--- a/pkgs/development/arduino/platformio/core.nix
+++ b/pkgs/development/arduino/platformio/core.nix
@@ -82,6 +82,7 @@ in buildPythonApplication rec {
   patches = [
     ./fix-searchpath.patch
     ./use-local-spdx-license-list.patch
+    ./missing-udev-rules-nixos.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch b/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch
new file mode 100644
index 00000000000..f29b93cef4d
--- /dev/null
+++ b/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch
@@ -0,0 +1,14 @@
+diff --git a/platformio/exception.py b/platformio/exception.py
+index d291ad7f..4761a35b 100644
+--- a/platformio/exception.py
++++ b/platformio/exception.py
+@@ -195,7 +195,8 @@ class MissedUdevRules(InvalidUdevRules):
+ 
+     MESSAGE = (
+         "Warning! Please install `99-platformio-udev.rules`. \nMode details: "
+-        "https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules"
++        "https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules\n"
++        "On NixOS add the platformio package to services.udev.packages"
+     )
+ 
+