From d5528e39792680467e31d5cef4e591e521ee5bcc Mon Sep 17 00:00:00 2001 From: Alex Whitt Date: Tue, 10 Mar 2020 08:42:31 -0400 Subject: [PATCH] octoprint: 1.3.12 -> 1.4.0, use python3 --- pkgs/applications/misc/octoprint/default.nix | 73 +++++++++----------- 1 file changed, 34 insertions(+), 39 deletions(-) diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix index 29a04627bef..9d7874e9010 100644 --- a/pkgs/applications/misc/octoprint/default.nix +++ b/pkgs/applications/misc/octoprint/default.nix @@ -1,5 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, python2 }: - +{ stdenv, lib, fetchFromGitHub, python3 }: let mkOverride = attrname: version: sha256: self: super: { @@ -11,11 +10,11 @@ let }); }; - py = python2.override { + py = python3.override { packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([ - (mkOverride "flask" "0.10.1" "0wrkavjdjndknhp8ya8j850jq7a1cli4g5a93mg8nh1xz2gq50sc") - (mkOverride "flask_login" "0.2.11" "1rg3rsjs1gwi2pw6vr9jmhaqm9b3vc9c4hfcsvp4y8agbh7g3mc3") + (mkOverride "flask" "0.12.5" "fac2b9d443e49f7e7358a444a3db5950bdd0324674d92ba67f8f1f15f876b14f") (mkOverride "tornado" "4.5.3" "02jzd23l4r6fswmwxaica9ldlyc2p6q8dk6dyff7j58fmdzf853d") + (mkOverride "psutil" "5.6.7" "ffad8eb2ac614518bbe3c0b8eb9dffdb3a8d2e3a7d5da51c5b974fb723a5c5aa") # Octoprint holds back jinja2 to 2.8.1 due to breaking changes. # This old version does not have updated test config for pytest 4, @@ -29,57 +28,44 @@ let }; doCheck = false; }); + + httpretty = psuper.httpretty.overridePythonAttrs (oldAttrs: rec { + doCheck = false; + }); + + celery = psuper.celery.overridePythonAttrs (oldAttrs: rec { + doCheck = false; + }); }) ]); }; ignoreVersionConstraints = [ - "Click" - "Flask-Assets" - "Flask-Babel" - "Flask-Principal" - "emoji" - "flask" - "future" - "futures" - "monotonic" - "markdown" - "pkginfo" - "psutil" - "pyserial" - "requests" - "rsa" - "sarge" - "scandir" - "semantic_version" - "watchdog" - "websocket-client" - "wrapt" "sentry-sdk" - "werkzeug" # 0.16 just deprecates some stuff ]; -in py.pkgs.buildPythonApplication rec { +in +py.pkgs.buildPythonApplication rec { pname = "OctoPrint"; - version = "1.3.12"; + version = "1.4.0"; src = fetchFromGitHub { owner = "foosel"; repo = "OctoPrint"; rev = version; - sha256 = "1lmqssgwjyhknjf3x58g7cr0fqz7fs5a3rl07r69wfpch63ranyd"; + sha256 = "1zla1ayr62lkvkr828dh3y287rzj3rv1hpij9kws44ynn4i582ga"; }; propagatedBuildInputs = with py.pkgs; [ - awesome-slugify flask_assets rsa requests pkginfo watchdog - semantic-version flask_principal werkzeug flaskbabel tornado - psutil pyserial flask_login netaddr markdown sockjs-tornado + awesome-slugify flask flask_assets rsa requests pkginfo watchdog + semantic-version werkzeug flaskbabel tornado + psutil pyserial flask_login netaddr markdown pylru pyyaml sarge feedparser netifaces click websocket_client - scandir chainmap future futures wrapt monotonic emoji - frozendict cachelib sentry-sdk typing filetype + scandir chainmap future wrapt monotonic emoji jinja2 + frozendict cachelib sentry-sdk filetype markupsafe ] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ]; - checkInputs = with py.pkgs; [ nose mock ddt ]; + checkInputs = with py.pkgs; [ pytestCheckHook mock ddt ]; postPatch = '' sed -r -i \ @@ -89,14 +75,23 @@ in py.pkgs.buildPythonApplication rec { setup.py ''; - checkPhase = '' - HOME=$(mktemp -d) nosetests ${lib.optionalString stdenv.isDarwin "--exclude=test_set_external_modification"} + dontUseSetuptoolsCheck = true; + + preCheck = '' + export HOME=$(mktemp -d) + rm pytest.ini ''; + disabledTests = [ + "test_check_setup" # Why should it be able to call pip? + ] ++ lib.optionals stdenv.isDarwin [ + "test_set_external_modification" + ]; + meta = with stdenv.lib; { homepage = https://octoprint.org/; description = "The snappy web interface for your 3D printer"; license = licenses.agpl3; - maintainers = with maintainers; [ abbradar gebner ]; + maintainers = with maintainers; [ abbradar gebner WhittlesJr ]; }; }