about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/python-modules/platformio/default.nix32
-rw-r--r--pkgs/development/python-modules/platformio/fix-searchpath.patch11
-rw-r--r--pkgs/top-level/python-packages.nix22
3 files changed, 44 insertions, 21 deletions
diff --git a/pkgs/development/python-modules/platformio/default.nix b/pkgs/development/python-modules/platformio/default.nix
new file mode 100644
index 000000000000..329da89bf723
--- /dev/null
+++ b/pkgs/development/python-modules/platformio/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, arrow, bottle, click_5, colorama
+, lockfile, pyserial, requests
+, semantic-version
+, isPy3k, isPyPy
+}:
+buildPythonPackage rec {
+  disabled = isPy3k || isPyPy;
+
+  pname = "platformio";
+  version="3.4.1";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1b4lba672l851sv1xwc320xbh46x7hx4ms6whc0k37hxkxj0nwm2";
+  };
+
+  propagatedBuildInputs =  [
+    arrow bottle click_5 colorama
+    lockfile pyserial requests semantic-version
+  ];
+
+  patches = [ ./fix-searchpath.patch ];
+
+  meta = with stdenv.lib; {
+    description = "An open source ecosystem for IoT development";
+    homepage = http://platformio.org;
+    maintainers = with maintainers; [ mog makefu ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/platformio/fix-searchpath.patch b/pkgs/development/python-modules/platformio/fix-searchpath.patch
new file mode 100644
index 000000000000..a215ffc7d614
--- /dev/null
+++ b/pkgs/development/python-modules/platformio/fix-searchpath.patch
@@ -0,0 +1,11 @@
+--- ./platformio/util.py-old	2017-09-29 01:20:08.174548250 +0200
++++ ./platformio/util.py	2017-09-29 01:19:48.410485308 +0200
+@@ -395,7 +395,7 @@
+                 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)
+ 
+ 
+ def get_serialports(filter_hwid=False):
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f7998e69f865..327af2fb3307 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -15611,27 +15611,7 @@ in {
   };
 
   pika-pool = callPackage ../development/python-modules/pika-pool { };
-
-  platformio =  buildPythonPackage rec {
-    name = "platformio-${version}";
-    version="2.10.3";
-
-    disabled = isPy3k || isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "https://pypi.python.org/packages/b7/a3/1d3a9d7bae91df1b607e0f31549ec3e0006f29484cc6a1431b3fe3c5b02e/platformio-2.10.3.tar.gz";
-      sha256 = "f3a646871f9baed05f336a32576edaab90abf0737d8adb54f2acb7bcad42a65f";
-     };
-
-     propagatedBuildInputs = with self; [ click_5 requests bottle pyserial lockfile colorama];
-
-     meta = with stdenv.lib; {
-     description = "An open source ecosystem for IoT development";
-     homepage = http://platformio.org;
-     maintainers = with maintainers; [ mog ];
-     license = licenses.asl20;
-     };
-  };
+  platformio = callPackage ../development/python-modules/platformio { };
 
   pylibconfig2 = buildPythonPackage rec {
     name = "pylibconfig2-${version}";