diff --git a/pkgs/development/python-modules/XlsxWriter/default.nix b/pkgs/development/python-modules/XlsxWriter/default.nix index 077be5321c7..99da64268ee 100644 --- a/pkgs/development/python-modules/XlsxWriter/default.nix +++ b/pkgs/development/python-modules/XlsxWriter/default.nix @@ -1,12 +1,17 @@ -{lib, buildPythonPackage, fetchPypi}: +{lib, buildPythonPackage, fetchFromGitHub}: buildPythonPackage rec { + pname = "XlsxWriter"; version = "1.1.5"; - src = fetchPypi { - inherit pname version; - sha256 = "de9ef46088489915eaaee00c7088cff93cf613e9990b46b933c98eb46f21b47f"; + # PyPI release tarball doesn't contain tests so let's use GitHub. See: + # https://github.com/jmcnamara/XlsxWriter/issues/327 + src = fetchFromGitHub{ + owner = "jmcnamara"; + repo = pname; + rev = "RELEASE_${version}"; + sha256 = "13250y53mr0pki93sqscy2bx01fxh6b6wvvj6m95ky0wqrrbmg39"; }; meta = { @@ -15,4 +20,5 @@ buildPythonPackage rec { maintainers = with lib.maintainers; [ jluttine ]; license = lib.licenses.bsd2; }; + } diff --git a/pkgs/development/python-modules/can/default.nix b/pkgs/development/python-modules/can/default.nix index dadd55ab040..8e6c9044121 100644 --- a/pkgs/development/python-modules/can/default.nix +++ b/pkgs/development/python-modules/can/default.nix @@ -1,29 +1,37 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub +, pythonOlder , wrapt +, typing , pyserial , nose , mock +, hypothesis +, future , pytest , pytest-timeout }: buildPythonPackage rec { pname = "python-can"; - version = "3.0.0"; + version = "3.1.0"; - src = fetchPypi { - inherit pname version; - sha256 = "0d2ddb3b663af51b11a4c7fb7a577c63302a831986239f82bb6af65efc065b07"; + # PyPI tarball is missing some tests and is missing __init__.py in test + # directory causing the tests to fail. See: + # https://github.com/hardbyte/python-can/issues/518 + src = fetchFromGitHub { + repo = pname; + owner = "hardbyte"; + rev = "v${version}"; + sha256 = "01lfsh7drm4qvv909x9i0vnhskdh27mcb5xa86sv9m3zfpq8cjis"; }; - propagatedBuildInputs = [ wrapt pyserial ]; - checkInputs = [ nose mock pytest pytest-timeout ]; + propagatedBuildInputs = [ wrapt pyserial ] ++ lib.optional (pythonOlder "3.5") typing; + checkInputs = [ nose mock pytest pytest-timeout hypothesis future ]; + # Add the scripts to PATH checkPhase = '' - pytest -k "not test_writer_and_reader \ - and not test_reader \ - and not test_socketcan_on_ci_server" + PATH=$out/bin:$PATH pytest -c /dev/null ''; meta = with lib; {