about summary refs log tree commit diff
path: root/pkgs/development/python-modules/soco
diff options
context:
space:
mode:
authorBernardo Meurer <bernardo@meurer.org>2021-02-28 20:13:04 -0800
committerBernardo Meurer <bernardo@meurer.org>2021-02-28 20:13:04 -0800
commitee06463b2a4e54c8a8ce01a5bc6e0ca1018dbc5b (patch)
treebbd381ffa96ee20263af1774c59558042f7a83dd /pkgs/development/python-modules/soco
parenta48cf5c9ad7ad8159992ab601d7ab6fd86436fbf (diff)
python3Packages.soco: 0.21.2 -> 0.21.2
Diffstat (limited to 'pkgs/development/python-modules/soco')
-rw-r--r--pkgs/development/python-modules/soco/default.nix28
1 files changed, 22 insertions, 6 deletions
diff --git a/pkgs/development/python-modules/soco/default.nix b/pkgs/development/python-modules/soco/default.nix
index e203dc1c7aa54..e86144dff04dc 100644
--- a/pkgs/development/python-modules/soco/default.nix
+++ b/pkgs/development/python-modules/soco/default.nix
@@ -1,12 +1,15 @@
 { buildPythonPackage
-, coveralls
 , fetchFromGitHub
-, flake8
+, fetchpatch
 , graphviz
+, ifaddr
+, isPy27
 , lib
 , mock
+, nix-update-script
 , pytestCheckHook
 , requests
+, requests-mock
 , sphinx
 , sphinx_rtd_theme
 , toml
@@ -15,7 +18,8 @@
 
 buildPythonPackage rec {
   pname = "soco";
-  version = "0.20";
+  version = "0.21.2";
+  disabled = isPy27;
 
   # N.B. We fetch from GitHub because the PyPI tarball doesn't contain the
   # required files to run the tests.
@@ -23,34 +27,46 @@ buildPythonPackage rec {
     owner = "SoCo";
     repo = "SoCo";
     rev = "v${version}";
-    sha256 = "0p87aw7wxgdjz0m0nqqcfvbn24hlbq1hh1zxdq2c0k2jcbmaj8zc";
+    sha256 = "sha256-CCgkzUkt9YqTJt9tPBLmYXW6ZuRoMDd7xahYmNXgfM0=";
   };
 
+  patches = [(fetchpatch {
+    url = "https://patch-diff.githubusercontent.com/raw/SoCo/SoCo/pull/811.patch";
+    sha256 = "sha256-GBd74c8zc25ROO411SZ9TTa+bi8yXJaaOQqY9FM1qj4=";
+  })];
+
   # N.B. These exist because:
   # 1. Upstream's pinning isn't well maintained, leaving dependency versions no
   #    longer in nixpkgs.
   # 2. There is no benefit for us to be running linting and coverage tests.
   postPatch = ''
     sed -i "/black/d" ./requirements-dev.txt
+    sed -i "/coveralls/d" ./requirements-dev.txt
+    sed -i "/flake8/d" ./requirements-dev.txt
     sed -i "/pylint/d" ./requirements-dev.txt
     sed -i "/pytest-cov/d" ./requirements-dev.txt
   '';
 
   propagatedBuildInputs = [
+    ifaddr
     requests
     toml
     xmltodict
   ];
+
   checkInputs = [
     pytestCheckHook
-    coveralls
-    flake8
     graphviz
     mock
+    requests-mock
     sphinx
     sphinx_rtd_theme
   ];
 
+  passthru.updateScript = nix-update-script {
+    attrPath = "python3Packages.${pname}";
+  };
+
   meta = with lib; {
     homepage = "http://python-soco.com/";
     description = "A CLI and library to control Sonos speakers";