diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/soco/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/soco/default.nix | 57 |
1 files changed, 44 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/soco/default.nix b/nixpkgs/pkgs/development/python-modules/soco/default.nix index b56e43e13219..e203dc1c7aa5 100644 --- a/nixpkgs/pkgs/development/python-modules/soco/default.nix +++ b/nixpkgs/pkgs/development/python-modules/soco/default.nix @@ -1,29 +1,60 @@ -{ lib, buildPythonPackage, fetchPypi, xmltodict, requests -, toml - -# Test dependencies -, pytest, pytestcov, coveralls, pylint, flake8, graphviz, mock, sphinx +{ buildPythonPackage +, coveralls +, fetchFromGitHub +, flake8 +, graphviz +, lib +, mock +, pytestCheckHook +, requests +, sphinx , sphinx_rtd_theme +, toml +, xmltodict }: buildPythonPackage rec { pname = "soco"; - version = "0.19"; + version = "0.20"; - src = fetchPypi { - inherit pname version; - sha256 = "0dgca286vhrabm4r4jj545k895z6w2c70ars06vrjhf9cpgg7qck"; + # N.B. We fetch from GitHub because the PyPI tarball doesn't contain the + # required files to run the tests. + src = fetchFromGitHub { + owner = "SoCo"; + repo = "SoCo"; + rev = "v${version}"; + sha256 = "0p87aw7wxgdjz0m0nqqcfvbn24hlbq1hh1zxdq2c0k2jcbmaj8zc"; }; - propagatedBuildInputs = [ xmltodict requests toml ]; + # 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 "/pylint/d" ./requirements-dev.txt + sed -i "/pytest-cov/d" ./requirements-dev.txt + ''; + + propagatedBuildInputs = [ + requests + toml + xmltodict + ]; checkInputs = [ - pytest pytestcov coveralls pylint flake8 graphviz mock sphinx + pytestCheckHook + coveralls + flake8 + graphviz + mock + sphinx sphinx_rtd_theme ]; - meta = { + meta = with lib; { homepage = "http://python-soco.com/"; description = "A CLI and library to control Sonos speakers"; - license = lib.licenses.mit; + license = licenses.mit; + maintainers = with maintainers; [ lovesegfault ]; }; } |