about summary refs log tree commit diff
path: root/pkgs/applications/misc
diff options
context:
space:
mode:
authorflorian on nixos (Florian Brandes) <florian.brandes@posteo.de>2022-03-22 10:43:35 +0100
committerFlorian Brandes <florian.brandes@posteo.de>2022-04-29 07:59:51 +0200
commitcab2909b9af1f69c6aa1f12bc4c2e0e91570e2ca (patch)
tree2be155bc1c2976a397d731e34a2d76437828a981 /pkgs/applications/misc
parent95261182f06babd68d929316bf2d2776346ac04a (diff)
octoprint: 1.7.3 -> 1.8.0rc2
Signed-off-by: florian on nixos (Florian Brandes) <florian.brandes@posteo.de>
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r--pkgs/applications/misc/octoprint/default.nix230
1 files changed, 20 insertions, 210 deletions
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 1f4a318287a1c..1d5fe7c3e9faa 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -9,216 +9,26 @@
 , packageOverrides ? self: super: { }
 }:
 let
-  mkOverride = attrname: version: sha256:
-    self: super: {
-      ${attrname} = super.${attrname}.overridePythonAttrs (
-        oldAttrs: {
-          inherit version;
-          src = oldAttrs.src.override {
-            inherit version sha256;
-          };
-        }
-      );
-    };
 
   py = python3.override {
     self = py;
     packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) (
       [
-        # the following dependencies are non trivial to update since later versions introduce backwards incompatible
-        # changes that might affect plugins, or due to other observed problems
-        (mkOverride "click" "7.1.2" "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a")
-        (mkOverride "flask-babel" "1.0.0" "0gmb165vkwv5v7dxsxa2i3zhafns0fh938m2zdcrv4d8z5l099yn")
-        (mkOverride "itsdangerous" "1.1.0" "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19")
-        (mkOverride "jinja2" "2.11.3" "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6")
-        (mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
-        (mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
-
-        # black uses hash, not sha256 identifier. Newer black version requires newer click version
-        (
-          self: super: {
-            black = super.black.overridePythonAttrs (oldAttrs: rec {
-              version = "21.12b0";
-              src = oldAttrs.src.override {
-                inherit version;
-                hash = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM=";
-              };
-              doCheck = false;
-            });
-          }
-        )
-
-        # tests need network
-        (
-          self: super: {
-            curio = super.curio.overridePythonAttrs (oldAttrs: rec {
-              disabledTests = [
-                "test_timeout"
-                "test_ssl_outgoing"
-              ];
-            });
-          }
-        )
-
-        # tests need network
-        (
-          self: super: {
-            trio = super.trio.overridePythonAttrs (oldAttrs: rec {
-              disabledTests = [
-                "test_local_address_real"
-              ];
-              disabledTestPaths = [
-                "trio/tests/test_exports.py"
-                "trio/tests/test_socket.py"
-              ];
-            });
-          }
-        )
-
-        # Requires flask<2, cannot mkOverride because tests need to be disabled
-        (
-          self: super: {
-            flask = super.flask.overridePythonAttrs (oldAttrs: rec {
-              version = "1.1.4";
-              src = oldAttrs.src.override {
-                inherit version;
-                sha256 = "15ni4xlm57a15f5hipp8w0c9zba20179bvfns2392fiq1lcbdghg";
-              };
-              doCheck = false;
-            });
-          }
-        )
-
-        # Requires werkezug<2, cannot mkOverride because tests need to be disabled
-        (
-          self: super: {
-            werkzeug = super.werkzeug.overridePythonAttrs (oldAttrs: rec {
-              version = "1.0.1";
-              src = oldAttrs.src.override {
-                inherit version;
-                sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
-              };
-              doCheck = false;
-            });
-          }
-        )
-
-        # Requires unidecode>=0.04.14,<0.05. Upstream changed the source naming between releases
-        (
-          self: super: {
-            unidecode = super.unidecode.overridePythonAttrs (oldAttrs: rec {
-              version = "0.04.21";
-              src = fetchFromGitHub {
-                owner = "avian2";
-                repo = "unidecode";
-                rev = "release-${version}";
-                sha256 = "0p5bkibv0xm1265dlfrz3zq3k9bbx07gl8zyq8mvvb8hi7p5lifg";
-              };
-            });
-          }
-        )
-
-        # Requires websocket-client <1.0, >=0.57. Cannot do mkOverride b/c differing underscore/hyphen in pypi source name
-        (
-          self: super: {
-            websocket-client = super.websocket-client.overridePythonAttrs (
-              oldAttrs: rec {
-                version = "0.59.0";
-                src = oldAttrs.src.override {
-                  inherit version;
-                  sha256 = "0p0cz2mdissq7iw1n7jrmsfir0jfmgs1dvnpnrx477ffx9hbsxnk";
-                };
-                propagatedBuildInputs = with self; [
-                  six
-                  pysocks
-                ];
-                disabledTests = [
-                  "testConnect" # requires network access
-                ];
-              }
-            );
-          }
-        )
-
-        # Octoprint needs zeroconf >=0.24 <0.25. This can't be done via mkOverride, because in zeroconf 0.32
-        # the super package was migrated to fetchFromGitHub.
-        (
-          self: super: {
-            zeroconf = super.zeroconf.overrideAttrs (oldAttrs: rec {
-              version = "0.24.5";
-              src = super.fetchPypi {
-                inherit (oldAttrs) pname;
-                inherit version;
-                sha256 = "0jpgd0rk91si93857mjrizan5gc42kj1q4fi4160qgk68la88fl9";
-              };
-              pythonImportsCheck = [
-                "zeroconf"
-              ];
-              buildInputs = with self; [
-                pytestCheckHook
-                nose
-              ];
-              pytestFlagsArray = [ "zeroconf/test.py" ];
-            });
-          }
-        )
-
-        # Octoprint pulls in celery indirectly but has no support for the up-to-date releases
-        (
-          self: super: {
-            celery = super.celery.overrideAttrs (oldAttrs: rec {
-              version = "5.0.0";
-              src = oldAttrs.src.override {
-                inherit version;
-                hash = "sha256-MTkw/d3nA9jjcCmjBL+RQpzRGu72PFfebayp2Vjh8lU=";
-              };
-              disabledTestPaths = [
-                "t/unit/backends/test_mongodb.py"
-                "t/unit/backends/test_cassandra.py"
-              ];
-            });
-          }
-        )
-
-        # Octoprint would allow later sentry-sdk releases but not later click releases
-        (
-          self: super: {
-            sentry-sdk = super.sentry-sdk.overrideAttrs (oldAttrs: rec {
-              pname = "sentry-sdk";
-              version = "1.4.3";
-
-              src = fetchFromGitHub {
-                owner = "getsentry";
-                repo = "sentry-python";
-                rev = version;
-                sha256 = "sha256-vdE6eqELMM69CWHaNYhF0HMCTV3tQsJlMHAA96oCy8c=";
-              };
-              disabledTests = [
-                "test_apply_simulates_delivery_info"
-                "test_auto_enabling_integrations_catches_import_error"
-                "test_leaks"
-              ];
-              disabledTestPaths = [
-                # Don't test integrations
-                "tests/integrations"
-                # test crashes on aarch64
-                "tests/test_transport.py"
-              ];
-            });
-          }
-        )
-
-        # Octoprint fails due to a newly added test in pytest-httpbin
-        # see https://github.com/NixOS/nixpkgs/issues/159864
-        (
-          self: super: {
-            pytest-httpbin = super.pytest-httpbin.overridePythonAttrs (oldAttrs: rec {
-              disabledTests = [
-                "test_redirect_location_is_https_for_secure_server"
-              ];
-            });
-          }
-        )
+         (
+           self: super: {
+             sentry-sdk = super.sentry-sdk.overrideAttrs (oldAttrs: rec {
+               disabledTests = oldAttrs.disabledTests ++ lib.optionals (stdenv.buildPlatform != "x86_64-linux") [
+                 "test_leaks"
+               ];
+               disabledTestPaths = [
+                 # Don't test integrations
+                 "tests/integrations"
+                 # test crashes on aarch64
+                 "tests/test_transport.py"
+               ];
+             });
+           }
+         )
 
         # All test fail on aarch64
         (
@@ -313,14 +123,14 @@ let
           self: super: {
             octoprint-pisupport = self.buildPythonPackage rec {
               pname = "OctoPrint-PiSupport";
-              version = "2021.10.28";
+              version = "2022.3.1";
               format = "setuptools";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint-PiSupport";
                 rev = version;
-                sha256 = "01bpvv1sn3113fdpw6b90c2rj8lqay118x609yy64z9ccm93khl9";
+                sha256 = "fuDIvmz9u4f1Kptm6pd9TfQd9DVKiak4THUd66QpRO4=";
               };
 
               # requires octoprint itself during tests
@@ -333,13 +143,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.7.3";
+              version = "1.8.0rc2";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                sha256 = "sha256-U6g7WysHHOlZ4p5BM4tw3GGAxQmxv6ltYgAp1rO/eCg=";
+                sha256 = "sha256-0DX9xQ/yhrVPQD14DhGlIS7ikMJAF4p+uJaQ3MUcaKs=";
               };
 
               propagatedBuildInputs = with super; [
@@ -387,7 +197,7 @@ let
                 werkzeug
                 wrapt
                 zeroconf
-                zipstream-new
+                zipstream-ng
               ] ++ lib.optionals stdenv.isDarwin [
                 py.pkgs.appdirs
               ];