diff --git a/pkgs/development/python-modules/wakeonlan/default.nix b/pkgs/development/python-modules/wakeonlan/default.nix index 86d405a33ef..340a407ab3f 100644 --- a/pkgs/development/python-modules/wakeonlan/default.nix +++ b/pkgs/development/python-modules/wakeonlan/default.nix @@ -1,26 +1,45 @@ -{ lib, fetchPypi, buildPythonPackage, setuptools_scm, pytest, mock }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, fetchpatch +, poetry-core +, pytestCheckHook +, pythonOlder +}: buildPythonPackage rec { pname = "wakeonlan"; - version = "1.1.6"; + version = "2.0.0"; + disabled = pythonOlder "3.6"; + format = "pyproject"; - src = fetchPypi { - inherit pname version; - sha256 = "5e6013a17004809e676c150689abd94bcc0f12a37ad3fbce1f6270968f95ffa9"; + src = fetchFromGitHub { + owner = "remcohaszing"; + repo = "pywakeonlan"; + rev = version; + sha256 = "0p9jyiv0adcymbnmbay72g9phlbhsr4kmrwxscbdjq81gcmxsi0y"; }; - postPatch = '' - substituteInPlace setup.py \ - --replace "setuptools-scm ~= 1.15.7" "setuptools-scm" - ''; + nativeBuildInputs = [ + poetry-core + ]; - checkInputs = [ pytest mock ]; + checkInputs = [ + pytestCheckHook + ]; - nativeBuildInputs = [ setuptools_scm ]; + patches = [ + # Switch to poetry-core, https://github.com/remcohaszing/pywakeonlan/pull/19 + (fetchpatch { + name = "switch-to-poetry-core.patch"; + url = "https://github.com/remcohaszing/pywakeonlan/commit/6aa5050ed94ef718dfcd0b946546b6a738f47ee3.patch"; + sha256 = "1xzj2464ziwm7bp05bzbjwjp9whmgp1py3isr41d92qvnil86vm6"; + }) + ]; - checkPhase = '' - py.test - ''; + pytestFlagsArray = [ "test_wakeonlan.py" ]; + + pythonImportsCheck = [ "wakeonlan" ]; meta = with lib; { description = "A small python module for wake on lan";