about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/arduino
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-04-01 15:50:50 +0000
committerAlyssa Ross <hi@alyssa.is>2020-04-01 15:50:50 +0000
commit75eafe97f7df0d653bec67f3962214d7c357831f (patch)
tree09f2cc901e0e637876cbb78d192dfe2fcfef8156 /nixpkgs/pkgs/development/arduino
parenta53b121bf4331497da63df3b1b7f1a7897dad146 (diff)
parenta2e06fc3423c4be53181b15c28dfbe0bcf67dd73 (diff)
downloadnixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.gz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.bz2
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.lz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.xz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.zst
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.zip
Merge commit 'a2e06fc3423c4be53181b15c28dfbe0bcf67dd73'
Diffstat (limited to 'nixpkgs/pkgs/development/arduino')
-rw-r--r--nixpkgs/pkgs/development/arduino/arduino-core/default.nix6
-rw-r--r--nixpkgs/pkgs/development/arduino/platformio/core.nix33
-rw-r--r--nixpkgs/pkgs/development/arduino/platformio/fix-searchpath.patch16
-rw-r--r--nixpkgs/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch16
4 files changed, 54 insertions, 17 deletions
diff --git a/nixpkgs/pkgs/development/arduino/arduino-core/default.nix b/nixpkgs/pkgs/development/arduino/arduino-core/default.nix
index 840fbff60ebd..9849afb2c2df 100644
--- a/nixpkgs/pkgs/development/arduino/arduino-core/default.nix
+++ b/nixpkgs/pkgs/development/arduino/arduino-core/default.nix
@@ -3,7 +3,8 @@
 , withGui ? false, gtk2 ? null, withTeensyduino ? false
   /* Packages needed for Teensyduino */
 , upx, fontconfig, xorg, gcc
-, atk, glib, pango, gdk-pixbuf, libpng12, expat, freetype,
+, atk, glib, pango, gdk-pixbuf, libpng12, expat, freetype
+, cairo, udev
 }:
 
 assert withGui -> gtk2 != null;
@@ -32,6 +33,7 @@ let
 
   teensy_libpath = stdenv.lib.makeLibraryPath [
     atk
+    cairo
     expat
     fontconfig
     freetype
@@ -42,11 +44,13 @@ let
     libpng12
     libusb
     pango
+    udev
     xorg.libSM
     xorg.libX11
     xorg.libXext
     xorg.libXft
     xorg.libXinerama
+    xorg.libXxf86vm
     zlib
   ];
   teensy_architecture =
diff --git a/nixpkgs/pkgs/development/arduino/platformio/core.nix b/nixpkgs/pkgs/development/arduino/platformio/core.nix
index bfe216c6ad39..7beb2cba9c50 100644
--- a/nixpkgs/pkgs/development/arduino/platformio/core.nix
+++ b/nixpkgs/pkgs/development/arduino/platformio/core.nix
@@ -1,8 +1,9 @@
-{ stdenv, lib, buildPythonApplication, fetchFromGitHub
-, bottle, click, colorama
+{ stdenv, lib, buildPythonApplication, fetchFromGitHub, fetchpatch
+, bottle, click, colorama, semantic-version
 , lockfile, pyserial, requests
-, pytest, semantic-version, tox, tabulate
-, git
+, tabulate, pyelftools, marshmallow
+, pytest, tox, jsondiff
+, git, spdx-license-list-data
 }:
 
 let
@@ -39,6 +40,7 @@ let
     "test_pkgmanifest.py::test_packages"
   ]) ++ (map (e: "--ignore=tests/${e}") [
     "commands/test_boards.py"
+    "commands/test_check.py"
     "commands/test_platform.py"
     "commands/test_update.py"
     "test_maintenance.py"
@@ -47,25 +49,25 @@ let
 
 in buildPythonApplication rec {
   pname = "platformio";
-  version = "4.0.3";
+  version = "4.1.0";
 
   # pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
   src = fetchFromGitHub {
     owner = "platformio";
     repo = "platformio-core";
     rev = "v${version}";
-    sha256 = "1naaa53cc7n7zyqggqjvvgkcq8cyzngdf904y9ag0x1vvb70f8j9";
+    sha256 = "10v9jw1zjfqr3wl6kills3cfp0ky7xbm1gc3z0n57wrqbc6cmz95";
   };
 
   propagatedBuildInputs =  [
     bottle click colorama git lockfile
     pyserial requests semantic-version
-    tabulate
+    tabulate pyelftools marshmallow
   ];
 
   HOME = "/tmp";
 
-  checkInputs = [ pytest tox ];
+  checkInputs = [ pytest tox jsondiff ];
 
   checkPhase = ''
     runHook preCheck
@@ -75,7 +77,20 @@ in buildPythonApplication rec {
     runHook postCheck
   '';
 
-  patches = [ ./fix-searchpath.patch ];
+  patches = [
+    ./fix-searchpath.patch
+    (fetchpatch {
+      url = "https://github.com/platformio/platformio-core/commit/442a7e357636522e844d95375c246644b21a7802.patch";
+      sha256 = "0a3kj3k02237gr2yk30gpwc6vm04dsd1wxldj4dsbzs4a9yyi70m";
+      excludes = ["HISTORY.rst"];
+    })
+    ./use-local-spdx-license-list.patch
+  ];
+
+  postPatch = ''
+    substitute platformio/package/manifest/schema.py platformio/package/manifest/schema.py \
+      --subst-var-by SPDX_LICENSE_LIST_DATA '${spdx-license-list-data}'
+  '';
 
   meta = with stdenv.lib; {
     broken = stdenv.isAarch64;
diff --git a/nixpkgs/pkgs/development/arduino/platformio/fix-searchpath.patch b/nixpkgs/pkgs/development/arduino/platformio/fix-searchpath.patch
index 1570cae1b193..46e84d15a82f 100644
--- a/nixpkgs/pkgs/development/arduino/platformio/fix-searchpath.patch
+++ b/nixpkgs/pkgs/development/arduino/platformio/fix-searchpath.patch
@@ -1,11 +1,13 @@
---- ./platformio/proc.py-old	2017-09-29 01:20:08.174548250 +0200
-+++ ./platformio/proc.py	2017-09-29 01:19:48.410485308 +0200
-@@ -164,7 +164,7 @@
-                 isdir(join(p, "click")) or isdir(join(p, "platformio")))
+diff --git a/platformio/proc.py b/platformio/proc.py
+index 80e50201..15cee5a5 100644
+--- a/platformio/proc.py
++++ b/platformio/proc.py
+@@ -167,7 +167,7 @@ def copy_pythonpath_to_osenv():
+             conditions.append(isdir(join(p, "click")) or isdir(join(p, "platformio")))
          if all(conditions):
              _PYTHONPATH.append(p)
--    os.environ['PYTHONPATH'] = os.pathsep.join(_PYTHONPATH)
-+    os.environ['PYTHONPATH'] = os.pathsep.join(sys.path)
+-    os.environ["PYTHONPATH"] = os.pathsep.join(_PYTHONPATH)
++    os.environ["PYTHONPATH"] = os.pathsep.join(sys.path)
  
  
- def get_serialports(filter_hwid=False):
+ def where_is_program(program, envpath=None):
diff --git a/nixpkgs/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch b/nixpkgs/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch
new file mode 100644
index 000000000000..90251d668bc7
--- /dev/null
+++ b/nixpkgs/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch
@@ -0,0 +1,16 @@
+diff --git a/platformio/package/manifest/schema.py b/platformio/package/manifest/schema.py
+index f1d68e08..9b7b1da8 100644
+--- a/platformio/package/manifest/schema.py
++++ b/platformio/package/manifest/schema.py
+@@ -174,9 +174,5 @@ class ManifestSchema(Schema):
+     @staticmethod
+     @memoized(expire="1h")
+     def load_spdx_licenses():
+-        r = requests.get(
+-            "https://raw.githubusercontent.com/spdx/license-list-data"
+-            "/v3.7/json/licenses.json"
+-        )
+-        r.raise_for_status()
+-        return r.json()
++        import json
++        return json.load(open("@SPDX_LICENSE_LIST_DATA@/json/licenses.json"))