{ lib, stdenv, fetchPypi, buildPythonPackage, pythonOlder, isPy3k , pyperclip, six, pyparsing, vim, wcwidth, colorama, attrs , contextlib2 ? null, typing ? null, setuptools-scm , pytest, mock ? null, pytest-mock , which, glibcLocales }: buildPythonPackage rec { pname = "cmd2"; version = "1.5.0"; src = fetchPypi { inherit pname version; sha256 = "701a8c9975c4abc45e5d13906ab149f959f812869106347323a3f89ac0e82a62"; }; LC_ALL="en_US.UTF-8"; postPatch = lib.optional stdenv.isDarwin '' # Fake the impure dependencies pbpaste and pbcopy mkdir bin echo '#!${stdenv.shell}' > bin/pbpaste echo '#!${stdenv.shell}' > bin/pbcopy chmod +x bin/{pbcopy,pbpaste} export PATH=$(realpath bin):$PATH ''; disabled = !isPy3k; buildInputs = [ setuptools-scm ]; propagatedBuildInputs = [ colorama pyperclip six pyparsing wcwidth attrs ] ++ lib.optionals (pythonOlder "3.5") [contextlib2 typing] ; doCheck = !stdenv.isDarwin; # pytest-cov # argcomplete will generate errors checkInputs= [ pytest mock which vim glibcLocales pytest-mock ] ++ lib.optional (pythonOlder "3.6") [ mock ]; checkPhase = '' # test_path_completion_user_expansion might be fixed in the next release py.test -k 'not test_path_completion_user_expansion' ''; meta = with lib; { description = "Enhancements for standard library's cmd module"; homepage = "https://github.com/python-cmd2/cmd2"; maintainers = with maintainers; [ teto ]; }; }