about summary refs log tree commit diff
path: root/pkgs/applications/misc/octoprint
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2017-03-21 17:31:08 +0300
committerNikolay Amiantov <ab@fmap.me>2017-03-21 20:22:27 +0300
commitd3e2957c90ee172f53f7ad34c4da1c6380c8f4c8 (patch)
tree355e02bf6e48538a0f57bcab00c5b0c8d4090877 /pkgs/applications/misc/octoprint
parent6f884349e64220a5080e595c624a900b40252396 (diff)
downloadnixlib-d3e2957c90ee172f53f7ad34c4da1c6380c8f4c8.tar
nixlib-d3e2957c90ee172f53f7ad34c4da1c6380c8f4c8.tar.gz
nixlib-d3e2957c90ee172f53f7ad34c4da1c6380c8f4c8.tar.bz2
nixlib-d3e2957c90ee172f53f7ad34c4da1c6380c8f4c8.tar.lz
nixlib-d3e2957c90ee172f53f7ad34c4da1c6380c8f4c8.tar.xz
nixlib-d3e2957c90ee172f53f7ad34c4da1c6380c8f4c8.tar.zst
nixlib-d3e2957c90ee172f53f7ad34c4da1c6380c8f4c8.zip
octoprint: 1.3.1 -> 1.3.2
Fix startup wizard and cleanup dependencies.
Diffstat (limited to 'pkgs/applications/misc/octoprint')
-rw-r--r--pkgs/applications/misc/octoprint/default.nix107
1 files changed, 53 insertions, 54 deletions
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index e5c35c5290d6..661f8dfe48f0 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -1,101 +1,100 @@
-{ stdenv, fetchFromGitHub, pythonPackages, fetchurl }:
+{ stdenv, fetchFromGitHub, python2, fetchurl }:
 
 let
 
-  tornado_4_0_2 = pythonPackages.buildPythonPackage rec {
-    name = "tornado-${version}";
-    version = "4.0.2";
+  pythonPackages = python2.pkgs.override {
+    overrides = self: super: with self; {
+      backports_ssl_match_hostname = self.backports_ssl_match_hostname_3_4_0_2;
 
-    propagatedBuildInputs = with pythonPackages; [ backports_ssl_match_hostname_3_4_0_2 certifi ];
+      tornado = buildPythonPackage rec {
+        name = "tornado-${version}";
+        version = "4.0.2";
 
-    src = fetchurl {
-      url = "mirror://pypi/t/tornado/${name}.tar.gz";
-      sha256 = "1yhvn8i05lp3b1953majg48i8pqsyj45h34aiv59hrfvxcj5234h";
-    };
-  };
+        propagatedBuildInputs = [ backports_ssl_match_hostname certifi ];
 
-  sockjs-tornado = pythonPackages.buildPythonPackage rec {
-    name = "sockjs-tornado-${version}";
-    version = "1.0.3";
+        src = fetchurl {
+          url = "mirror://pypi/t/tornado/${name}.tar.gz";
+          sha256 = "1yhvn8i05lp3b1953majg48i8pqsyj45h34aiv59hrfvxcj5234h";
+        };
+      };
 
-    src = fetchurl {
-      url = "mirror://pypi/s/sockjs-tornado/${name}.tar.gz";
-      sha256 = "16cff40nniqsyvda1pb2j3b4zwmrw7y2g1vqq78lp20xpmhnwwkd";
-    };
+      flask_login = buildPythonPackage rec {
+        name = "Flask-Login-${version}";
+        version = "0.2.2";
 
-    # This is needed for compatibility with OctoPrint
-    propagatedBuildInputs = [ tornado_4_0_2 ];
-  };
+        src = fetchurl {
+          url = "mirror://pypi/F/Flask-Login/${name}.tar.gz";
+          sha256 = "09ygn0r3i3jz065a5psng6bhlsqm78msnly4z6x39bs48r5ww17p";
+        };
 
-  websocket_client = pythonPackages.buildPythonPackage rec {
-    name = "websocket_client-0.32.0";
+        propagatedBuildInputs = [ flask ];
+        buildInputs = [ nose ];
 
-    src = fetchurl {
-      url = "mirror://pypi/w/websocket-client/${name}.tar.gz";
-      sha256 = "cb3ab95617ed2098d24723e3ad04ed06c4fde661400b96daa1859af965bfe040";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [ six backports_ssl_match_hostname_3_4_0_2 unittest2 argparse ];
-  };
+        # No tests included
+        doCheck = false;
+      };
 
-  flask_login = pythonPackages.buildPythonPackage rec {
-    name = "Flask-Login-${version}";
-    version = "0.2.2";
+      jinja2 = buildPythonPackage rec {
+        pname = "Jinja2";
+        version = "2.8.1";
+        name = "${pname}-${version}";
 
-    src = fetchurl {
-      url = "mirror://pypi/F/Flask-Login/${name}.tar.gz";
-      sha256 = "09ygn0r3i3jz065a5psng6bhlsqm78msnly4z6x39bs48r5ww17p";
-    };
+        src = fetchurl {
+          url = "mirror://pypi/J/Jinja2/${name}.tar.gz";
+          sha256 = "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m";
+        };
 
-    propagatedBuildInputs = with pythonPackages; [ flask ];
+        propagatedBuildInputs = [ markupsafe ];
 
-    # FIXME
-    doCheck = false;
+        # No tests included
+        doCheck = false;
+      };
+    };
   };
 
 in pythonPackages.buildPythonApplication rec {
   name = "OctoPrint-${version}";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "foosel";
     repo = "OctoPrint";
     rev = version;
-    sha256 = "1av755agyym1k5ig9av0q9ysf26ldfixz82x73v3g47a1m28pxq9";
+    sha256 = "0wyrxi754xa111b88fqvaw2s5ib2a925dlrgym5mn93i027m50wk";
   };
 
   # We need old Tornado
   propagatedBuildInputs = with pythonPackages; [
     awesome-slugify flask_assets rsa requests2 pkginfo watchdog
-    semantic-version flask_principal werkzeug flaskbabel tornado_4_0_2
+    semantic-version flask_principal werkzeug flaskbabel tornado
     psutil pyserial flask_login netaddr markdown sockjs-tornado
     pylru pyyaml sarge feedparser netifaces click websocket_client
     scandir chainmap future
   ];
 
+  buildInputs = with pythonPackages; [ nose mock ddt ];
+
   # Jailbreak dependencies.
-  # Currently broken for new: tornado, pyserial, flask_login
   postPatch = ''
     sed -i \
-      -e 's,werkzeug>=[^"]*,werkzeug,g' \
-      -e 's,requests>=[^"]*,requests,g' \
       -e 's,pkginfo>=[^"]*,pkginfo,g' \
-      -e 's,semantic_version>=[^"]*,semantic_version,g' \
-      -e 's,psutil>=[^"]*,psutil,g' \
-      -e 's,Flask-Babel>=[^"]*,Flask-Babel,g' \
       -e 's,Flask-Principal>=[^"]*,Flask-Principal,g' \
-      -e 's,markdown>=[^"]*,markdown,g' \
-      -e 's,Flask-Assets>=[^"]*,Flask-Assets,g' \
+      -e 's,websocket-client>=[^"]*,websocket-client,g' \
+      -e 's,Click>=[^"]*,Click,g' \
       -e 's,rsa>=[^"]*,rsa,g' \
-      -e 's,PyYAML>=[^"]*,PyYAML,g' \
       -e 's,flask>=[^"]*,flask,g' \
-      -e 's,Click>=[^"]*,Click,g' \
-      -e 's,websocket-client>=[^"]*,websocket-client,g' \
+      -e 's,Flask-Babel>=[^"]*,Flask-Babel,g' \
+      -e 's,Flask-Assets>=[^"]*,Flask-Assets,g' \
+      -e 's,PyYAML>=[^"]*,PyYAML,g' \
       -e 's,scandir>=[^"]*,scandir,g' \
-      -e 's,Jinja2>=[^"]*,Jinja2,g' \
+      -e 's,werkzeug>=[^"]*,werkzeug,g' \
+      -e 's,psutil>=[^"]*,psutil,g' \
+      -e 's,requests>=[^"]*,requests,g' \
       setup.py
   '';
 
+  checkPhase = "nosetests";
+
   meta = with stdenv.lib; {
     homepage = "http://octoprint.org/";
     description = "The snappy web interface for your 3D printer";